-
Bug
-
Resolution: Fixed
-
P4
-
11, 16
-
b28
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8258564 | 11.0.11-oracle | Dukebot | P4 | Resolved | Fixed | b01 |
JDK-8259306 | 11.0.11 | Volker Simonis | P4 | Resolved | Fixed | b01 |
If we set PrintInlining for a specific method only with the help of a compiler directive (e.g. -XX:CompileCommand="option,Inlining::foo,PrintInlining") it won't print virtuall calls which can't be inlined. These calls are printed if we use the global -XX:+PrintInlining option.
The fix is trivial:
--- a/src/hotspot/share/opto/doCall.cpp
+++ b/src/hotspot/share/opto/doCall.cpp
@@ -357,7 +357,7 @@ CallGenerator* Compile::call_generator(ciMethod* callee, int vtable_index, bool
// Use a more generic tactic, like a simple call.
if (call_does_dispatch) {
const char* msg = "virtual call";
- if (PrintInlining) print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg);
+ if (C->print_inlining()) print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg);
C->log_inline_failure(msg);
return CallGenerator::for_virtual_call(callee, vtable_index);
} else {
The fix is trivial:
--- a/src/hotspot/share/opto/doCall.cpp
+++ b/src/hotspot/share/opto/doCall.cpp
@@ -357,7 +357,7 @@ CallGenerator* Compile::call_generator(ciMethod* callee, int vtable_index, bool
// Use a more generic tactic, like a simple call.
if (call_does_dispatch) {
const char* msg = "virtual call";
- if (PrintInlining) print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg);
+ if (C->print_inlining()) print_inlining(callee, jvms->depth() - 1, jvms->bci(), msg);
C->log_inline_failure(msg);
return CallGenerator::for_virtual_call(callee, vtable_index);
} else {
- backported by
-
JDK-8258564 PrintInlining as compiler directive doesn't print virtual calls
- Resolved
-
JDK-8259306 PrintInlining as compiler directive doesn't print virtual calls
- Resolved