src/hotspot/share/prims/jvm.cpp
changeset 58469 ccbb5a2bf3ab
parent 58273 08a5148e7c4e
child 58664 e3618c902d17
child 58665 30a5049a36bb
--- a/src/hotspot/share/prims/jvm.cpp	Mon Oct 07 07:53:38 2019 +0200
+++ b/src/hotspot/share/prims/jvm.cpp	Mon Oct 07 12:06:47 2019 +0200
@@ -990,13 +990,21 @@
   ResourceMark rm(THREAD);
 
   Handle h_name (THREAD, JNIHandles::resolve_non_null(name));
-  Handle string = java_lang_String::internalize_classname(h_name, CHECK_NULL);
-
-  const char* str   = java_lang_String::as_utf8_string(string());
+  char* str = java_lang_String::as_utf8_string(h_name());
+
   // Sanity check, don't expect null
   if (str == NULL) return NULL;
 
-  const int str_len = (int)strlen(str);
+  // Internalize the string, converting '.' to '/' in string.
+  char* p = (char*)str;
+  while (*p != '\0') {
+      if (*p == '.') {
+          *p = '/';
+      }
+      p++;
+  }
+
+  const int str_len = (int)(p - str);
   if (str_len > Symbol::max_length()) {
     // It's impossible to create this class;  the name cannot fit
     // into the constant pool.