src/hotspot/share/ci/ciEnv.cpp
changeset 54847 59ea39bb2809
parent 54786 ebf733a324d4
child 55253 3c905e67e380
child 58678 9cf78a70fa4f
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
   403   if (sym->char_at(0) == 'L' &&
   403   if (sym->char_at(0) == 'L' &&
   404     sym->char_at(sym->utf8_length()-1) == ';') {
   404     sym->char_at(sym->utf8_length()-1) == ';') {
   405     // This is a name from a signature.  Strip off the trimmings.
   405     // This is a name from a signature.  Strip off the trimmings.
   406     // Call recursive to keep scope of strippedsym.
   406     // Call recursive to keep scope of strippedsym.
   407     TempNewSymbol strippedsym = SymbolTable::new_symbol(sym->as_utf8()+1,
   407     TempNewSymbol strippedsym = SymbolTable::new_symbol(sym->as_utf8()+1,
   408                     sym->utf8_length()-2,
   408                                                         sym->utf8_length()-2);
   409                     KILL_COMPILE_ON_FATAL_(_unloaded_ciinstance_klass));
       
   410     ciSymbol* strippedname = get_symbol(strippedsym);
   409     ciSymbol* strippedname = get_symbol(strippedsym);
   411     return get_klass_by_name_impl(accessing_klass, cpool, strippedname, require_local);
   410     return get_klass_by_name_impl(accessing_klass, cpool, strippedname, require_local);
   412   }
   411   }
   413 
   412 
   414   // Check for prior unloaded klass.  The SystemDictionary's answers
   413   // Check for prior unloaded klass.  The SystemDictionary's answers
   457   if (sym->char_at(0) == '[' &&
   456   if (sym->char_at(0) == '[' &&
   458       (sym->char_at(1) == '[' || sym->char_at(1) == 'L')) {
   457       (sym->char_at(1) == '[' || sym->char_at(1) == 'L')) {
   459     // We have an unloaded array.
   458     // We have an unloaded array.
   460     // Build it on the fly if the element class exists.
   459     // Build it on the fly if the element class exists.
   461     TempNewSymbol elem_sym = SymbolTable::new_symbol(sym->as_utf8()+1,
   460     TempNewSymbol elem_sym = SymbolTable::new_symbol(sym->as_utf8()+1,
   462                                                  sym->utf8_length()-1,
   461                                                      sym->utf8_length()-1);
   463                                                  KILL_COMPILE_ON_FATAL_(fail_type));
       
   464 
   462 
   465     // Get element ciKlass recursively.
   463     // Get element ciKlass recursively.
   466     ciKlass* elem_klass =
   464     ciKlass* elem_klass =
   467       get_klass_by_name_impl(accessing_klass,
   465       get_klass_by_name_impl(accessing_klass,
   468                              cpool,
   466                              cpool,