src/share/vm/gc_implementation/g1/g1MarkSweep.cpp

changeset 2191
894b1d7c7e01
parent 1907
c18cbe5936b8
child 2314
f95d63e2154a
     1.1 --- a/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Tue Sep 28 09:51:37 2010 -0700
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Tue Sep 28 15:56:15 2010 -0700
     1.3 @@ -101,22 +101,6 @@
     1.4    GenMarkSweep::_preserved_count_max = 0;
     1.5    GenMarkSweep::_preserved_marks = NULL;
     1.6    GenMarkSweep::_preserved_count = 0;
     1.7 -  GenMarkSweep::_preserved_mark_stack = NULL;
     1.8 -  GenMarkSweep::_preserved_oop_stack = NULL;
     1.9 -
    1.10 -  GenMarkSweep::_marking_stack =
    1.11 -    new (ResourceObj::C_HEAP) GrowableArray<oop>(4000, true);
    1.12 -  GenMarkSweep::_objarray_stack =
    1.13 -    new (ResourceObj::C_HEAP) GrowableArray<ObjArrayTask>(50, true);
    1.14 -
    1.15 -  int size = SystemDictionary::number_of_classes() * 2;
    1.16 -  GenMarkSweep::_revisit_klass_stack =
    1.17 -    new (ResourceObj::C_HEAP) GrowableArray<Klass*>(size, true);
    1.18 -  // (#klass/k)^2 for k ~ 10 appears a better fit, but this will have to do
    1.19 -  // for now until we have a chance to work out a more optimal setting.
    1.20 -  GenMarkSweep::_revisit_mdo_stack =
    1.21 -    new (ResourceObj::C_HEAP) GrowableArray<DataLayout*>(size*2, true);
    1.22 -
    1.23  }
    1.24  
    1.25  void G1MarkSweep::mark_sweep_phase1(bool& marked_for_unloading,
    1.26 @@ -145,7 +129,7 @@
    1.27  
    1.28    // Follow system dictionary roots and unload classes
    1.29    bool purged_class = SystemDictionary::do_unloading(&GenMarkSweep::is_alive);
    1.30 -  assert(GenMarkSweep::_marking_stack->is_empty(),
    1.31 +  assert(GenMarkSweep::_marking_stack.is_empty(),
    1.32           "stack should be empty by now");
    1.33  
    1.34    // Follow code cache roots (has to be done after system dictionary,
    1.35 @@ -157,19 +141,19 @@
    1.36  
    1.37    // Update subklass/sibling/implementor links of live klasses
    1.38    GenMarkSweep::follow_weak_klass_links();
    1.39 -  assert(GenMarkSweep::_marking_stack->is_empty(),
    1.40 +  assert(GenMarkSweep::_marking_stack.is_empty(),
    1.41           "stack should be empty by now");
    1.42  
    1.43    // Visit memoized MDO's and clear any unmarked weak refs
    1.44    GenMarkSweep::follow_mdo_weak_refs();
    1.45 -  assert(GenMarkSweep::_marking_stack->is_empty(), "just drained");
    1.46 +  assert(GenMarkSweep::_marking_stack.is_empty(), "just drained");
    1.47  
    1.48  
    1.49    // Visit symbol and interned string tables and delete unmarked oops
    1.50    SymbolTable::unlink(&GenMarkSweep::is_alive);
    1.51    StringTable::unlink(&GenMarkSweep::is_alive);
    1.52  
    1.53 -  assert(GenMarkSweep::_marking_stack->is_empty(),
    1.54 +  assert(GenMarkSweep::_marking_stack.is_empty(),
    1.55           "stack should be empty by now");
    1.56  }
    1.57  

mercurial