diff -r d47555d7aca8 -r 2a1472c30599 src/share/vm/memory/genMarkSweep.cpp --- a/src/share/vm/memory/genMarkSweep.cpp Wed Mar 03 08:10:41 2010 -0800 +++ b/src/share/vm/memory/genMarkSweep.cpp Wed Mar 03 14:48:26 2010 -0800 @@ -159,6 +159,7 @@ _preserved_oop_stack = NULL; _marking_stack = new (ResourceObj::C_HEAP) GrowableArray(4000, true); + _objarray_stack = new (ResourceObj::C_HEAP) GrowableArray(50, true); int size = SystemDictionary::number_of_classes() * 2; _revisit_klass_stack = new (ResourceObj::C_HEAP) GrowableArray(size, true); @@ -194,7 +195,6 @@ void GenMarkSweep::deallocate_stacks() { - if (!UseG1GC) { GenCollectedHeap* gch = GenCollectedHeap::heap(); gch->release_scratch(); @@ -208,6 +208,7 @@ } delete _marking_stack; + delete _objarray_stack; delete _revisit_klass_stack; delete _revisit_mdo_stack;