[9] RFR(S): 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86

Zoltán Majó zoltan.majo at oracle.com
Thu Apr 23 07:29:28 UTC 2015

Hi Aleksey,

On 04/22/2015 10:59 PM, Aleksey Shipilev wrote:
> On 03/31/2015 12:39 AM, Vladimir Kozlov wrote:
>> Also the original request was to have flag to enable such behavior (use
>> RBP only as FP). So to have it off by default is acceptable. If
>> performance group or someone find a regression (or bug) due to this
>> change we can switch the flag off by default before jdk9 release.
> I'll save you a round-trip!

thank you for the feedback!

> Given:
>   a) there is a way enabling PreserveFramePointer can lead to performance
> regression -- under high register pressure;
>   b) there is an anecdotal evidence +PreserveFramePointer *does* lead to
> performance regression (see Zoltan's fib benchmarks);

Just for the record: Benchmarking with Fibonacci on x86_64 was done by 
Ed Newill and he has seen a 3% performance difference. I ran the SPEC 
JVM 2008 benchmarks for x86_64 and have not seen any statistically 
significant performance degradation.

A thorough performance evaluation probably would not hurt.

Thank you and best regards,


>   c) frame pointer is required for a specific use case (stack walking by
> native profilers), and Java profilers are able to walk through
> Java-specific frames anyway (Forte/AsyncGetCallTrace).
> ...I would say this feature should be opt-in, not opt-out.
> If you want it to be opt-out, then please work with someone from
> performance team to establish if enabling this by default really is safe.
> Thanks,
> -Aleksey.

More information about the hotspot-compiler-dev mailing list