• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1    /*
2     * Check to see if a cast from one class to another is allowed.
3     */
4    /* check-cast vAA, class//BBBB */
5    .extern MterpCheckCast
6    EXPORT_PC
7    lhu     a0, 2(rPC)                  # a0 <- BBBB
8    srl     a1, rINST, 8                # a1 <- AA
9    dlsa    a1, a1, rFP, 2              # a1 <- &object
10    ld      a2, OFF_FP_METHOD(rFP)      # a2 <- method
11    move    a3, rSELF                   # a3 <- self
12    jal     MterpCheckCast              # (index, &obj, method, self)
13    PREFETCH_INST 2
14    bnez    v0, MterpPossibleException
15    ADVANCE 2
16    GET_INST_OPCODE v0                  # extract opcode from rINST
17    GOTO_OPCODE v0                      # jump to next instruction
18