equal
deleted
inserted
replaced
98 // Traversal stacks used during phase1 |
98 // Traversal stacks used during phase1 |
99 static Stack<oop, mtGC> _marking_stack; |
99 static Stack<oop, mtGC> _marking_stack; |
100 static Stack<ObjArrayTask, mtGC> _objarray_stack; |
100 static Stack<ObjArrayTask, mtGC> _objarray_stack; |
101 |
101 |
102 // Space for storing/restoring mark word |
102 // Space for storing/restoring mark word |
103 static Stack<markOop, mtGC> _preserved_mark_stack; |
103 static Stack<markWord, mtGC> _preserved_mark_stack; |
104 static Stack<oop, mtGC> _preserved_oop_stack; |
104 static Stack<oop, mtGC> _preserved_oop_stack; |
105 static size_t _preserved_count; |
105 static size_t _preserved_count; |
106 static size_t _preserved_count_max; |
106 static size_t _preserved_count_max; |
107 static PreservedMark* _preserved_marks; |
107 static PreservedMark* _preserved_marks; |
108 |
108 |
135 static void set_ref_processor(ReferenceProcessor* rp); |
135 static void set_ref_processor(ReferenceProcessor* rp); |
136 |
136 |
137 static STWGCTimer* gc_timer() { return _gc_timer; } |
137 static STWGCTimer* gc_timer() { return _gc_timer; } |
138 static SerialOldTracer* gc_tracer() { return _gc_tracer; } |
138 static SerialOldTracer* gc_tracer() { return _gc_tracer; } |
139 |
139 |
140 static void preserve_mark(oop p, markOop mark); |
140 static void preserve_mark(oop p, markWord mark); |
141 // Save the mark word so it can be restored later |
141 // Save the mark word so it can be restored later |
142 static void adjust_marks(); // Adjust the pointers in the preserved marks table |
142 static void adjust_marks(); // Adjust the pointers in the preserved marks table |
143 static void restore_marks(); // Restore the marks that we saved in preserve_mark |
143 static void restore_marks(); // Restore the marks that we saved in preserve_mark |
144 |
144 |
145 static int adjust_pointers(oop obj); |
145 static int adjust_pointers(oop obj); |
197 }; |
197 }; |
198 |
198 |
199 class PreservedMark { |
199 class PreservedMark { |
200 private: |
200 private: |
201 oop _obj; |
201 oop _obj; |
202 markOop _mark; |
202 markWord _mark; |
203 |
203 |
204 public: |
204 public: |
205 void init(oop obj, markOop mark) { |
205 void init(oop obj, markWord mark) { |
206 _obj = obj; |
206 _obj = obj; |
207 _mark = mark; |
207 _mark = mark; |
208 } |
208 } |
209 |
209 |
210 void adjust_pointer(); |
210 void adjust_pointer(); |