Mercurial > hg > graal-jvmci-8
diff src/cpu/x86/vm/templateTable_x86_32.cpp @ 3461:81d815b05abb
7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path
Reviewed-by: never
author | jrose |
---|---|
date | Thu, 23 Jun 2011 17:14:06 -0700 |
parents | 286c498ae0d4 |
children | fdb992d83a87 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/templateTable_x86_32.cpp Thu Jun 23 22:43:28 2011 -0700 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Thu Jun 23 17:14:06 2011 -0700 @@ -373,15 +373,17 @@ __ jcc(Assembler::equal, L); __ cmpl(rdx, JVM_CONSTANT_String); __ jcc(Assembler::equal, L); + __ cmpl(rdx, JVM_CONSTANT_Object); + __ jcc(Assembler::equal, L); __ stop("unexpected tag type in ldc"); __ bind(L); } #endif Label isOop; // atos and itos - // String is only oop type we will see here - __ cmpl(rdx, JVM_CONSTANT_String); - __ jccb(Assembler::equal, isOop); + // Integer is only non-oop type we will see here + __ cmpl(rdx, JVM_CONSTANT_Integer); + __ jccb(Assembler::notEqual, isOop); __ movl(rax, Address(rcx, rbx, Address::times_ptr, base_offset)); __ push(itos); __ jmp(Done);