RFR(S): 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
zoltan.majo at oracle.com
Thu Apr 23 07:29:28 UTC 2015
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!
> 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.
More information about the hotspot-compiler-dev