8231844: Enhance type signature characters in classfile_constants.h and improve the JVM to use type signature characters more consistently

Increase the use of type signature constants instead of hard coded characters within the JVM.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain
This commit is contained in:
Lois Foltan 2019-10-21 13:13:16 -04:00
parent 0192c5a02f
commit fce4320369
43 changed files with 371 additions and 326 deletions

View file

@ -535,8 +535,8 @@ C2V_VMENTRY_NULL(jobject, lookupType, (JNIEnv* env, jobject, jstring jname, jcla
JVMCI_THROW_MSG_NULL(ClassNotFoundException, str);
}
} else {
if (class_name->char_at(0) == 'L' &&
class_name->char_at(class_name->utf8_length()-1) == ';') {
if (class_name->char_at(0) == JVM_SIGNATURE_CLASS &&
class_name->char_at(class_name->utf8_length()-1) == JVM_SIGNATURE_ENDCLASS) {
// 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,