diff src/share/vm/code/nmethod.cpp @ 21153:1621af5cb444

Print Graal installed code name when printing frames or diassembly
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Wed, 29 Apr 2015 14:41:03 +0200
parents e13c65f874e5
children d114be1b5b3f
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.cpp	Wed Apr 29 14:39:48 2015 +0200
+++ b/src/share/vm/code/nmethod.cpp	Wed Apr 29 14:41:03 2015 +0200
@@ -3523,3 +3523,26 @@
   Dependencies::print_statistics();
   if (xtty != NULL)  xtty->tail("statistics");
 }
+
+#ifdef GRAAL
+char* nmethod::graal_installed_code_name(char* buf, size_t buflen) {
+  if (!this->is_compiled_by_graal()) {
+    return NULL;
+  }
+  oop installedCode = this->graal_installed_code();
+  if (installedCode != NULL) {
+    oop installedCodeName = NULL;
+    if (installedCode->is_a(InstalledCode::klass())) {
+      installedCodeName = InstalledCode::name(installedCode);
+    }
+    if (installedCodeName != NULL) {
+      return java_lang_String::as_utf8_string(installedCodeName, buf, buflen);
+    } else {
+      jio_snprintf(buf, buflen, "null");
+      return buf;
+    }
+  }
+  jio_snprintf(buf, buflen, "noInstalledCode");
+  return buf;
+}
+#endif