< prev index next >

src/hotspot/share/oops/constantPool.cpp

Print this page

        

*** 303,320 **** return; // nothing to do } 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); ! } } } } #endif --- 303,315 ---- return; // nothing to do } constantPoolHandle cp(THREAD, this); for (int index = 1; index < length(); index++) { // Index 0 is unused ! 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); } } } #endif
< prev index next >