diff --git a/runtime/mem/gc/g1/g1-gc.cpp b/runtime/mem/gc/g1/g1-gc.cpp index afb90c9611343e873e9648eda50edfb5cff95873..ce850ef66e93a6b43ce354ad071b07f8b9f4deb5 100644 --- a/runtime/mem/gc/g1/g1-gc.cpp +++ b/runtime/mem/gc/g1/g1-gc.cpp @@ -2003,6 +2003,7 @@ bool G1GC::ShouldRunTenuredGC(const GCTask &task) template void G1GC::OnWaitForIdleFail() { + if (this->GetGCPhase() == GCPhase::GC_PHASE_MARK) { interrupt_concurrent_flag_ = true; if (this->GetSettings()->G1EnablePauseTimeGoal()) {