RFR: 8285487: Do not generate trampolines for runtime calls if they are not needed
Evgeny Astigeevich
duke at openjdk.java.net
Tue Apr 26 16:27:33 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.
-------------
Commit messages:
- Remove debug code
- 8285487: Do not generate trampolines for runtime calls if they are not needed
Changes: https://git.openjdk.java.net/jdk/pull/8403/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8403&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8285487
Stats: 120 lines in 2 files changed: 118 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/8403.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8403/head:pull/8403
PR: https://git.openjdk.java.net/jdk/pull/8403
More information about the hotspot-dev
mailing list