JDK-8316124 : Fix issues with ciMethod::call_method() which prevents inlining in Xcomp mode
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 8,11,17,21,22
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2023-09-12
  • Updated: 2023-09-12
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.
Other
tbdUnresolved
Related Reports
Relates :  
Relates :  
Description
There are two problems with ciMethod::call_method():
- Method handle calls are not inlined due to rewriting invokevirtual with invokestatic which is unexpected in call_method().
- invokeinterface bytecodes are not handled in call_method() and will always fail.

The attached IR test demonstrates both limitations. We should fix ciMethod::call_method() to tackle both problems and make inlining succeed in Xcomp mode.

Comments
ILW = Failing to inline some methods in Xcomp mode due to limitations in ciMethod::call_method(), edge case, no workaround = LLH = P5
12-09-2023