--- old/src/hotspot/share/jvmci/jvmciEnv.cpp 2019-03-11 14:26:05.810355160 +0100 +++ new/src/hotspot/share/jvmci/jvmciEnv.cpp 2019-03-11 14:26:05.602355163 +0100 @@ -120,7 +120,7 @@ JVMCI_EXCEPTION_CONTEXT; // Now we need to check the SystemDictionary - if (sym->char_at(0) == 'L' && + if ((sym->char_at(0) == 'L' || sym->char_at(0) == 'Q') && sym->char_at(sym->utf8_length()-1) == ';') { // This is a name from a signature. Strip off the trimmings. // Call recursive to keep scope of strippedsym. @@ -155,7 +155,7 @@ // to be loaded if their element klasses are loaded, except when memory // is exhausted. if (sym->char_at(0) == '[' && - (sym->char_at(1) == '[' || sym->char_at(1) == 'L')) { + (sym->char_at(1) == '[' || sym->char_at(1) == 'L' || sym->char_at(1) == 'Q')) { // We have an unloaded array. // Build it on the fly if the element class exists. TempNewSymbol elem_sym = SymbolTable::new_symbol(sym->as_utf8()+1,