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 EXPORT_PC() 10 GET_OPA(a2) # a2 <- AA 11 GET_VREG(a0, a2) # a0 <- vAA (object) 12 move a1, rSELF # a1 <- self 13 JAL(artUnlockObjectFromCode) # v0 <- artUnlockObject(obj, self) 14 bnez v0, MterpException 15 FETCH_ADVANCE_INST(1) # advance rPC, load rINST 16 GET_INST_OPCODE(t0) # extract opcode from rINST 17 GOTO_OPCODE(t0) # jump to next instruction 18