RFR (S): 8191894: Refactor weak references in JvmtiTagHashmap to use the Access API

Erik Österlund erik.osterlund at oracle.com
Tue Nov 28 12:37:08 UTC 2017


Hi Coleen,

That's it, yes. Hope I answered the question.

Thanks,
/Erik

On 2017-11-27 19:28, coleen.phillimore at oracle.com wrote:
>
>
> On 11/27/17 1:21 PM, coleen.phillimore at oracle.com wrote:
>> http://cr.openjdk.java.net/~eosterlund/8191894/webrev.00/src/hotspot/share/prims/jvmtiTagMap.cpp.udiff.html 
>>
>>
>> + return RootAccess<ON_PHANTOM_OOP_REF | 
>> AS_NO_KEEPALIVE>::oop_load(object_addr());
>>
>
> Sorry I have my Access API dimensions mixed up.  RootAccess is IN_ROOT 
> not ON_ROOT (and not concurrent).
>
> Coleen
>>
>> Why is this not access ON_ROOT{_CONCURRENT} ?  The thing holding the 
>> object that you are peeking at is not in the Java Heap?
>>
>> thanks,
>> Coleen
>>
>> On 11/27/17 6:28 AM, Erik Österlund wrote:
>>> Hi,
>>>
>>> The JVMTI tag hashmap has weak oop references that are handled using 
>>> raw oop accesses and a G1-specific SATB enqueue call when leaking 
>>> out objects from the tag map, requiring them to be marked as live by 
>>> G1.
>>>
>>> This should now be refactored to use the Access API to annotate that 
>>> these are ON_PHANTOM_OOP_REF, and refactor the raw oop loads to use 
>>> ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~eosterlund/8191894/webrev.00/
>>>
>>> Bug:
>>> https://bugs.openjdk.java.net/browse/JDK-8191894
>>>
>>> Thanks,
>>> /Erik
>>
>



More information about the hotspot-runtime-dev mailing list