RFR: 8168914: Crash in ClassLoaderData/JNIHandleBlock::oops_do during concurrent marking

Erik Helin erik.helin at oracle.com
Thu Feb 23 18:09:37 UTC 2017


On 02/21/2017 04:49 PM, Erik Helin wrote:
> On 02/21/2017 02:57 AM, Kim Barrett wrote:
>>> On Feb 20, 2017, at 5:52 PM, David Holmes <david.holmes at oracle.com>
>>> wrote:
>>>> 02 -> 03:
>>>> - Only use load_acquire when reading the size for the "head" chunk
>>>
>>> Sorry but I don't like the way this is done - the conditional may end
>>> up being more expensive than the unnecessary load-acquire. Unrolling
>>> the first loop iteration, as per the email discussion, is a better
>>> way to go IMO.
>>
>> +1
> 
> David, Kim, please see new patches at:
> - inc: http://cr.openjdk.java.net/~ehelin/8168914/03-04/
> - full: http://cr.openjdk.java.net/~ehelin/8168914/04/

I got a few comments from StefanK offline so I figured that I might as
well create new patch including other comments as well.

Please see new patches at:
- inc: http://cr.openjdk.java.net/~ehelin/8168914/04-05/
- full: http://cr.openjdk.java.net/~ehelin/8168914/05/

The changes made to version 04 includes:
- Prefix all fields with underscore (StefanK)
- Rename all arguments of type oop* to `p` (StefanK)
- Group fields together in Chunk (StefanK)
- Make oops_do_chunk private (Kim, David, Thomas)
- Remove casts to intptr_t (Kim, David, Thomas)

Thanks everyone for the thorough reviewing!
Erik

> Thanks,
> Erik


More information about the hotspot-dev mailing list