src/hotspot/share/gc/z/zDriver.cpp
changeset 55603 3868dde58ebb
parent 55002 da9840e2f7da
child 57656 9429ecaee2e0
equal deleted inserted replaced
55602:73395f9cad54 55603:3868dde58ebb
    29 #include "gc/z/zDriver.hpp"
    29 #include "gc/z/zDriver.hpp"
    30 #include "gc/z/zHeap.inline.hpp"
    30 #include "gc/z/zHeap.inline.hpp"
    31 #include "gc/z/zMessagePort.inline.hpp"
    31 #include "gc/z/zMessagePort.inline.hpp"
    32 #include "gc/z/zServiceability.hpp"
    32 #include "gc/z/zServiceability.hpp"
    33 #include "gc/z/zStat.hpp"
    33 #include "gc/z/zStat.hpp"
       
    34 #include "gc/z/zVerify.hpp"
    34 #include "logging/log.hpp"
    35 #include "logging/log.hpp"
    35 #include "memory/universe.hpp"
    36 #include "memory/universe.hpp"
    36 #include "runtime/vmOperations.hpp"
    37 #include "runtime/vmOperations.hpp"
    37 #include "runtime/vmThread.hpp"
    38 #include "runtime/vmThread.hpp"
    38 
    39 
    83     }
    84     }
    84 
    85 
    85     // Setup GC id and active marker
    86     // Setup GC id and active marker
    86     GCIdMark gc_id_mark(_gc_id);
    87     GCIdMark gc_id_mark(_gc_id);
    87     IsGCActiveMark gc_active_mark;
    88     IsGCActiveMark gc_active_mark;
       
    89 
       
    90     // Verify roots
       
    91     ZVerify::roots_strong();
    88 
    92 
    89     // Execute operation
    93     // Execute operation
    90     _success = do_operation();
    94     _success = do_operation();
    91 
    95 
    92     // Update statistics
    96     // Update statistics
   299   ZHeap::heap()->reset_relocation_set();
   303   ZHeap::heap()->reset_relocation_set();
   300 }
   304 }
   301 
   305 
   302 void ZDriver::pause_verify() {
   306 void ZDriver::pause_verify() {
   303   if (VerifyBeforeGC || VerifyDuringGC || VerifyAfterGC) {
   307   if (VerifyBeforeGC || VerifyDuringGC || VerifyAfterGC) {
       
   308     // Full verification
   304     VM_Verify op;
   309     VM_Verify op;
       
   310     VMThread::execute(&op);
       
   311 
       
   312   } else if (ZVerifyRoots || ZVerifyObjects) {
       
   313     // Limited verification
       
   314     VM_ZVerifyOperation op;
   305     VMThread::execute(&op);
   315     VMThread::execute(&op);
   306   }
   316   }
   307 }
   317 }
   308 
   318 
   309 void ZDriver::concurrent_select_relocation_set() {
   319 void ZDriver::concurrent_select_relocation_set() {