RFR (S) 8227766: CheckUnhandledOops is broken in MemAllocator

Lois Foltan lois.foltan at oracle.com
Wed Jul 17 21:43:16 UTC 2019



On 7/17/2019 1:48 PM, coleen.phillimore at oracle.com wrote:
>
>
> On 7/17/19 1:01 PM, Lois Foltan wrote:
>> On 7/17/2019 12:22 PM, coleen.phillimore at oracle.com wrote:
>>>
>>> Due to some concerns about MemAllocator performance, and to only 
>>> create handles when needed, I have retested smaller change:
>>>
>>> open webrev at 
>>> http://cr.openjdk.java.net/~coleenp/2019/8227766.02/webrev
>>
>> Looks good.
>>
>> gc/shared/memAllocator.cpp
>> - line #373-375: Since obj is already initialized to NULL to you need 
>> the else clause?
>
> Yes, because CheckUnhandledOops poisons oops that are local variables, 
> so we have to set it back to zero.  I can add that to the comment.

Ahh, I missed on line #369 that obj is passed by reference.  Looks good, 
you have my review.
Lois

>
> Thanks!
> Coleen
>>
>> Thanks,
>> Lois
>>
>>>
>>> Coleen
>>>
>>> On 7/17/19 10:49 AM, coleen.phillimore at oracle.com wrote:
>>>> Summary: Save oop created in handle more eagerly, so 
>>>> CheckUnhandledOops doesn't bash it.
>>>>
>>>> Also added a test for the case that was failing.  There were a 
>>>> couple of changes needed to compile CHECK_UNHANDLED_OOPS with 
>>>> slowdebug, but I reverted the makefile changes for doing that 
>>>> because I don't think we want it for slowdebug.
>>>> Lastly, made some changes to make CheckUnhandledOops easier to 
>>>> debug, and removed an unnecessary clearing, since it's also done in 
>>>> the transition.
>>>>
>>>> Tested with hs-tier1-3 with -XX:+CheckUnhandledOops and without.
>>>>
>>>> open webrev at 
>>>> http://cr.openjdk.java.net/~coleenp/2019/8227766.01/webrev
>>>> bug link https://bugs.openjdk.java.net/browse/JDK-8227766
>>>>
>>>> Thanks,
>>>> Coleen
>>>
>>
>



More information about the hotspot-runtime-dev mailing list