-
Bug
-
Resolution: Fixed
-
P5
-
22, 23
-
b09
I noticed this:
@ 19 java.lang.invoke.MethodHandle::invokeBasic(L)V (0 bytes) failed to inline: receiver not constant
@ 19 java.lang.invoke.LambdaForm$DMH/0x000000000f081000::invokeStatic (21 bytes) force inline by annotation
with the test case ofJDK-8319764 that is method invoke at parse time is not constant (first line of the output) and then it's found constant and inlined (second line of the output). We don't want the first line if inlining ends up succeeding. This:
diff --git a/src/hotspot/share/opto/callGenerator.cpp b/src/hotspot/share/opto/callGenerator.cpp
index 971c37e6b45..e5da4e96b67 100644
--- a/src/hotspot/share/opto/callGenerator.cpp
+++ b/src/hotspot/share/opto/callGenerator.cpp
@@ -684,6 +684,7 @@ void CallGenerator::do_late_inline_helper() {
C->print_inlining_update_delayed(this);
return;
}
+ C->print_inlining_update_delayed(this);
// Setup default node notes to be picked up by the inlining
Node_Notes* old_nn = C->node_notes_at(call->_idx);
appears to fix it. I believe this used to work so a test case would be nice to prevent a regression. I also think I saw the same behavior with late inlining of a virtual call.
@ 19 java.lang.invoke.MethodHandle::invokeBasic(L)V (0 bytes) failed to inline: receiver not constant
@ 19 java.lang.invoke.LambdaForm$DMH/0x000000000f081000::invokeStatic (21 bytes) force inline by annotation
with the test case of
diff --git a/src/hotspot/share/opto/callGenerator.cpp b/src/hotspot/share/opto/callGenerator.cpp
index 971c37e6b45..e5da4e96b67 100644
--- a/src/hotspot/share/opto/callGenerator.cpp
+++ b/src/hotspot/share/opto/callGenerator.cpp
@@ -684,6 +684,7 @@ void CallGenerator::do_late_inline_helper() {
C->print_inlining_update_delayed(this);
return;
}
+ C->print_inlining_update_delayed(this);
// Setup default node notes to be picked up by the inlining
Node_Notes* old_nn = C->node_notes_at(call->_idx);
appears to fix it. I believe this used to work so a test case would be nice to prevent a regression. I also think I saw the same behavior with late inlining of a virtual call.
- relates to
-
JDK-8327741 JVM crash in hotspot/share/opto/compile.cpp - failed: missing inlining msg
- Resolved
-
JDK-8335843 C2 hits assert(_print_inlining_stream->size() > 0) failed: missing inlining msg
- Resolved