RFR (S) 8227766: CheckUnhandledOops is broken in MemAllocator

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jul 17 17:48:35 UTC 2019



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.

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