src/share/vm/runtime/thread.cpp
Print this page
@@ -3381,16 +3381,10 @@
// Any JVMTI raw monitors entered in onload will transition into
// real raw monitor. VM is setup enough here for raw monitor enter.
JvmtiExport::transition_pending_onload_raw_monitors();
- if (VerifyBeforeGC &&
- Universe::heap()->total_collections() >= VerifyGCStartAt) {
- Universe::heap()->prepare_for_verify();
- Universe::verify(); // make sure we're starting with a clean slate
- }
-
// Fully start NMT
MemTracker::start();
// Create the VMThread
{ TraceTime timer("Start VMThread", TraceStartupTime);
@@ -3410,10 +3404,15 @@
}
}
}
assert (Universe::is_fully_initialized(), "not initialized");
+ if (VerifyBeforeGC && VerifyGCStartAt == 0) {
+ Universe::heap()->prepare_for_verify();
+ Universe::verify(); // make sure we're starting with a clean slate
+ }
+
EXCEPTION_MARK;
// At this point, the Universe is initialized, but we have not executed
// any byte code. Now is a good time (the only time) to dump out the
// internal state of the JVM for sharing.