RFR 8038797: JVMTI FollowReferences does not report roots reachable from nmethods
Coleen Phillimore
coleen.phillimore at oracle.com
Thu Aug 11 20:34:44 UTC 2016
Thanks, Dean.
Coleen
On 8/11/16 4:10 PM, dean.long at oracle.com wrote:
> On 8/11/16 12:54 PM, Coleen Phillimore wrote:
>
>>
>>
>> On 8/11/16 2:32 PM, dean.long at oracle.com wrote:
>>> Can you make it work for any CompiledMethod and not just nmethods?
>>
>> Dean, I tried to do this but CompiledMethod didn't have any oops_do
>> function.
>
> Oh right, I was thinking it did because of some experiments I had made
> in that area.
>
>>>
>>> I believe oops_do() also picks up klass_holder() oops that were
>>> added to keep metadata references alive.
>>
>> Yes, it does.
>>
>>> So for those you will most likely get a ClassLoader and not the
>>> Class object. To get the Class object I think you would need to use
>>> something like metadata_do(). Does FollowReferences care either way?
>>
>> No, FollowReferences really wants the oops and you can use the oops
>> to find out which Class objects (java.lang.Class) and ClassLoaders
>> are alive. FollowReferences doesn't follow any metadata for anything.
>>
>
> OK, this change looks good to me.
>
> dl
>
>> Coleen
>>
>>>
>>> dl
>>>
>>> On 8/11/16 10:44 AM, Coleen Phillimore wrote:
>>>> Summary: Also follow nmethods found on the execution stack.
>>>>
>>>> I have this fix to follow nmethods found on the execution stack but
>>>> not really a good way to test it. There are two tests internally
>>>> that exercise this code and with some printing, I verified that
>>>> they do the right thing. I am open to suggestions how to test
>>>> this, it requires compiled methods on the stack with oops that are
>>>> only referenced from said methods in the oop section (not in locals
>>>> or on stack).
>>>>
>>>> Also ran the tonga colocated/non-colocated internal tests,
>>>> jdk/test/com/sun/jdi.
>>>>
>>>> scp -r /home/cphillim/home/public_html/webrev/8038797.01
>>>> coleenp at cr.openjdk.java.net:
>>>> open webrev at http://cr.openjdk.java.net/~coleenp/8038797.01/webrev
>>>>
>>>>
>>>> thanks,
>>>> Coleen
>>>
>>
>
More information about the hotspot-dev
mailing list