1 /* 2 * Check to see if a cast from one class to another is allowed. 3 */ 4 /* check-cast vAA, class@BBBB */ 5 EXPORT_PC 6 movzwl 2(rPC), %eax # eax <- BBBB 7 movl %eax, OUT_ARG0(%esp) 8 leal VREG_ADDRESS(rINST), %ecx 9 movl %ecx, OUT_ARG1(%esp) 10 movl OFF_FP_METHOD(rFP),%eax 11 movl %eax, OUT_ARG2(%esp) 12 movl rSELF, %ecx 13 movl %ecx, OUT_ARG3(%esp) 14 call SYMBOL(MterpCheckCast) # (index, &obj, method, self) 15 RESTORE_IBASE 16 testb %al, %al 17 jnz MterpPossibleException 18 ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 19