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