RFR: 8285487: AArch64: Do not generate unneeded trampolines for runtime calls [v5]
Evgeny Astigeevich
duke at openjdk.org
Wed Aug 10 21:18:11 UTC 2022
> [JDK-8280872](https://bugs.openjdk.java.net/browse/JDK-8280872) put the non-nmethod segment between two others. It made trampolines for runtime calls redundant in most cases.
>
> This PR uses `target_needs_far_branch()` for runtime calls to check whether they need trampolines. Trampolines are not generated if they are not needed.
>
> Testing:
> - `tier1`...`tier4`: Passed
> - `compiler/c2/aarch64/TestTrampoline.java`: Passed
>
> Note: `compiler/c2/aarch64/TestTrampoline.java` requires the release build. This is because debug builds have the branch range set to 2M which causes always generation of trampolines.
Evgeny Astigeevich has updated the pull request incrementally with one additional commit since the last revision:
Combine @requires; Change is_always_reachable to is_always_within_branch_range
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/8403/files
- new: https://git.openjdk.org/jdk/pull/8403/files/6ddc3f0a..4db9dfc9
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=8403&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=8403&range=03-04
Stats: 9 lines in 2 files changed: 1 ins; 2 del; 6 mod
Patch: https://git.openjdk.org/jdk/pull/8403.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/8403/head:pull/8403
PR: https://git.openjdk.org/jdk/pull/8403
More information about the hotspot-dev
mailing list