RFR: Correctly iterate references in humongous regions
Roman Kennke
rkennke at redhat.com
Fri Mar 31 13:40:07 UTC 2017
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?
Roman
More information about the shenandoah-dev
mailing list