8075266: Show runtime call details when printing machine code
authorvlivanov
Fri, 20 Mar 2015 11:41:34 -0700
changeset 30188 40397cc74488
parent 30187 c48efcf14cdc
child 30189 0dce8215957a
8075266: Show runtime call details when printing machine code Reviewed-by: jrose, kvn
hotspot/src/share/vm/code/nmethod.cpp
--- a/hotspot/src/share/vm/code/nmethod.cpp	Fri Mar 20 11:41:34 2015 -0700
+++ b/hotspot/src/share/vm/code/nmethod.cpp	Fri Mar 20 11:41:34 2015 -0700
@@ -2837,11 +2837,21 @@
           st.print(")");
           return st.as_string();
         }
+        case relocInfo::runtime_call_type: {
+          stringStream st;
+          st.print("runtime_call");
+          runtime_call_Relocation* r = iter.runtime_call_reloc();
+          address dest = r->destination();
+          CodeBlob* cb = CodeCache::find_blob(dest);
+          if (cb != NULL) {
+            st.print(" %s", cb->name());
+          }
+          return st.as_string();
+        }
         case relocInfo::virtual_call_type:     return "virtual_call";
         case relocInfo::opt_virtual_call_type: return "optimized virtual_call";
         case relocInfo::static_call_type:      return "static_call";
         case relocInfo::static_stub_type:      return "static_stub";
-        case relocInfo::runtime_call_type:     return "runtime_call";
         case relocInfo::external_word_type:    return "external_word";
         case relocInfo::internal_word_type:    return "internal_word";
         case relocInfo::section_word_type:     return "section_word";