hotspot/src/share/vm/gc_implementation/shared/vmGCOperations.cpp
changeset 23540 06f7d6e1f654
parent 22796 bb0ea482a99e
child 25490 59f226da8d81
equal deleted inserted replaced
23539:6382fd0ea303 23540:06f7d6e1f654
    87 bool VM_GC_Operation::doit_prologue() {
    87 bool VM_GC_Operation::doit_prologue() {
    88   assert(Thread::current()->is_Java_thread(), "just checking");
    88   assert(Thread::current()->is_Java_thread(), "just checking");
    89   assert(((_gc_cause != GCCause::_no_gc) &&
    89   assert(((_gc_cause != GCCause::_no_gc) &&
    90           (_gc_cause != GCCause::_no_cause_specified)), "Illegal GCCause");
    90           (_gc_cause != GCCause::_no_cause_specified)), "Illegal GCCause");
    91 
    91 
       
    92   // To be able to handle a GC the VM initialization needs to be completed.
       
    93   if (!is_init_completed()) {
       
    94     vm_exit_during_initialization(
       
    95       err_msg("GC triggered before VM initialization completed. Try increasing "
       
    96               "NewSize, current value " UINTX_FORMAT "%s.",
       
    97               byte_size_in_proper_unit(NewSize),
       
    98               proper_unit_for_byte_size(NewSize)));
       
    99   }
       
   100 
    92   acquire_pending_list_lock();
   101   acquire_pending_list_lock();
    93   // If the GC count has changed someone beat us to the collection
   102   // If the GC count has changed someone beat us to the collection
    94   // Get the Heap_lock after the pending_list_lock.
   103   // Get the Heap_lock after the pending_list_lock.
    95   Heap_lock->lock();
   104   Heap_lock->lock();
    96 
   105