Using apcs frame layout

Anton Kozlov akozlov at azul.com
Tue Apr 5 10:02:25 UTC 2016


Hi, Ed,

For me it looks like there is no objections, I'm preparing for
implementation. I will try to do it the cleanest way possible, there
are no reasons to modify shared code.

Thanks,
Anton

On Tue, 2016-04-05 at 10:08 +0100, Edward Nevill wrote:
> 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