hotspot/src/share/vm/classfile/verifier.cpp
changeset 1550 be2fc37a817f
parent 670 ddf3e9583f2f
child 2570 ecc7862946d4
--- a/hotspot/src/share/vm/classfile/verifier.cpp	Wed Nov 12 11:01:31 2008 -0800
+++ b/hotspot/src/share/vm/classfile/verifier.cpp	Wed Nov 12 22:33:26 2008 -0800
@@ -1600,7 +1600,11 @@
     types = (1 << JVM_CONSTANT_Double) | (1 << JVM_CONSTANT_Long);
     verify_cp_type(index, cp, types, CHECK_VERIFY(this));
   }
-  if (tag.is_string() || tag.is_unresolved_string()) {
+  if (tag.is_string() && cp->is_pseudo_string_at(index)) {
+    current_frame->push_stack(
+      VerificationType::reference_type(
+        vmSymbols::java_lang_Object()), CHECK_VERIFY(this));
+  } else if (tag.is_string() || tag.is_unresolved_string()) {
     current_frame->push_stack(
       VerificationType::reference_type(
         vmSymbols::java_lang_String()), CHECK_VERIFY(this));