hotspot/src/share/vm/ci/ciReplay.cpp
changeset 46259 73749cb53dc0
parent 40892 330a02d935ad
child 46329 53ccc37bda19
equal deleted inserted replaced
46258:d26ebd7e2f10 46259:73749cb53dc0
   749       return;
   749       return;
   750     }
   750     }
   751 
   751 
   752     assert(k->is_initialized(), "must be");
   752     assert(k->is_initialized(), "must be");
   753 
   753 
   754     const char* field_name = parse_escaped_string();;
   754     const char* field_name = parse_escaped_string();
   755     const char* field_signature = parse_string();
   755     const char* field_signature = parse_string();
   756     fieldDescriptor fd;
   756     fieldDescriptor fd;
   757     Symbol* name = SymbolTable::lookup(field_name, (int)strlen(field_name), CHECK);
   757     Symbol* name = SymbolTable::lookup(field_name, (int)strlen(field_name), CHECK);
   758     Symbol* sig = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
   758     Symbol* sig = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
   759     if (!k->find_local_field(name, sig, &fd) ||
   759     if (!k->find_local_field(name, sig, &fd) ||
   838         java_mirror->double_field_put(fd.offset(), value);
   838         java_mirror->double_field_put(fd.offset(), value);
   839       } else if (strcmp(field_signature, "Ljava/lang/String;") == 0) {
   839       } else if (strcmp(field_signature, "Ljava/lang/String;") == 0) {
   840         Handle value = java_lang_String::create_from_str(string_value, CHECK);
   840         Handle value = java_lang_String::create_from_str(string_value, CHECK);
   841         java_mirror->obj_field_put(fd.offset(), value());
   841         java_mirror->obj_field_put(fd.offset(), value());
   842       } else if (field_signature[0] == 'L') {
   842       } else if (field_signature[0] == 'L') {
   843         Symbol* klass_name = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
   843         KlassHandle k = resolve_klass(string_value, CHECK);
   844         KlassHandle kelem = resolve_klass(field_signature, CHECK);
   844         oop value = InstanceKlass::cast(k())->allocate_instance(CHECK);
   845         oop value = InstanceKlass::cast(kelem())->allocate_instance(CHECK);
       
   846         java_mirror->obj_field_put(fd.offset(), value);
   845         java_mirror->obj_field_put(fd.offset(), value);
   847       } else {
   846       } else {
   848         report_error("unhandled staticfield");
   847         report_error("unhandled staticfield");
   849       }
   848       }
   850     }
   849     }