RFR: 8202994: Add support for undoing last TLAB allocation

Per Liden per.liden at oracle.com
Mon May 14 11:46:03 UTC 2018


Thanks all for reviewing.

On 05/14/2018 01:39 PM, Stefan Karlsson wrote:
> On 2018-05-14 10:16, Aleksey Shipilev wrote:
>> On 05/14/2018 10:08 AM, Per Liden wrote:
>>> Hi,
>>>
>>> I don't really have a strong opinion on this. There's some comfort in 
>>> asserting on things we should
>>> never be doing (i.e. undo something that is in the TLAB but it's not 
>>> the last allocation). On the
>>> other hand, I think you proposal is also fine, and I _think_ it can 
>>> be simplified even further with
>>> a single pointer_delta call. Like this:
>>>
>>> http://cr.openjdk.java.net/~pliden/8202994/webrev.2
>>
>> This looks fine.
> 
> Looks good to me too.

Ok, I'll go with this version. Adding the assert would require 
re-introduction of contains(), so I'm not sure it's worth it...

/Per

> 
>>
>>> Any strong opinions from others?
>>
>> I mean, if we are to bikeshed on this more, I think it is a good idea 
>> to both make release builds do
>> the right thing (e.g. returning false as the patch above suggestes), 
>> *and* make fastdebug builds to
>> fail with assert if we are trying to do creepy things.
>>
>> I.e.:
>>
>>    if (!is_last_allocation(obj, size)) {
>>      assert(!contains(obj), "Bad undo: the object is not the last 
>> allocation");
>>      return false;
>>    }
> 
> This seems like a worthwhile assert.
> 
> Thanks,
> StefanK
> 
>>
>>
>> Thanks,
>> -Aleksey
>>


More information about the hotspot-gc-dev mailing list