1 %verify "executed" 2 %verify "exception for null object" 3 /* 4 * Synchronize on an object. 5 */ 6 /* monitor-enter vAA */ 7 movl rSELF,%ecx 8 GET_VREG_R %eax rINST # eax<- vAA 9 FETCH_INST_WORD 1 10 testl %eax,%eax # null object? 11 EXPORT_PC # need for precise GC 12 je common_errNullObject 13 movl %ecx,OUT_ARG0(%esp) 14 movl %eax,OUT_ARG1(%esp) 15 SPILL(rIBASE) 16 call dvmLockObject # dvmLockObject(self,object) 17 UNSPILL(rIBASE) 18 FETCH_INST_OPCODE 1 %ecx 19 ADVANCE_PC 1 20 GOTO_NEXT_R %ecx 21