< prev index next >

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

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


 217 //
 218 // This task is used to update the dense prefix
 219 // of a space.
 220 //
 221 
 222 class UpdateDensePrefixTask : public GCTask {
 223  private:
 224   PSParallelCompact::SpaceId _space_id;
 225   size_t _region_index_start;
 226   size_t _region_index_end;
 227 
 228  public:
 229   char* name() { return (char *)"update-dense_prefix-task"; }
 230 
 231   UpdateDensePrefixTask(PSParallelCompact::SpaceId space_id,
 232                         size_t region_index_start,
 233                         size_t region_index_end);
 234 
 235   virtual void do_it(GCTaskManager* manager, uint which);
 236 };
 237 
 238 //
 239 // DrainStacksCompactionTask
 240 //
 241 // This task processes regions that have been added to the stacks of each
 242 // compaction manager.
 243 //
 244 // Trying to use one draining thread does not work because there are no
 245 // guarantees about which task will be picked up by which thread.  For example,
 246 // if thread A gets all the preloaded regions, thread A may not get a draining
 247 // task (they may all be done by other threads).
 248 //
 249 
 250 class DrainStacksCompactionTask : public GCTask {
 251  uint _stack_index;
 252  uint stack_index() { return _stack_index; }
 253  public:
 254   DrainStacksCompactionTask(uint stack_index) : GCTask(),
 255                                                 _stack_index(stack_index) {};
 256   char* name() { return (char *)"drain-region-task"; }
 257   virtual void do_it(GCTaskManager* manager, uint which);
 258 };
 259 
 260 #endif // SHARE_VM_GC_PARALLEL_PCTASKS_HPP


 217 //
 218 // This task is used to update the dense prefix
 219 // of a space.
 220 //
 221 
 222 class UpdateDensePrefixTask : public GCTask {
 223  private:
 224   PSParallelCompact::SpaceId _space_id;
 225   size_t _region_index_start;
 226   size_t _region_index_end;
 227 
 228  public:
 229   char* name() { return (char *)"update-dense_prefix-task"; }
 230 
 231   UpdateDensePrefixTask(PSParallelCompact::SpaceId space_id,
 232                         size_t region_index_start,
 233                         size_t region_index_end);
 234 
 235   virtual void do_it(GCTaskManager* manager, uint which);
 236 };























 237 #endif // SHARE_VM_GC_PARALLEL_PCTASKS_HPP
< prev index next >