Integrated: 8318959: C2: define MachNode::fill_new_machnode() statically

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Mon Nov 6 09:12:22 UTC 2023


On Wed, 1 Nov 2023 07:27:09 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:

> 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)

This pull request has now been integrated.

Changeset: 377138c7
Author:    Roberto Castañeda Lozano <rcastanedalo at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/377138c7b58d0dd6f11ef4c4fa5598fd836f39df
Stats:     73 lines in 4 files changed: 21 ins; 45 del; 7 mod

8318959: C2: define MachNode::fill_new_machnode() statically

Reviewed-by: kvn, thartmann

-------------

PR: https://git.openjdk.org/jdk/pull/16444


More information about the hotspot-compiler-dev mailing list