Using apcs frame layout
Edward Nevill
edward.nevill at gmail.com
Tue Apr 5 09:08:50 UTC 2016
Hi,
Was there a conclusion on this?
I am happy with a -XX:+APCSFrame or somesuch if it is the most expedient way of allowing perf / flame graphs provided that the code can be reasonably well contain and doesn't affect shared code.
All the best,
Ed.
On Wed, 2016-03-30 at 09:49 +0000, Anton Kozlov wrote:
> Hi,
>
> yes, unwind works because whole java uses standart layout. Perf
> captures stacktraces in kernel mode, where no dwarf info available, and
> standart layout assumed.
>
> GCC forced to generate standart layout for hotspot, -fno-omit-frame
> -pointer used on linux platform and amd64 cpu
> (hotspot/make/solaris/makefiles/amd64.make,
> hotspot/make/linux/makefiles/gcc.make).
> JNI code have to be compiled with -fno-omit-frame-pointer too,
> otherwise perf can't catch proper stacktrace.
> And java code uses standart layout.
>
> So, for java, dwarf info isn't used at all.
>
> Thanks,
> Anton
>
> On Wed, 2016-03-30 at 09:02 +0100, Andrew Haley wrote:
> > On 29/03/16 18:48, Anton Kozlov wrote:
> > > Sorry, not quite undestand you, what can we do? Add apcs layout
> > > option?
> >
> > I'm not sure exactly. Let me ask a clarifying question: with
> > x86-64, how do flame graphs work with Java? Is it that Java
> > uses the standard frame layout throughout? But x86-64 doesn't
> > use a standard frame layout in GCC. It uses DWARF unwinder
> > data. So how does x86-64 OpenJDK work with flame graphs?
> >
> > Andrew.
> >
> >
More information about the aarch32-port-dev
mailing list