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
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
- relates to
-
JDK-8317507 C2 compilation fails with "Exceeded _node_regs array"
- Closed