Print this page


Split Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/thread.cpp
          +++ new/src/share/vm/runtime/thread.cpp
↓ open down ↓ 3375 lines elided ↑ open up ↑
3376 3376    HandleMark hm;
3377 3377  
3378 3378    { MutexLocker mu(Threads_lock);
3379 3379      Threads::add(main_thread);
3380 3380    }
3381 3381  
3382 3382    // Any JVMTI raw monitors entered in onload will transition into
3383 3383    // real raw monitor. VM is setup enough here for raw monitor enter.
3384 3384    JvmtiExport::transition_pending_onload_raw_monitors();
3385 3385  
3386      -  if (VerifyBeforeGC &&
3387      -      Universe::heap()->total_collections() >= VerifyGCStartAt) {
3388      -    Universe::heap()->prepare_for_verify();
3389      -    Universe::verify();   // make sure we're starting with a clean slate
3390      -  }
3391      -
3392 3386    // Fully start NMT
3393 3387    MemTracker::start();
3394 3388  
3395 3389    // Create the VMThread
3396 3390    { TraceTime timer("Start VMThread", TraceStartupTime);
3397 3391      VMThread::create();
3398 3392      Thread* vmthread = VMThread::vm_thread();
3399 3393  
3400 3394      if (!os::create_thread(vmthread, os::vm_thread))
3401 3395        vm_exit_during_initialization("Cannot create VM thread. Out of system resources.");
↓ open down ↓ 3 lines elided ↑ open up ↑
3405 3399      {
3406 3400        MutexLocker ml(Notify_lock);
3407 3401        os::start_thread(vmthread);
3408 3402        while (vmthread->active_handles() == NULL) {
3409 3403          Notify_lock->wait();
3410 3404        }
3411 3405      }
3412 3406    }
3413 3407  
3414 3408    assert (Universe::is_fully_initialized(), "not initialized");
     3409 +  if (VerifyBeforeGC && VerifyGCStartAt == 0) {
     3410 +    Universe::heap()->prepare_for_verify();
     3411 +    Universe::verify();   // make sure we're starting with a clean slate
     3412 +  }
     3413 +
3415 3414    EXCEPTION_MARK;
3416 3415  
3417 3416    // At this point, the Universe is initialized, but we have not executed
3418 3417    // any byte code.  Now is a good time (the only time) to dump out the
3419 3418    // internal state of the JVM for sharing.
3420 3419  
3421 3420    if (DumpSharedSpaces) {
3422 3421      Universe::heap()->preload_and_dump(CHECK_0);
3423 3422      ShouldNotReachHere();
3424 3423    }
↓ open down ↓ 1211 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX