-
Enhancement
-
Resolution: Duplicate
-
P4
-
8, 11, 17, 18, 19
C1 inlining checks that the declared "callee holder" is linked, which can result in a failure to inline in some situations:
1. invokedynamic, which relies on old code in ciBytecodeStream::get_declared_method_holder() that forces the holder to be java.lang.invoke.MethodHandle, even though the actual callee is a special generated method like java/lang/invoke/Invokers$Holder.linkToTargetMethod().
2. when the declared holder is not linked but the holder of the actual target method is linked
1. invokedynamic, which relies on old code in ciBytecodeStream::get_declared_method_holder() that forces the holder to be java.lang.invoke.MethodHandle, even though the actual callee is a special generated method like java/lang/invoke/Invokers$Holder.linkToTargetMethod().
2. when the declared holder is not linked but the holder of the actual target method is linked
- duplicates
-
JDK-8279515 C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
-
- Resolved
-