< prev index next >

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

Print this page
rev 10845 : 8150994: UseParallelGC fails with UseDynamicNumberOfGCThreads with specjbb2005
Reviewed-by:

@@ -77,35 +77,11 @@
   ObjArrayTaskQueue             _objarray_stack;
 
   // Is there a way to reuse the _marking_stack for the
   // saving empty regions?  For now just create a different
   // type of TaskQueue.
-  RegionTaskQueue*             _region_stack;
-
-  static RegionTaskQueue**     _region_list;
-  // Index in _region_list for current _region_stack.
-  uint _region_stack_index;
-
-  // Indexes of recycled region stacks/overflow stacks
-  // Stacks of regions to be compacted are embedded in the tasks doing
-  // the compaction.  A thread that executes the task extracts the
-  // region stack and drains it.  These threads keep these region
-  // stacks for use during compaction task stealing.  If a thread
-  // gets a second draining task, it pushed its current region stack
-  // index into the array _recycled_stack_index and gets a new
-  // region stack from the task.  A thread that is executing a
-  // compaction stealing task without ever having executing a
-  // draining task, will get a region stack from _recycled_stack_index.
-  //
-  // Array of indexes into the array of region stacks.
-  static uint*                    _recycled_stack_index;
-  // The index into _recycled_stack_index of the last region stack index
-  // pushed.  If -1, there are no entries into _recycled_stack_index.
-  static int                      _recycled_top;
-  // The index into _recycled_stack_index of the last region stack index
-  // popped.  If -1, there has not been any entry popped.
-  static int                      _recycled_bottom;
+  RegionTaskQueue              _region_stack;
 
   static ParMarkBitMap* _mark_bitmap;
 
   Action _action;
 

@@ -149,36 +125,19 @@
   void set_last_query_object(oop new_obj) { _last_query_obj = new_obj; }
   void set_last_query_return(size_t new_ret) { _last_query_ret = new_ret; }
 
   static void reset_all_bitmap_query_caches();
 
-  RegionTaskQueue* region_stack()                { return _region_stack; }
-  void set_region_stack(RegionTaskQueue* v)       { _region_stack = v; }
+  RegionTaskQueue* region_stack()                { return &_region_stack; }
 
   inline static ParCompactionManager* manager_array(uint index);
 
-  inline static RegionTaskQueue* region_list(int index) {
-    return _region_list[index];
-  }
-
-  uint region_stack_index() { return _region_stack_index; }
-  void set_region_stack_index(uint v) { _region_stack_index = v; }
-
-  // Pop and push unique reusable stack index
-  static int pop_recycled_stack_index();
-  static void push_recycled_stack_index(uint v);
-  static void reset_recycled_stack_index() {
-    _recycled_bottom = _recycled_top = -1;
-  }
-
   ParCompactionManager();
-  ~ParCompactionManager();
 
   // Pushes onto the region stack at the given index.  If the
   // region stack is full,
   // pushes onto the region overflow stack.
-  static void region_list_push(uint stack_index, size_t region_index);
   static void verify_region_list_empty(uint stack_index);
   ParMarkBitMap* mark_bitmap() { return _mark_bitmap; }
 
   // void drain_stacks();
 
< prev index next >