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 * Throw an exception object in the current thread. 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /* throw vAA */ 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GET_GLUE(%ecx) 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movzbl rINST_HI,rINST_FULL # rINST_FULL<- AA 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project GET_VREG(%eax,rINST_FULL) # eax<- exception object 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movl offGlue_self(%ecx),%ecx # ecx<- glue->self 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project testl %eax,%eax # null object? 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project je common_errNullObject 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project movl %eax,offThread_exception(%ecx) # thread->exception<- obj 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project jmp common_exceptionThrown 15