comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @ 1638:b2a00dd3117c

6957084: simplify TaskQueue overflow handling Reviewed-by: ysr, jmasa
author jcoomes
date Thu, 01 Jul 2010 21:40:45 -0700
parents e9ff18c4ace7
children 8b10f48633dc
comparison
equal deleted inserted replaced
1628:a00567c82f02 1638:b2a00dd3117c
2472 assert(end_region > 0, "perm gen cannot be empty"); 2472 assert(end_region > 0, "perm gen cannot be empty");
2473 2473
2474 for (size_t cur = end_region - 1; cur >= beg_region; --cur) { 2474 for (size_t cur = end_region - 1; cur >= beg_region; --cur) {
2475 if (sd.region(cur)->claim_unsafe()) { 2475 if (sd.region(cur)->claim_unsafe()) {
2476 ParCompactionManager* cm = ParCompactionManager::manager_array(which); 2476 ParCompactionManager* cm = ParCompactionManager::manager_array(which);
2477 cm->save_for_processing(cur); 2477 cm->push_region(cur);
2478 2478
2479 if (TraceParallelOldGCCompactionPhase && Verbose) { 2479 if (TraceParallelOldGCCompactionPhase && Verbose) {
2480 const size_t count_mod_8 = fillable_regions & 7; 2480 const size_t count_mod_8 = fillable_regions & 7;
2481 if (count_mod_8 == 0) gclog_or_tty->print("fillable: "); 2481 if (count_mod_8 == 0) gclog_or_tty->print("fillable: ");
2482 gclog_or_tty->print(" " SIZE_FORMAT_W(7), cur); 2482 gclog_or_tty->print(" " SIZE_FORMAT_W(7), cur);
3136 3136
3137 for (RegionData* cur = beg; cur < end; ++cur) { 3137 for (RegionData* cur = beg; cur < end; ++cur) {
3138 assert(cur->data_size() > 0, "region must have live data"); 3138 assert(cur->data_size() > 0, "region must have live data");
3139 cur->decrement_destination_count(); 3139 cur->decrement_destination_count();
3140 if (cur < enqueue_end && cur->available() && cur->claim()) { 3140 if (cur < enqueue_end && cur->available() && cur->claim()) {
3141 cm->save_for_processing(sd.region(cur)); 3141 cm->push_region(sd.region(cur));
3142 } 3142 }
3143 } 3143 }
3144 } 3144 }
3145 3145
3146 size_t PSParallelCompact::next_src_region(MoveAndUpdateClosure& closure, 3146 size_t PSParallelCompact::next_src_region(MoveAndUpdateClosure& closure,