diff src/share/vm/graal/graalRuntime.cpp @ 14731:0cb5c4d276d4

use raw data support to fix incorrect use of String.intern() for embedding strings in code
author Doug Simon <doug.simon@oracle.com>
date Tue, 25 Mar 2014 13:57:48 +0100
parents 682fba1bcf95
children 063ec2920d21
line wrap: on
line diff
--- a/src/share/vm/graal/graalRuntime.cpp	Tue Mar 25 13:56:52 2014 +0100
+++ b/src/share/vm/graal/graalRuntime.cpp	Tue Mar 25 13:57:48 2014 +0100
@@ -438,13 +438,12 @@
   return (jint)ret;
 JRT_END
 
-JRT_ENTRY(void, GraalRuntime::vm_error(JavaThread* thread, oopDesc* where, oopDesc* format, jlong value))
+JRT_ENTRY(void, GraalRuntime::vm_error(JavaThread* thread, jlong where, jlong format, jlong value))
   ResourceMark rm;
-  assert(where == NULL || java_lang_String::is_instance(where), "must be");
-  const char *error_msg = where == NULL ? "<internal Graal error>" : java_lang_String::as_utf8_string(where);
+  const char *error_msg = where == 0L ? "<internal Graal error>" : (char*) (address) where;
   char *detail_msg = NULL;
-  if (format != NULL) {
-    const char* buf = java_lang_String::as_utf8_string(format);
+  if (format != 0L) {
+    const char* buf = (char*) (address) format;
     size_t detail_msg_length = strlen(buf) * 2;
     detail_msg = (char *) NEW_RESOURCE_ARRAY(u_char, detail_msg_length);
     jio_snprintf(detail_msg, detail_msg_length, buf, value);