8184206: Resolve all string constants in shared classes at CDS dump time
Change ConstantPool::resolve_class_constants() to resolve all string constants. Reviewed-by: iklam, coleenp
This commit is contained in:
parent
40cdb9fd60
commit
545e8eb333
@ -305,14 +305,9 @@ void ConstantPool::resolve_class_constants(TRAPS) {
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user