RFR 8140685: Fix backtrace building to not rely on constant pool merging
Coleen Phillimore
coleen.phillimore at oracle.com
Mon Nov 2 22:04:27 UTC 2015
On 11/2/15 3:43 AM, serguei.spitsyn at oracle.com wrote:
> Hi Coleen,
>
>
> The fix looks good to me.
> I like the simplifications!
>
>
> A minor comment:
>
> src/share/vm/classfile/backtrace.hpp
>
> 34 // doesn't get deallocatd.
>
> typo: deallocatd => deallocated
Thank you Serguei for reviewing this. I thought you'd like the
simplification after all the work we've done on this.
I fixed the typo above.
Coleen
>
>
> Thanks,
> Serguei
>
>
> On 10/30/15 15:16, Coleen Phillimore wrote:
>>
>> On 10/30/15 6:01 PM, Coleen Phillimore wrote:
>>> Summary: Save Throwable in a list which is a weak GC root for
>>> walking during MetadataOnStackMark
>>>
>>> This was the original implementation that I had for finding Method*
>>> in backtraces but it was slow because I had used jweak to save the
>>> Throwable object. Using internal vm weak GC roots, this does not
>>> cause a performance regression in refWorkload. This fix is more
>>> straightforward and does not rely on the constant pool index of the
>>> merged constant pool during redefinition to find the method's name.
>>> This is one fix that enables removing merged constant pools during
>>> redefinition (work in progress). It also is would be used as a
>>> model for JEP 259: Stack Walking API
>>> https://bugs.openjdk.java.net/browse/JDK-8043814.
>>>
>>> The code that registers MemberNames for replacing Method* during
>>> redefinition may need to use the same mechanism for performance, if
>>> MemberName arrays are used for the Stack Walking API.
>>>
>>> I assume this will generate comments from the GC group.
>>>
>>> bug link https://bugs.openjdk.java.net/browse/JDK-8140685
>>>
>>
>> open webrev at http://cr.openjdk.java.net/~coleenp/8140685.01/
>> bug link https://bugs.openjdk.java.net/browse/JDK-8140685
>>
>>>
>>> Tested with RBT quick (former "quick" tests),
>>> jdk/java/lang/instrument tests and the test that I wrote for
>>> handling backtraces with redefinition in
>>> hotspot/test/runtime/RedefineTests.
>>>
>>> Thanks,
>>> Coleen
>>
>
More information about the hotspot-dev
mailing list