Home | History | Annotate | Download | only in x86
      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