--- a/src/hotspot/share/gc/z/zDriver.cpp Tue Jul 02 12:24:26 2019 +0200
+++ b/src/hotspot/share/gc/z/zDriver.cpp Mon Jun 10 13:04:12 2019 +0200
@@ -31,6 +31,7 @@
#include "gc/z/zMessagePort.inline.hpp"
#include "gc/z/zServiceability.hpp"
#include "gc/z/zStat.hpp"
+#include "gc/z/zVerify.hpp"
#include "logging/log.hpp"
#include "memory/universe.hpp"
#include "runtime/vmOperations.hpp"
@@ -86,6 +87,9 @@
GCIdMark gc_id_mark(_gc_id);
IsGCActiveMark gc_active_mark;
+ // Verify roots
+ ZVerify::roots_strong();
+
// Execute operation
_success = do_operation();
@@ -301,8 +305,14 @@
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);
}
}