comparison src/share/vm/gc_implementation/shared/markSweep.hpp @ 1836:894b1d7c7e01

6423256: GC stacks should use a better data structure 6942771: SEGV in ParScanThreadState::take_from_overflow_stack Reviewed-by: apetrusenko, ysr, pbk
author jcoomes
date Tue, 28 Sep 2010 15:56:15 -0700
parents c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1835:4805b9f4779e 1836:894b1d7c7e01
102 // 102 //
103 friend class AdjustPointerClosure; 103 friend class AdjustPointerClosure;
104 friend class KeepAliveClosure; 104 friend class KeepAliveClosure;
105 friend class VM_MarkSweep; 105 friend class VM_MarkSweep;
106 friend void marksweep_init(); 106 friend void marksweep_init();
107 friend class DataLayout;
108 107
109 // 108 //
110 // Vars 109 // Vars
111 // 110 //
112 protected: 111 protected:
113 // Traversal stacks used during phase1 112 // Traversal stacks used during phase1
114 static GrowableArray<oop>* _marking_stack; 113 static Stack<oop> _marking_stack;
115 static GrowableArray<ObjArrayTask>* _objarray_stack; 114 static Stack<ObjArrayTask> _objarray_stack;
116 // Stack for live klasses to revisit at end of marking phase 115 // Stack for live klasses to revisit at end of marking phase
117 static GrowableArray<Klass*>* _revisit_klass_stack; 116 static Stack<Klass*> _revisit_klass_stack;
118 // Set (stack) of MDO's to revisit at end of marking phase 117 // Set (stack) of MDO's to revisit at end of marking phase
119 static GrowableArray<DataLayout*>* _revisit_mdo_stack; 118 static Stack<DataLayout*> _revisit_mdo_stack;
120 119
121 // Space for storing/restoring mark word 120 // Space for storing/restoring mark word
122 static GrowableArray<markOop>* _preserved_mark_stack; 121 static Stack<markOop> _preserved_mark_stack;
123 static GrowableArray<oop>* _preserved_oop_stack; 122 static Stack<oop> _preserved_oop_stack;
124 static size_t _preserved_count; 123 static size_t _preserved_count;
125 static size_t _preserved_count_max; 124 static size_t _preserved_count_max;
126 static PreservedMark* _preserved_marks; 125 static PreservedMark* _preserved_marks;
127 126
128 // Reference processing (used in ...follow_contents) 127 // Reference processing (used in ...follow_contents)