RFR: Correctly iterate references in humongous regions

Zhengyu Gu zgu at redhat.com
Fri Mar 31 19:41:21 UTC 2017



On 03/31/2017 09:40 AM, Roman Kennke wrote:
> Am 31.03.2017 um 14:51 schrieb Aleksey Shipilev:
>> On 03/31/2017 12:50 PM, Roman Kennke wrote:
>>> http://cr.openjdk.java.net/~rkennke/oop-iterate-humongous/webrev.00/
>> This makes me a little itchy:
>>
>>  547     while (! region->is_humongous_start()) {
>>  548       region = _ordered_regions->get(region->region_number() - 1);
>>  549     }
>>
>> Rewind could use a simple local var?
>
> Yeap.
>
> I also noticed that I haven't done the version with limit yet. I made up
> my mind about this, and realized that we don't really want iteration up
> to arbitrary limits: this is meant to be used specifically with the
> concurrent-iteration-safe-limit, and should say so in the API. I changed
> those methods to include 'safe_iterate' (consistent with Space's
> safe_iterate() methods), and put the actual impls into private methods
> that take the upper limit.
>
> http://cr.openjdk.java.net/~rkennke/oop-iterate-humongous/webrev.00/
> <http://cr.openjdk.java.net/%7Erkennke/oop-iterate-humongous/webrev.00/>
>
> Good now?

It seems that you have yet address what Aleksey suggested.

-Zhengyu

>
> Roman
>


More information about the shenandoah-dev mailing list