comparison src/share/vm/gc_implementation/g1/concurrentMark.cpp @ 640:ba50942c8138

Merge
author tonyp
date Wed, 18 Mar 2009 11:37:48 -0400
parents 922c573ea67d
children bd441136a5ce
comparison
equal deleted inserted replaced
629:2581d90c6c9b 640:ba50942c8138
1230 _co_tracker->update(); 1230 _co_tracker->update();
1231 1231
1232 if (!_final && _regions_done == 0) 1232 if (!_final && _regions_done == 0)
1233 _start_vtime_sec = os::elapsedVTime(); 1233 _start_vtime_sec = os::elapsedVTime();
1234 1234
1235 if (hr->continuesHumongous()) return false; 1235 if (hr->continuesHumongous()) {
1236 HeapRegion* hum_start = hr->humongous_start_region();
1237 // If the head region of the humongous region has been determined
1238 // to be alive, then all the tail regions should be marked
1239 // such as well.
1240 if (_region_bm->at(hum_start->hrs_index())) {
1241 _region_bm->par_at_put(hr->hrs_index(), 1);
1242 }
1243 return false;
1244 }
1236 1245
1237 HeapWord* nextTop = hr->next_top_at_mark_start(); 1246 HeapWord* nextTop = hr->next_top_at_mark_start();
1238 HeapWord* start = hr->top_at_conc_mark_count(); 1247 HeapWord* start = hr->top_at_conc_mark_count();
1239 assert(hr->bottom() <= start && start <= hr->end() && 1248 assert(hr->bottom() <= start && start <= hr->end() &&
1240 hr->bottom() <= nextTop && nextTop <= hr->end() && 1249 hr->bottom() <= nextTop && nextTop <= hr->end() &&