8209138: Symbol constructor uses u1 as the element type of its name argument

Maske u1 the type for Symbol values and add a function to return it as a char.

Reviewed-by: dholmes, coleenp
This commit is contained in:
Harold Seigel 2018-10-03 09:46:46 -04:00
parent a3cd6a1a70
commit 221005a3d4
28 changed files with 120 additions and 116 deletions

View file

@ -435,8 +435,8 @@ C2V_VMENTRY(jobject, lookupType, (JNIEnv*, jobject, jstring jname, jclass access
if (resolve) {
resolved_klass = SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK_0);
} else {
if (class_name->byte_at(0) == 'L' &&
class_name->byte_at(class_name->utf8_length()-1) == ';') {
if (class_name->char_at(0) == 'L' &&
class_name->char_at(class_name->utf8_length()-1) == ';') {
// This is a name from a signature. Strip off the trimmings.
// Call recursive to keep scope of strippedsym.
TempNewSymbol strippedsym = SymbolTable::new_symbol(class_name->as_utf8()+1,