diff -r d47555d7aca8 -r 2a1472c30599 src/share/vm/gc_implementation/shared/markSweep.hpp --- a/src/share/vm/gc_implementation/shared/markSweep.hpp Wed Mar 03 08:10:41 2010 -0800 +++ b/src/share/vm/gc_implementation/shared/markSweep.hpp Wed Mar 03 14:48:26 2010 -0800 @@ -110,8 +110,9 @@ // Vars // protected: - // Traversal stack used during phase1 + // Traversal stacks used during phase1 static GrowableArray* _marking_stack; + static GrowableArray* _objarray_stack; // Stack for live klasses to revisit at end of marking phase static GrowableArray* _revisit_klass_stack; // Set (stack) of MDO's to revisit at end of marking phase @@ -188,6 +189,7 @@ template static inline void mark_and_follow(T* p); // Check mark and maybe push on marking stack template static inline void mark_and_push(T* p); + static inline void push_objarray(oop obj, size_t index); static void follow_stack(); // Empty marking stack.