RFR: 8261071: AArch64: Refactor interpreter native wrappers
Anton Kozlov
akozlov at openjdk.java.net
Thu Feb 4 22:05:46 UTC 2021
Please review refactoring of interpreter signature handlers on aarch64. The main objective is to prepare for the new calling convention of macOS/AArch64, although this patch brings nothing from the new convention.
Tested with signature stress tests and tier1 on Linux/AArch64.
I have stared with a single function implementing SlowSignatureHandler (https://github.com/openjdk/jdk/commit/5ef1bd15c3bb174f4aed5e358d1ce2fff2846858#diff-1ff58ce70aeea7e9842d34e8d8fd9c94dd91182999d455618b2a171efd8f742cR164). The single function was compact but obscure. I was shuffling it until I eventually came to something similar of the initial approach with few pieces abstracted away.
The most notable changes in the final version should be
* we count only parameters passed in registers
* ldrw/strw are used to pass via stack in SignatureHandlerGenerator::pass_int
-------------
Commit messages:
- Fix java stack access for int & float
- Extract functions from SignatureHandlerGenerator
- Finish SlowSignatureHandler
- Simplify pass_fp/gp
- Split load
- Split SSh to pass_gp/fp
- Single function for SlowSignatureHandler
Changes: https://git.openjdk.java.net/jdk/pull/2413/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2413&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8261071
Stats: 266 lines in 2 files changed: 39 ins; 147 del; 80 mod
Patch: https://git.openjdk.java.net/jdk/pull/2413.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/2413/head:pull/2413
PR: https://git.openjdk.java.net/jdk/pull/2413
More information about the hotspot-dev
mailing list