src/hotspot/share/gc/serial/markSweep.hpp
changeset 57777 90ead0febf56
parent 53244 9807daeb47c4
child 57811 947252a54b98
equal deleted inserted replaced
57774:21dccfac0ec5 57777:90ead0febf56
    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();