RFR: 8327661: C1: Make RBP allocatable on x64 when PreserveFramePointer is disabled [v2]
Denghui Dong
ddong at openjdk.org
Wed Mar 13 02:24:40 UTC 2024
> Hi,
>
> Could I have a review of this change that makes RBP allocatable in c1 register allocation when PreserveFramePointer is not enabled.
>
> There seems no reason that RBP cannot be used. Although the performance of c1 jit code is not very critical, in my opinion, this change will not add overhead of compilation. So maybe it is acceptable.
>
> I am not very sure if I have changed all the places that should be.
>
> Performance:
>
> I wrote a simple JMH included in this patch.
>
> On Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
>
> Before this change:
>
>
> Benchmark Mode Cnt Score Error Units
> C1PreserveFramePointer.WithPreserveFramePointer.calculate avgt 16 15.270 ± 0.011 ns/op
> C1PreserveFramePointer.WithoutPreserveFramePointer.calculate avgt 16 14.479 ± 0.012 ns/op
>
>
> After this change:
>
>
> Benchmark Mode Cnt Score Error Units
> C1PreserveFramePointer.WithPreserveFramePointer.calculate avgt 16 15.264 ± 0.006 ns/op
> C1PreserveFramePointer.WithoutPreserveFramePointer.calculate avgt 16 14.057 ± 0.005 ns/op
>
>
>
> Testing: fastdebug tier1-4 on Linux x64
Denghui Dong has updated the pull request incrementally with one additional commit since the last revision:
fix: rbp should be callee saved
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/18167/files
- new: https://git.openjdk.org/jdk/pull/18167/files/6e8020fb..a6270736
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=18167&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=18167&range=00-01
Stats: 18 lines in 5 files changed: 8 ins; 3 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/18167.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18167/head:pull/18167
PR: https://git.openjdk.org/jdk/pull/18167
More information about the hotspot-compiler-dev
mailing list