< prev index next >

src/hotspot/share/gc/z/zDriver.cpp

Print this page

        

*** 85,96 **** // Setup GC id and active marker GCIdMark gc_id_mark(_gc_id); IsGCActiveMark gc_active_mark; ! // Verify roots ! ZVerify::roots_strong(); // Execute operation _success = do_operation(); // Update statistics --- 85,96 ---- // Setup GC id and active marker GCIdMark gc_id_mark(_gc_id); IsGCActiveMark gc_active_mark; ! // Verify before operation ! ZVerify::before_zoperation(); // Execute operation _success = do_operation(); // Update statistics
*** 209,218 **** --- 209,229 ---- ZHeap::heap()->relocate_start(); return true; } }; + class VM_ZVerify : public VM_Operation { + public: + virtual VMOp_Type type() const { + return VMOp_ZVerify; + } + + virtual void doit() { + ZVerify::after_weak_processing(); + } + }; + ZDriver::ZDriver() : _gc_cycle_port(), _gc_locker_port() { set_name("ZDriver"); create_and_start();
*** 306,319 **** void ZDriver::pause_verify() { if (VerifyBeforeGC || VerifyDuringGC || VerifyAfterGC) { // Full verification VM_Verify op; VMThread::execute(&op); - } else if (ZVerifyRoots || ZVerifyObjects) { // Limited verification ! VM_ZVerifyOperation op; VMThread::execute(&op); } } void ZDriver::concurrent_select_relocation_set() { --- 317,329 ---- void ZDriver::pause_verify() { if (VerifyBeforeGC || VerifyDuringGC || VerifyAfterGC) { // Full verification VM_Verify op; VMThread::execute(&op); } else if (ZVerifyRoots || ZVerifyObjects) { // Limited verification ! VM_ZVerify op; VMThread::execute(&op); } } void ZDriver::concurrent_select_relocation_set() {
< prev index next >