RFR (M) 8249768: Move static oops and NullPointerException oops from Universe into OopStorage

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jul 22 13:16:16 UTC 2020



On 7/22/20 8:44 AM, Erik Österlund wrote:
> Hi Coleen,
>
> This looks good to me. It's still a bit shady to me that assignment of 
> OopHandles overwrites the oop*, potentially causing memory leaks (the 
> previous oop* is not released).
> Therefore, it is implied that setters are only used once, to store a 
> new handle over an uninitialized handle. But we can fix the safety of 
> this in another patch.

Thank you, Erik, and thank you for suggesting an assert in the 
assignment operator.  These assignments do not hit that assert but there 
were others that did, so I have a separate patch that I'm working on.  
See https://bugs.openjdk.java.net/browse/JDK-8249822

Thank you for reviewing this.
Coleen

>
> Thanks,
> /Erik
>
> On 2020-07-20 22:53, coleen.phillimore at oracle.com wrote:
>> Summary: Move static oops into OopStorage and make NPE oops an 
>> objArrayOop.
>>
>> I've broken up moving oops in Universe to OopStorage into several 
>> parts.  This change moves the global static oops.  These OopHandles 
>> are not released.
>>
>> This has been tested with tier1-3 and on also remote-build -b 
>> linux-arm32,linux-ppc64le-debug,linux-s390x-debug,linux-x64-zero.
>>
>> open webrev at 
>> http://cr.openjdk.java.net/~coleenp/2020/8249768.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8249768
>>
>> Thanks,
>> Coleen
>



More information about the hotspot-dev mailing list