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