< prev index next >

src/hotspot/share/services/heapDumper.cpp

Print this page
*** 2259,15 ***
             "total number of Java frames not matched");
    }
  }
  
  bool VM_HeapDumper::doit_prologue() {
!   if (_gc_before_heap_dump && UseZGC) {
!     // ZGC cannot perform a synchronous GC cycle from within the VM thread.
!     // So ZCollectedHeap::collect_as_vm_thread() is a noop. To respect the
!     // _gc_before_heap_dump flag a synchronous GC cycle is performed from
-     // the caller thread in the prologue.
      Universe::heap()->collect(GCCause::_heap_dump);
    }
    return VM_GC_Operation::doit_prologue();
  }
  
--- 2259,14 ---
             "total number of Java frames not matched");
    }
  }
  
  bool VM_HeapDumper::doit_prologue() {
!   if (_gc_before_heap_dump && (UseZGC || UseShenandoahGC)) {
!     // ZGC and Shenandoah cannot perform a synchronous GC cycle from within the VM thread.
!     // So collect_as_vm_thread() is a noop. To respect the _gc_before_heap_dump flag a
!     // synchronous GC cycle is performed from the caller thread in the prologue.
      Universe::heap()->collect(GCCause::_heap_dump);
    }
    return VM_GC_Operation::doit_prologue();
  }
  
< prev index next >