< prev index next >

src/hotspot/share/classfile/stackMapTable.cpp

Print this page
*** 193,10 ***
--- 193,17 ---
        if (fund_name == NULL) {
          _stream->stackmap_format_error("TBD something bad happened", THREAD);
          return VerificationType::bogus_type();
        }
        return VerificationType::valuetype_type(fund_name);
+     } else if (klass_name->is_L_signature()) {
+       Symbol* fund_name = klass_name->fundamental_name(THREAD);
+       if (fund_name == NULL) {
+         _stream->stackmap_format_error("TBD something bad happened", THREAD);
+         return VerificationType::bogus_type();
+       }
+       return VerificationType::reference_type(fund_name);
      } else {
        return VerificationType::reference_type(klass_name);
      }
    }
    if (tag == ITEM_UninitializedThis) {
< prev index next >