RFR (S): 8191894: Refactor weak references in JvmtiTagHashmap to use the Access API
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Nov 28 20:20:59 UTC 2017
On 11/28/17 7:37 AM, Erik Österlund wrote:
> Hi Coleen,
>
> That's it, yes. Hope I answered the question.
Yes, thanks.
Coleen
>
> 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