src/hotspot/share/oops/constantPool.cpp
changeset 47797 d20059c27430
parent 47765 b7c7428eaab9
child 48157 7c4d43c26352
--- a/src/hotspot/share/oops/constantPool.cpp	Mon Nov 06 21:38:42 2017 +0100
+++ b/src/hotspot/share/oops/constantPool.cpp	Mon Nov 06 14:12:37 2017 -0500
@@ -305,14 +305,9 @@
 
   constantPoolHandle cp(THREAD, this);
   for (int index = 1; index < length(); index++) { // Index 0 is unused
-    if (tag_at(index).is_string()) {
-      Symbol* sym = cp->unresolved_string_at(index);
-      // Look up only. Only resolve references to already interned strings.
-      oop str = StringTable::lookup(sym);
-      if (str != NULL) {
-        int cache_index = cp->cp_to_object_index(index);
-        cp->string_at_put(index, cache_index, str);
-      }
+    if (tag_at(index).is_string() && !cp->is_pseudo_string_at(index)) {
+      int cache_index = cp->cp_to_object_index(index);
+      string_at_impl(cp, index, cache_index, CHECK);
     }
   }
 }