# HG changeset patch # User roland # Date 1486568033 -3600 # Node ID 73749cb53dc05f2037556672065a027952dc8358 # Parent d26ebd7e2f107b1e815c28c9f7f6b660250de14c 8174199: ci replay doesn't reallocate static final fields of recorded klass Reviewed-by: kvn diff -r d26ebd7e2f10 -r 73749cb53dc0 hotspot/src/share/vm/ci/ciReplay.cpp --- a/hotspot/src/share/vm/ci/ciReplay.cpp Mon May 30 14:42:50 2016 +0300 +++ b/hotspot/src/share/vm/ci/ciReplay.cpp Wed Feb 08 16:33:53 2017 +0100 @@ -751,7 +751,7 @@ assert(k->is_initialized(), "must be"); - const char* field_name = parse_escaped_string();; + const char* field_name = parse_escaped_string(); const char* field_signature = parse_string(); fieldDescriptor fd; Symbol* name = SymbolTable::lookup(field_name, (int)strlen(field_name), CHECK); @@ -840,9 +840,8 @@ Handle value = java_lang_String::create_from_str(string_value, CHECK); java_mirror->obj_field_put(fd.offset(), value()); } else if (field_signature[0] == 'L') { - Symbol* klass_name = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK); - KlassHandle kelem = resolve_klass(field_signature, CHECK); - oop value = InstanceKlass::cast(kelem())->allocate_instance(CHECK); + KlassHandle k = resolve_klass(string_value, CHECK); + oop value = InstanceKlass::cast(k())->allocate_instance(CHECK); java_mirror->obj_field_put(fd.offset(), value); } else { report_error("unhandled staticfield");