%verify "executed" %verify "exception for null object" /* * Synchronize on an object. */ /* monitor-enter vAA */ mov r2, rINST, lsr #8 @ r2<- AA GET_VREG(r1, r2) @ r1<- vAA (object) mov r0, rSELF @ r0<- self cmp r1, #0 @ null object? EXPORT_PC() @ need for precise GC beq common_errNullObject @ null object, throw an exception FETCH_ADVANCE_INST(1) @ advance rPC, load rINST bl dvmLockObject @ call(self, obj) GET_INST_OPCODE(ip) @ extract opcode from rINST GOTO_OPCODE(ip) @ jump to next instruction