8157176: Improved classfile parsing

Reviewed-by: acorn, mschoene, ctornqvi, bmoloden
This commit is contained in:
Harold Seigel 2016-06-27 15:26:08 -04:00 committed by Harold Seigel
parent 53164dd532
commit 9d898bb3e0
2 changed files with 44 additions and 4 deletions

View file

@ -2881,8 +2881,6 @@ VMRegPair *SharedRuntime::find_callee_arguments(Symbol* sig, bool has_receiver,
char *s = sig->as_C_string();
int len = (int)strlen(s);
s++; len--; // Skip opening paren
char *t = s+len;
while (*(--t) != ')'); // Find close paren
BasicType *sig_bt = NEW_RESOURCE_ARRAY(BasicType, 256);
VMRegPair *regs = NEW_RESOURCE_ARRAY(VMRegPair, 256);
@ -2891,7 +2889,7 @@ VMRegPair *SharedRuntime::find_callee_arguments(Symbol* sig, bool has_receiver,
sig_bt[cnt++] = T_OBJECT; // Receiver is argument 0; not in signature
}
while (s < t) {
while (*s != ')') { // Find closing right paren
switch (*s++) { // Switch on signature character
case 'B': sig_bt[cnt++] = T_BYTE; break;
case 'C': sig_bt[cnt++] = T_CHAR; break;