Home | History | Annotate | Download | only in mips64
      1     /*
      2      * Unlock an object.
      3      *
      4      * Exceptions that occur when unlocking a monitor need to appear as
      5      * if they happened at the following instruction.  See the Dalvik
      6      * instruction spec.
      7      */
      8     /* monitor-exit vAA */
      9     .extern artUnlockObjectFromCode
     10     EXPORT_PC
     11     srl     a2, rINST, 8                # a2 <- AA
     12     GET_VREG_U a0, a2                   # a0 <- vAA (object)
     13     move    a1, rSELF                   # a1 <- self
     14     jal     artUnlockObjectFromCode     # v0 <- success for unlock(self, obj)
     15     bnezc   v0, MterpException
     16     FETCH_ADVANCE_INST 1                # before throw: advance rPC, load rINST
     17     GET_INST_OPCODE v0                  # extract opcode from rINST
     18     GOTO_OPCODE v0                      # jump to next instruction
     19