src/hotspot/share/jvmci/jvmciEnv.cpp
changeset 51997 9ce37fa2e179
parent 51467 12997ebbc0d8
child 52067 2e72562697bf
equal deleted inserted replaced
51996:84743156e780 51997:9ce37fa2e179
    96                                         Symbol* sym,
    96                                         Symbol* sym,
    97                                         bool require_local) {
    97                                         bool require_local) {
    98   JVMCI_EXCEPTION_CONTEXT;
    98   JVMCI_EXCEPTION_CONTEXT;
    99 
    99 
   100   // Now we need to check the SystemDictionary
   100   // Now we need to check the SystemDictionary
   101   if (sym->byte_at(0) == 'L' &&
   101   if (sym->char_at(0) == 'L' &&
   102     sym->byte_at(sym->utf8_length()-1) == ';') {
   102     sym->char_at(sym->utf8_length()-1) == ';') {
   103     // This is a name from a signature.  Strip off the trimmings.
   103     // This is a name from a signature.  Strip off the trimmings.
   104     // Call recursive to keep scope of strippedsym.
   104     // Call recursive to keep scope of strippedsym.
   105     TempNewSymbol strippedsym = SymbolTable::new_symbol(sym->as_utf8()+1,
   105     TempNewSymbol strippedsym = SymbolTable::new_symbol(sym->as_utf8()+1,
   106                     sym->utf8_length()-2,
   106                     sym->utf8_length()-2,
   107                     CHECK_NULL);
   107                     CHECK_NULL);
   130   // The element type may be available either locally or via constraints.
   130   // The element type may be available either locally or via constraints.
   131   // In either case, if we can find the element type in the system dictionary,
   131   // In either case, if we can find the element type in the system dictionary,
   132   // we must build an array type around it.  The CI requires array klasses
   132   // we must build an array type around it.  The CI requires array klasses
   133   // to be loaded if their element klasses are loaded, except when memory
   133   // to be loaded if their element klasses are loaded, except when memory
   134   // is exhausted.
   134   // is exhausted.
   135   if (sym->byte_at(0) == '[' &&
   135   if (sym->char_at(0) == '[' &&
   136       (sym->byte_at(1) == '[' || sym->byte_at(1) == 'L')) {
   136       (sym->char_at(1) == '[' || sym->char_at(1) == 'L')) {
   137     // We have an unloaded array.
   137     // We have an unloaded array.
   138     // Build it on the fly if the element class exists.
   138     // Build it on the fly if the element class exists.
   139     TempNewSymbol elem_sym = SymbolTable::new_symbol(sym->as_utf8()+1,
   139     TempNewSymbol elem_sym = SymbolTable::new_symbol(sym->as_utf8()+1,
   140                                                  sym->utf8_length()-1,
   140                                                  sym->utf8_length()-1,
   141                                                  CHECK_NULL);
   141                                                  CHECK_NULL);