comparison src/share/vm/runtime/thread.cpp @ 8855:24ef5fb05e0f

8010463: G1: Crashes with -UseTLAB and heap verification Summary: Some parts of the G1 heap can only be walked during a safepoint. Skip verifying these parts of the heap when verifying during JVM startup. Reviewed-by: brutisso, tschatzl
author johnc
date Fri, 29 Mar 2013 13:49:37 -0700
parents 499ccc15bbc8
children b9a918201d47 68fe50d4f1d5
comparison
equal deleted inserted replaced
8854:754c24457b20 8855:24ef5fb05e0f
3421 3421
3422 // Any JVMTI raw monitors entered in onload will transition into 3422 // Any JVMTI raw monitors entered in onload will transition into
3423 // real raw monitor. VM is setup enough here for raw monitor enter. 3423 // real raw monitor. VM is setup enough here for raw monitor enter.
3424 JvmtiExport::transition_pending_onload_raw_monitors(); 3424 JvmtiExport::transition_pending_onload_raw_monitors();
3425 3425
3426 if (VerifyBeforeGC &&
3427 Universe::heap()->total_collections() >= VerifyGCStartAt) {
3428 Universe::heap()->prepare_for_verify();
3429 Universe::verify(); // make sure we're starting with a clean slate
3430 }
3431
3432 // Fully start NMT 3426 // Fully start NMT
3433 MemTracker::start(); 3427 MemTracker::start();
3434 3428
3435 // Create the VMThread 3429 // Create the VMThread
3436 { TraceTime timer("Start VMThread", TraceStartupTime); 3430 { TraceTime timer("Start VMThread", TraceStartupTime);
3450 } 3444 }
3451 } 3445 }
3452 } 3446 }
3453 3447
3454 assert (Universe::is_fully_initialized(), "not initialized"); 3448 assert (Universe::is_fully_initialized(), "not initialized");
3449 if (VerifyBeforeGC && VerifyGCStartAt == 0) {
3450 Universe::heap()->prepare_for_verify();
3451 Universe::verify(); // make sure we're starting with a clean slate
3452 }
3453
3455 EXCEPTION_MARK; 3454 EXCEPTION_MARK;
3456 3455
3457 // At this point, the Universe is initialized, but we have not executed 3456 // At this point, the Universe is initialized, but we have not executed
3458 // any byte code. Now is a good time (the only time) to dump out the 3457 // any byte code. Now is a good time (the only time) to dump out the
3459 // internal state of the JVM for sharing. 3458 // internal state of the JVM for sharing.