RFR(S): 8165315: [ppc] Port "8133749: NMT detail stack trace cleanup"

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Mon Sep 5 14:25:59 UTC 2016


HI Volker, 

thanks for looking at this.

> Does it mean that other platforms except ppc64 are always missing the first frame of stack traces in the hs_err
Yes, in some cases:
       frame fr = _context ? os::fetch_frame_from_context(_context)
                           : os::current_frame();
       print_native_stack(st, fr, _thread, buf, sizeof(buf));

Best regards,
  Goetz.


> -----Original Message-----
> From: Volker Simonis [mailto:volker.simonis at gmail.com]
> Sent: Montag, 5. September 2016 16:16
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>
> Cc: hotspot-runtime-dev at openjdk.java.net
> Subject: Re: RFR(S): 8165315: [ppc] Port "8133749: NMT detail stack trace
> cleanup"
> 
> 
> 
> On Monday, September 5, 2016, Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com <mailto:goetz.lindenmaier at sap.com> >
> wrote:
> 
> 
> 	Hi,
> 
> 	The test coming with 8133749 showed a row of problems on the ppc
> platforms.
> 	This change fixed these.
> 
> 
> 	Also, I moved "isSlowDebugBuild()" to Platform.java as there also is
> 
> 	isDebugBuild(), and we have other places where we use this.
> 
> 	Please review this change. I also please need a sponsor.
> 	http://cr.openjdk.java.net/~goetz/wr16/8165315-
> fixStackTrace/01/webrev.bs/
> <http://cr.openjdk.java.net/~goetz/wr16/8165315-
> fixStackTrace/01/webrev.bs/>
> 	http://cr.openjdk.java.net/~goetz/wr16/8165315-
> fixStackTrace/01/webrev.hs/
> <http://cr.openjdk.java.net/~goetz/wr16/8165315-
> fixStackTrace/01/webrev.hs/>
> 
> 	More details:
> 
> 	On power, current_frame() returns the frame of the method that
> 	called current_frame(). This is as documented in os.hpp.
> 
> 	Get_native_stack() in os_posix.cpp expects current_frame() to go up
> 	one more frame. To adapt to this expectation, we increment toSkip
> by
> 	one on ppc, which has the same effect. (If we change
> current_frame(),
> 	one less frame will be printed to hs_err files etc.)
> 
> 
> 
> 
> Hi Goetz,
> 
> Your change looks good. I just don't understand the difference between
> current_frame() on various platforms. Does it mean that other platforms
> except ppc64 are always missing the first frame of stack traces in the hs_err
> file ?
> 
> Thanks,
> Volker
> 
> 
> 	"8153743: AllocateHeap() and ReallocateHeap() should use
> ALWAYSINLINE macro"
> 	is not properly implemented on Aix. The 'inline' keyword is missing in
> the
> 	macro on aix.
> 
> 	Also, on Aix ALWAYSINLINE has no effect in the slowdebug build. So
> the
> 	check in the test whether AllocateHeap is inlined must be skipped as
> on
> 	other platforms.
> 
> 	Best regards,
> 	  Goetz.
> 



More information about the hotspot-runtime-dev mailing list