< 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 >