src/share/vm/ci/ciReplay.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8039525 Cdiff src/share/vm/ci/ciReplay.cpp

src/share/vm/ci/ciReplay.cpp

Print this page

        

*** 295,314 **** // Parse a possibly quoted version of a symbol into a symbolOop Symbol* parse_symbol(TRAPS) { const char* str = parse_escaped_string(); if (str != NULL) { ! Symbol* sym = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL); return sym; } return NULL; } // Parse a valid klass name and look it up Klass* parse_klass(TRAPS) { const char* str = parse_escaped_string(); ! Symbol* klass_name = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL); if (klass_name != NULL) { Klass* k = NULL; if (_iklass != NULL) { k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding(); } else { --- 295,314 ---- // Parse a possibly quoted version of a symbol into a symbolOop Symbol* parse_symbol(TRAPS) { const char* str = parse_escaped_string(); if (str != NULL) { ! Symbol* sym = SymbolTable::lookup_and_add(str, (int)strlen(str), CHECK_NULL); return sym; } return NULL; } // Parse a valid klass name and look it up Klass* parse_klass(TRAPS) { const char* str = parse_escaped_string(); ! Symbol* klass_name = SymbolTable::lookup_and_add(str, (int)strlen(str), CHECK_NULL); if (klass_name != NULL) { Klass* k = NULL; if (_iklass != NULL) { k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding(); } else {
*** 326,336 **** return NULL; } // Lookup a klass Klass* resolve_klass(const char* klass, TRAPS) { ! Symbol* klass_name = SymbolTable::lookup(klass, (int)strlen(klass), CHECK_NULL); return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, CHECK_NULL); } // Parse the standard tuple of <klass> <name> <signature> Method* parse_method(TRAPS) { --- 326,336 ---- return NULL; } // Lookup a klass Klass* resolve_klass(const char* klass, TRAPS) { ! Symbol* klass_name = SymbolTable::lookup_and_add(klass, (int)strlen(klass), CHECK_NULL); return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, CHECK_NULL); } // Parse the standard tuple of <klass> <name> <signature> Method* parse_method(TRAPS) {
*** 727,738 **** assert(k->is_initialized(), "must be"); 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); ! Symbol* sig = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK); if (!k->find_local_field(name, sig, &fd) || !fd.is_static() || fd.has_initial_value()) { report_error(field_name); return; --- 727,738 ---- assert(k->is_initialized(), "must be"); const char* field_name = parse_escaped_string();; const char* field_signature = parse_string(); fieldDescriptor fd; ! Symbol* name = SymbolTable::lookup_and_add(field_name, (int)strlen(field_name), CHECK); ! Symbol* sig = SymbolTable::lookup_and_add(field_signature, (int)strlen(field_signature), CHECK); if (!k->find_local_field(name, sig, &fd) || !fd.is_static() || fd.has_initial_value()) { report_error(field_name); return;
*** 813,823 **** java_mirror->double_field_put(fd.offset(), value); } else if (strcmp(field_signature, "Ljava/lang/String;") == 0) { 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*)kelem())->allocate_instance(CHECK); java_mirror->obj_field_put(fd.offset(), value); } else { report_error("unhandled staticfield"); --- 813,823 ---- java_mirror->double_field_put(fd.offset(), value); } else if (strcmp(field_signature, "Ljava/lang/String;") == 0) { 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_and_add(field_signature, (int)strlen(field_signature), CHECK); KlassHandle kelem = resolve_klass(field_signature, CHECK); oop value = ((InstanceKlass*)kelem())->allocate_instance(CHECK); java_mirror->obj_field_put(fd.offset(), value); } else { report_error("unhandled staticfield");
src/share/vm/ci/ciReplay.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File