RFR (S): 8191894: Refactor weak references in JvmtiTagHashmap to use the Access API
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Mon Nov 27 18:28:57 UTC 2017
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