RFR: Correctly iterate references in humongous regions
Roman Kennke
rkennke at redhat.com
Sat Apr 1 10:41:11 UTC 2017
Am 31.03.2017 um 21:41 schrieb Zhengyu Gu:
>
>
> 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.
Oops, it seems like I posted the wrong webrev:
http://cr.openjdk.java.net/~rkennke/oop-iterate-humongous/webrev.02/
<http://cr.openjdk.java.net/%7Erkennke/oop-iterate-humongous/webrev.02/>
Roman
More information about the shenandoah-dev
mailing list