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