src/share/vm/oops/constantPool.cpp

Print this page

        

*** 1707,1720 **** break; } case JVM_CONSTANT_String: { *bytes = JVM_CONSTANT_String; Symbol* sym = unresolved_string_at(idx); idx1 = tbl->symbol_to_value(sym); assert(idx1 != 0, "Have not found a hashtable entry"); Bytes::put_Java_u2((address) (bytes+1), idx1); ! DBG(printf("JVM_CONSTANT_String: idx=#%03hd, %s", idx1, sym->as_utf8())); break; } case JVM_CONSTANT_Fieldref: case JVM_CONSTANT_Methodref: case JVM_CONSTANT_InterfaceMethodref: { --- 1707,1725 ---- break; } case JVM_CONSTANT_String: { *bytes = JVM_CONSTANT_String; Symbol* sym = unresolved_string_at(idx); + if (is_pseudo_string_at(idx)) { + idx1 = get_pseudo_string_utf8_index(idx); + assert(idx1 != 0, "Have not found a pseudo-string placeholder entry"); + } else { idx1 = tbl->symbol_to_value(sym); assert(idx1 != 0, "Have not found a hashtable entry"); + } Bytes::put_Java_u2((address) (bytes+1), idx1); ! DBG(printf("JVM_CONSTANT_String: idx=#%03hd, %s", idx1, sym == NULL ? "NULL" : sym->as_utf8())); break; } case JVM_CONSTANT_Fieldref: case JVM_CONSTANT_Methodref: case JVM_CONSTANT_InterfaceMethodref: {