hotspot/src/share/vm/memory/genMarkSweep.cpp
changeset 360 21d113ecbf6a
parent 1 489c9b5090e2
child 971 f0b20be4165d
child 670 ddf3e9583f2f
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
    71 
    71 
    72   mark_sweep_phase3(level);
    72   mark_sweep_phase3(level);
    73 
    73 
    74   VALIDATE_MARK_SWEEP_ONLY(
    74   VALIDATE_MARK_SWEEP_ONLY(
    75     if (ValidateMarkSweep) {
    75     if (ValidateMarkSweep) {
    76       guarantee(_root_refs_stack->length() == 0,
    76       guarantee(_root_refs_stack->length() == 0, "should be empty by now");
    77                 "should be empty by now");
       
    78     }
    77     }
    79   )
    78   )
    80 
    79 
    81   mark_sweep_phase4();
    80   mark_sweep_phase4();
    82 
    81 
   163   int size = SystemDictionary::number_of_classes() * 2;
   162   int size = SystemDictionary::number_of_classes() * 2;
   164   _revisit_klass_stack = new (ResourceObj::C_HEAP) GrowableArray<Klass*>(size, true);
   163   _revisit_klass_stack = new (ResourceObj::C_HEAP) GrowableArray<Klass*>(size, true);
   165 
   164 
   166 #ifdef VALIDATE_MARK_SWEEP
   165 #ifdef VALIDATE_MARK_SWEEP
   167   if (ValidateMarkSweep) {
   166   if (ValidateMarkSweep) {
   168     _root_refs_stack    = new (ResourceObj::C_HEAP) GrowableArray<oop*>(100, true);
   167     _root_refs_stack    = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true);
   169     _other_refs_stack   = new (ResourceObj::C_HEAP) GrowableArray<oop*>(100, true);
   168     _other_refs_stack   = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true);
   170     _adjusted_pointers  = new (ResourceObj::C_HEAP) GrowableArray<oop*>(100, true);
   169     _adjusted_pointers  = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true);
   171     _live_oops          = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true);
   170     _live_oops          = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true);
   172     _live_oops_moved_to = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true);
   171     _live_oops_moved_to = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true);
   173     _live_oops_size     = new (ResourceObj::C_HEAP) GrowableArray<size_t>(100, true);
   172     _live_oops_size     = new (ResourceObj::C_HEAP) GrowableArray<size_t>(100, true);
   174   }
   173   }
   175   if (RecordMarkSweepCompaction) {
   174   if (RecordMarkSweepCompaction) {