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.
- 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.
- blocks
-
JDK-8320495 compiler/rangechecks/TestRangeCheckHoistingScaledIV.java: remove vm.flagless
- Open
- relates to
-
JDK-8014013 CallInfo structure no longer accurately reports the result of a LinkResolver operation
- Resolved
-
JDK-8315969 compiler/rangechecks/TestRangeCheckHoistingScaledIV.java: make flagless
- Resolved