hotspot/src/share/vm/gc_implementation/g1/heapRegionManager.cpp
changeset 30157 e36165b16dde
parent 29698 9be8d1b0dfdc
equal deleted inserted replaced
30156:3d95cca71ace 30157:e36165b16dde
   328                err_msg("Must work on humongous continuation of the original start region "
   328                err_msg("Must work on humongous continuation of the original start region "
   329                        PTR_FORMAT ", but is " PTR_FORMAT, p2i(r), p2i(chr)));
   329                        PTR_FORMAT ", but is " PTR_FORMAT, p2i(r), p2i(chr)));
   330         assert(!hrclaimer->is_region_claimed(ch_index),
   330         assert(!hrclaimer->is_region_claimed(ch_index),
   331                "Must not have been claimed yet because claiming of humongous continuation first claims the start region");
   331                "Must not have been claimed yet because claiming of humongous continuation first claims the start region");
   332 
   332 
   333         // There's no need to actually claim the continues humongous region, but we can do it in an assert as an extra precaution.
   333         // Claim the region so no other worker tries to process the region. When a worker processes a
   334         assert(hrclaimer->claim_region(ch_index), "We should always be able to claim the continuesHumongous part of the humongous object");
   334         // starts_humongous region it may also process the associated continues_humongous regions.
       
   335         // The continues_humongous regions can be changed to free regions. Unless this worker claims
       
   336         // all of these regions, other workers might try claim and process these newly free regions.
       
   337         bool claim_result = hrclaimer->claim_region(ch_index);
       
   338         guarantee(claim_result, "We should always be able to claim the continuesHumongous part of the humongous object");
   335 
   339 
   336         bool res2 = blk->doHeapRegion(chr);
   340         bool res2 = blk->doHeapRegion(chr);
   337         if (res2) {
   341         if (res2) {
   338           return;
   342           return;
   339         }
   343         }