RFR: 8318959: C2: define MachNode::fill_new_machnode() statically
Roberto Castañeda Lozano
rcastanedalo at openjdk.org
Wed Nov 1 08:13:24 UTC 2023
This changeset makes the implementation of `MachNode::fill_new_machnode()` static instead of ADLC-generated, for better maintainability. The original motivation to generate this function was to replace its logic with a `ShouldNotCallThis()` call for targets that do not define CISC spill or short branch instruction versions. However, most targets (including x64 and aarch64) feature at least one of these and hence do not make use of the ADLC specialization. For those that do, the savings (approximately 140 bytes on a x64 build of `libjvm.so`) are marginal and (arguably) not worth the additional code complexity.
See motivating discussion in https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2023-October/thread.html#69348.
#### Testing
- tier1-3 (windows-x64, linux-x64, linux-aarch64, macosx-x64, macosx-aarch64; release and debug mode)
-------------
Commit messages:
- Move definition of fill_new_machnode() to machnode.cpp
Changes: https://git.openjdk.org/jdk/pull/16444/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16444&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8318959
Stats: 65 lines in 3 files changed: 21 ins; 41 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/16444.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16444/head:pull/16444
PR: https://git.openjdk.org/jdk/pull/16444
More information about the hotspot-compiler-dev
mailing list