Walk stack in signal handler
Volker Simonis
volker.simonis at gmail.com
Wed Feb 17 17:40:03 UTC 2016
Hi Roman,
you should definitely use -XX:+PreserveFramePointer and you should
also have a look at the discussion on bug "8068945: Use RBP register
as proper frame pointer in JIT compiled code on x86" which discuss
some of the difficulties related to native stack walking in hotspot:
https://bugs.openjdk.java.net/browse/JDK-8068945
Regards,
Volker
On Wed, Feb 17, 2016 at 6:28 PM, Roman Kovalenko <rmnkvlnk at gmail.com> wrote:
> Hi,
>
> Looks like that I am able to get 'this' for native frame with
> frame::get_native_receiver() but I cannot do anything with any other frame
> type.
> How can I find out what is permitted to be used outside safepoint? Also,
> what can happen to frame outside safepoint, because of what is it hard to
> walk it? May be I should look in some precise source code locations?
>
> Thanks.
>
> On Fri, Feb 12, 2016 at 11:48 AM, Andrew Haley <aph at redhat.com> wrote:
>
>> On 11/02/16 17:54, Roman Kovalenko wrote:
>>
>> > I would like to profile application by interrupting it with signals and
>> > using AsyncGetCallTrace then. This works well, but also I want to collect
>> > every 'this' for any object method frame that is walkable by AGCT. I
>> looked
>> > around (forte.cpp and related) but had no success.
>> >
>> > Is it even possible?
>>
>> It's difficult. The compilers move values around and things are
>> really only stable at safepoints.
>>
>>
>
>
> --
> -rmnk-
More information about the hotspot-runtime-dev
mailing list