< prev index next >

src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.hpp

Print this page




 179 
 180   static bool steal(int queue_num, int* seed, oop& t) {
 181     return stack_array()->steal(queue_num, seed, t);
 182   }
 183 
 184   static bool steal_objarray(int queue_num, int* seed, ObjArrayTask& t) {
 185     return _objarray_queues->steal(queue_num, seed, t);
 186   }
 187 
 188   static bool steal(int queue_num, int* seed, size_t& region) {
 189     return region_array()->steal(queue_num, seed, region);
 190   }
 191 
 192   // Process tasks remaining on any marking stack
 193   void follow_marking_stacks();
 194   inline bool marking_stacks_empty() const;
 195 
 196   // Process tasks remaining on any stack
 197   void drain_region_stacks();
 198 




 199 };
 200 
 201 inline ParCompactionManager* ParCompactionManager::manager_array(int index) {
 202   assert(_manager_array != NULL, "access of NULL manager_array");
 203   assert(index >= 0 && index <= (int)ParallelGCThreads,
 204     "out of range manager_array access");
 205   return _manager_array[index];
 206 }
 207 
 208 bool ParCompactionManager::marking_stacks_empty() const {
 209   return _marking_stack.is_empty() && _objarray_stack.is_empty();
 210 }
 211 
 212 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_HPP


 179 
 180   static bool steal(int queue_num, int* seed, oop& t) {
 181     return stack_array()->steal(queue_num, seed, t);
 182   }
 183 
 184   static bool steal_objarray(int queue_num, int* seed, ObjArrayTask& t) {
 185     return _objarray_queues->steal(queue_num, seed, t);
 186   }
 187 
 188   static bool steal(int queue_num, int* seed, size_t& region) {
 189     return region_array()->steal(queue_num, seed, region);
 190   }
 191 
 192   // Process tasks remaining on any marking stack
 193   void follow_marking_stacks();
 194   inline bool marking_stacks_empty() const;
 195 
 196   // Process tasks remaining on any stack
 197   void drain_region_stacks();
 198 
 199   void follow_contents(oop obj);
 200   void follow_contents(objArrayOop array, int index);
 201 
 202   void update_contents(oop obj);
 203 };
 204 
 205 inline ParCompactionManager* ParCompactionManager::manager_array(int index) {
 206   assert(_manager_array != NULL, "access of NULL manager_array");
 207   assert(index >= 0 && index <= (int)ParallelGCThreads,
 208     "out of range manager_array access");
 209   return _manager_array[index];
 210 }
 211 
 212 bool ParCompactionManager::marking_stacks_empty() const {
 213   return _marking_stack.is_empty() && _objarray_stack.is_empty();
 214 }
 215 
 216 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSCOMPACTIONMANAGER_HPP
< prev index next >