< prev index next >

src/hotspot/share/gc/parallel/psCompactionManager.hpp

Print this page
rev 57190 : [mq]: shadow-regions.5
rev 57191 : [mq]: shadow-regions.5_to_6


 102   size_t _last_query_ret;
 103 
 104   static PSOldGen* old_gen()             { return _old_gen; }
 105   static ObjectStartArray* start_array() { return _start_array; }
 106   static OopTaskQueueSet* stack_array()  { return _stack_array; }
 107 
 108   static void initialize(ParMarkBitMap* mbm);
 109 
 110  protected:
 111   // Array of tasks.  Needed by the ParallelTaskTerminator.
 112   static RegionTaskQueueSet* region_array()      { return _region_array; }
 113   OverflowTaskQueue<oop, mtGC>*  marking_stack()       { return &_marking_stack; }
 114 
 115   // Pushes onto the marking stack.  If the marking stack is full,
 116   // pushes onto the overflow stack.
 117   void stack_push(oop obj);
 118   // Do not implement an equivalent stack_pop.  Deal with the
 119   // marking stack and overflow stack directly.
 120 
 121  public:

 122   static size_t  pop_shadow_region_mt_safe(PSParallelCompact::RegionData* region_ptr);
 123   static void    push_shadow_region_mt_safe(size_t shadow_region);
 124   static void    push_shadow_region(size_t shadow_region);
 125   static void    remove_all_shadow_regions();
 126 
 127   inline size_t  next_shadow_region() { return _next_shadow_region; }
 128   inline void    set_next_shadow_region(size_t record) { _next_shadow_region = record; }
 129   inline size_t  move_next_shadow_region_by(size_t workers) {
 130     _next_shadow_region += workers;
 131     return next_shadow_region();
 132   }
 133 
 134   void reset_bitmap_query_cache() {
 135     _last_query_beg = NULL;
 136     _last_query_obj = NULL;
 137     _last_query_ret = 0;
 138   }
 139 
 140   Action action() { return _action; }
 141   void set_action(Action v) { _action = v; }




 102   size_t _last_query_ret;
 103 
 104   static PSOldGen* old_gen()             { return _old_gen; }
 105   static ObjectStartArray* start_array() { return _start_array; }
 106   static OopTaskQueueSet* stack_array()  { return _stack_array; }
 107 
 108   static void initialize(ParMarkBitMap* mbm);
 109 
 110  protected:
 111   // Array of tasks.  Needed by the ParallelTaskTerminator.
 112   static RegionTaskQueueSet* region_array()      { return _region_array; }
 113   OverflowTaskQueue<oop, mtGC>*  marking_stack()       { return &_marking_stack; }
 114 
 115   // Pushes onto the marking stack.  If the marking stack is full,
 116   // pushes onto the overflow stack.
 117   void stack_push(oop obj);
 118   // Do not implement an equivalent stack_pop.  Deal with the
 119   // marking stack and overflow stack directly.
 120 
 121  public:
 122   static const size_t  InvalidShadow = ~0;
 123   static size_t  pop_shadow_region_mt_safe(PSParallelCompact::RegionData* region_ptr);
 124   static void    push_shadow_region_mt_safe(size_t shadow_region);
 125   static void    push_shadow_region(size_t shadow_region);
 126   static void    remove_all_shadow_regions();
 127 
 128   inline size_t  next_shadow_region() { return _next_shadow_region; }
 129   inline void    set_next_shadow_region(size_t record) { _next_shadow_region = record; }
 130   inline size_t  move_next_shadow_region_by(size_t workers) {
 131     _next_shadow_region += workers;
 132     return next_shadow_region();
 133   }
 134 
 135   void reset_bitmap_query_cache() {
 136     _last_query_beg = NULL;
 137     _last_query_obj = NULL;
 138     _last_query_ret = 0;
 139   }
 140 
 141   Action action() { return _action; }
 142   void set_action(Action v) { _action = v; }


< prev index next >