8174199: ci replay doesn't reallocate static final fields of recorded klass
authorroland
Wed, 08 Feb 2017 16:33:53 +0100
changeset 46259 73749cb53dc0
parent 46258 d26ebd7e2f10
child 46261 75ce8b72e3c9
8174199: ci replay doesn't reallocate static final fields of recorded klass Reviewed-by: kvn
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");