src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp

changeset 810
81cd571500b0
parent 631
d1605aabd0a1
child 1376
8b46c4d82093
child 1424
148e5441d916
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp	Tue Sep 30 11:49:31 2008 -0700
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp	Tue Sep 30 12:20:22 2008 -0700
     1.3 @@ -146,7 +146,7 @@
     1.4  {
     1.5    ParallelScavengeHeap* heap = PSParallelCompact::gc_heap();
     1.6    uint parallel_gc_threads = heap->gc_task_manager()->workers();
     1.7 -  ChunkTaskQueueSet* qset = ParCompactionManager::chunk_array();
     1.8 +  RegionTaskQueueSet* qset = ParCompactionManager::region_array();
     1.9    ParallelTaskTerminator terminator(parallel_gc_threads, qset);
    1.10    GCTaskQueue* q = GCTaskQueue::create();
    1.11    for(uint i=0; i<parallel_gc_threads; i++) {
    1.12 @@ -205,38 +205,38 @@
    1.13  }
    1.14  
    1.15  //
    1.16 -// StealChunkCompactionTask
    1.17 +// StealRegionCompactionTask
    1.18  //
    1.19  
    1.20  
    1.21 -StealChunkCompactionTask::StealChunkCompactionTask(ParallelTaskTerminator* t) :
    1.22 -  _terminator(t) {};
    1.23 +StealRegionCompactionTask::StealRegionCompactionTask(ParallelTaskTerminator* t):
    1.24 +  _terminator(t) {}
    1.25  
    1.26 -void StealChunkCompactionTask::do_it(GCTaskManager* manager, uint which) {
    1.27 +void StealRegionCompactionTask::do_it(GCTaskManager* manager, uint which) {
    1.28    assert(Universe::heap()->is_gc_active(), "called outside gc");
    1.29  
    1.30 -  NOT_PRODUCT(TraceTime tm("StealChunkCompactionTask",
    1.31 +  NOT_PRODUCT(TraceTime tm("StealRegionCompactionTask",
    1.32      PrintGCDetails && TraceParallelOldGCTasks, true, gclog_or_tty));
    1.33  
    1.34    ParCompactionManager* cm =
    1.35      ParCompactionManager::gc_thread_compaction_manager(which);
    1.36  
    1.37 -  // Has to drain stacks first because there may be chunks on
    1.38 +  // Has to drain stacks first because there may be regions on
    1.39    // preloaded onto the stack and this thread may never have
    1.40    // done a draining task.  Are the draining tasks needed?
    1.41  
    1.42 -  cm->drain_chunk_stacks();
    1.43 +  cm->drain_region_stacks();
    1.44  
    1.45 -  size_t chunk_index = 0;
    1.46 +  size_t region_index = 0;
    1.47    int random_seed = 17;
    1.48  
    1.49    // If we're the termination task, try 10 rounds of stealing before
    1.50    // setting the termination flag
    1.51  
    1.52    while(true) {
    1.53 -    if (ParCompactionManager::steal(which, &random_seed, chunk_index)) {
    1.54 -      PSParallelCompact::fill_and_update_chunk(cm, chunk_index);
    1.55 -      cm->drain_chunk_stacks();
    1.56 +    if (ParCompactionManager::steal(which, &random_seed, region_index)) {
    1.57 +      PSParallelCompact::fill_and_update_region(cm, region_index);
    1.58 +      cm->drain_region_stacks();
    1.59      } else {
    1.60        if (terminator()->offer_termination()) {
    1.61          break;
    1.62 @@ -249,11 +249,10 @@
    1.63  
    1.64  UpdateDensePrefixTask::UpdateDensePrefixTask(
    1.65                                     PSParallelCompact::SpaceId space_id,
    1.66 -                                   size_t chunk_index_start,
    1.67 -                                   size_t chunk_index_end) :
    1.68 -  _space_id(space_id), _chunk_index_start(chunk_index_start),
    1.69 -  _chunk_index_end(chunk_index_end)
    1.70 -{}
    1.71 +                                   size_t region_index_start,
    1.72 +                                   size_t region_index_end) :
    1.73 +  _space_id(space_id), _region_index_start(region_index_start),
    1.74 +  _region_index_end(region_index_end) {}
    1.75  
    1.76  void UpdateDensePrefixTask::do_it(GCTaskManager* manager, uint which) {
    1.77  
    1.78 @@ -265,8 +264,8 @@
    1.79  
    1.80    PSParallelCompact::update_and_deadwood_in_dense_prefix(cm,
    1.81                                                           _space_id,
    1.82 -                                                         _chunk_index_start,
    1.83 -                                                         _chunk_index_end);
    1.84 +                                                         _region_index_start,
    1.85 +                                                         _region_index_end);
    1.86  }
    1.87  
    1.88  void DrainStacksCompactionTask::do_it(GCTaskManager* manager, uint which) {
    1.89 @@ -278,6 +277,6 @@
    1.90    ParCompactionManager* cm =
    1.91      ParCompactionManager::gc_thread_compaction_manager(which);
    1.92  
    1.93 -  // Process any chunks already in the compaction managers stacks.
    1.94 -  cm->drain_chunk_stacks();
    1.95 +  // Process any regions already in the compaction managers stacks.
    1.96 +  cm->drain_region_stacks();
    1.97  }

mercurial