JDK-8318959 : C2: define MachNode::fill_new_machnode() statically
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-10-27
  • Updated: 2023-11-06
  • Resolved: 2023-11-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 22
22 masterFixed
Related Reports
Relates :  
Description
Currently, MachNode::fill_new_machnode() is generated by ADLC [1]. The motivation is to skip its generation for targets without CISC or short branch instruction versions. However, most (all?) HotSpot-supported architectures define one or both types of instruction versions, which leads to this code being always generated in practice. This RFE proposes therefore moving the definition of the generated function to src/hotspot/share/opto/machnode.cpp, for better debuggability.

See motivating discussion in [3] and prototype in [4].

[1] https://github.com/openjdk/jdk/blob/abad0408e8317b43c2cd5bc3d324ff199aa289f5/src/hotspot/share/adlc/output_c.cpp#L3103-L3133
[2]
https://github.com/openjdk/jdk/blob/abad0408e8317b43c2cd5bc3d324ff199aa289f5/src/hotspot/share/adlc/output_c.cpp#L3248-L3256
[3] https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2023-October/thread.html#69348
[4] https://github.com/openjdk/jdk/commit/7f5c739919b166354d96e190702a515bbd3b3f5a
Comments
Changeset: 377138c7 Author: Roberto CastaƱeda Lozano <rcastanedalo@openjdk.org> Date: 2023-11-06 09:08:56 +0000 URL: https://git.openjdk.org/jdk/commit/377138c7b58d0dd6f11ef4c4fa5598fd836f39df
06-11-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/16444 Date: 2023-11-01 07:27:09 +0000
01-11-2023