equal
deleted
inserted
replaced
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 } |