src/hotspot/share/ci/ciReplay.cpp
changeset 54847 59ea39bb2809
parent 54786 ebf733a324d4
child 55050 feba48c5dfb4
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
   334 
   334 
   335   // Parse a possibly quoted version of a symbol into a symbolOop
   335   // Parse a possibly quoted version of a symbol into a symbolOop
   336   Symbol* parse_symbol(TRAPS) {
   336   Symbol* parse_symbol(TRAPS) {
   337     const char* str = parse_escaped_string();
   337     const char* str = parse_escaped_string();
   338     if (str != NULL) {
   338     if (str != NULL) {
   339       Symbol* sym = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL);
   339       Symbol* sym = SymbolTable::new_symbol(str);
   340       return sym;
   340       return sym;
   341     }
   341     }
   342     return NULL;
   342     return NULL;
   343   }
   343   }
   344 
   344 
   345   // Parse a valid klass name and look it up
   345   // Parse a valid klass name and look it up
   346   Klass* parse_klass(TRAPS) {
   346   Klass* parse_klass(TRAPS) {
   347     const char* str = parse_escaped_string();
   347     const char* str = parse_escaped_string();
   348     Symbol* klass_name = SymbolTable::lookup(str, (int)strlen(str), CHECK_NULL);
   348     Symbol* klass_name = SymbolTable::new_symbol(str);
   349     if (klass_name != NULL) {
   349     if (klass_name != NULL) {
   350       Klass* k = NULL;
   350       Klass* k = NULL;
   351       if (_iklass != NULL) {
   351       if (_iklass != NULL) {
   352         k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding();
   352         k = (Klass*)_iklass->find_klass(ciSymbol::make(klass_name->as_C_string()))->constant_encoding();
   353       } else {
   353       } else {
   369     return NULL;
   369     return NULL;
   370   }
   370   }
   371 
   371 
   372   // Lookup a klass
   372   // Lookup a klass
   373   Klass* resolve_klass(const char* klass, TRAPS) {
   373   Klass* resolve_klass(const char* klass, TRAPS) {
   374     Symbol* klass_name = SymbolTable::lookup(klass, (int)strlen(klass), CHECK_NULL);
   374     Symbol* klass_name = SymbolTable::new_symbol(klass);
   375     return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, THREAD);
   375     return SystemDictionary::resolve_or_fail(klass_name, _loader, _protection_domain, true, THREAD);
   376   }
   376   }
   377 
   377 
   378   // Parse the standard tuple of <klass> <name> <signature>
   378   // Parse the standard tuple of <klass> <name> <signature>
   379   Method* parse_method(TRAPS) {
   379   Method* parse_method(TRAPS) {
   798     assert(k->is_initialized(), "must be");
   798     assert(k->is_initialized(), "must be");
   799 
   799 
   800     const char* field_name = parse_escaped_string();
   800     const char* field_name = parse_escaped_string();
   801     const char* field_signature = parse_string();
   801     const char* field_signature = parse_string();
   802     fieldDescriptor fd;
   802     fieldDescriptor fd;
   803     Symbol* name = SymbolTable::lookup(field_name, (int)strlen(field_name), CHECK);
   803     Symbol* name = SymbolTable::new_symbol(field_name);
   804     Symbol* sig = SymbolTable::lookup(field_signature, (int)strlen(field_signature), CHECK);
   804     Symbol* sig = SymbolTable::new_symbol(field_signature);
   805     if (!k->find_local_field(name, sig, &fd) ||
   805     if (!k->find_local_field(name, sig, &fd) ||
   806         !fd.is_static() ||
   806         !fd.is_static() ||
   807         fd.has_initial_value()) {
   807         fd.has_initial_value()) {
   808       report_error(field_name);
   808       report_error(field_name);
   809       return;
   809       return;