--- old/src/share/vm/ci/ciReplay.cpp 2014-04-25 14:05:08.000000000 -0500 +++ new/src/share/vm/ci/ciReplay.cpp 2014-04-25 14:05:07.000000000 -0500 @@ -297,7 +297,7 @@ Symbol* parse_symbol(TRAPS) { const char* str = parse_escaped_string(); if (str != NULL) { - Symbol* sym = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL); + Symbol* sym = SymbolTable::lookup_and_add(str, (int)strlen(str), CHECK_NULL); return sym; } return NULL; @@ -306,7 +306,7 @@ // 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); + Symbol* klass_name = SymbolTable::lookup_and_add(str, (int)strlen(str), CHECK_NULL); if (klass_name != NULL) { Klass* k = NULL; if (_iklass != NULL) { @@ -328,7 +328,7 @@ // Lookup a klass Klass* resolve_klass(const char* klass, TRAPS) { - Symbol* klass_name = SymbolTable::lookup(klass, (int)strlen(klass), CHECK_NULL); + 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); } @@ -729,8 +729,8 @@ 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); + 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()) { @@ -815,7 +815,7 @@ 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); + 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);