1 %verify "executed" 2 %verify "exception for null object" 3 /* 4 * Throw an exception object in the current thread. 5 */ 6 /* throw vAA */ 7 mov r2, rINST, lsr #8 @ r2<- AA 8 GET_VREG(r1, r2) @ r1<- vAA (exception object) 9 ldr r0, [rGLUE, #offGlue_self] @ r0<- glue->self 10 EXPORT_PC() @ exception handler can throw 11 cmp r1, #0 @ null object? 12 beq common_errNullObject @ yes, throw an NPE instead 13 @ bypass dvmSetException, just store it 14 str r1, [r0, #offThread_exception] @ thread->exception<- obj 15 b common_exceptionThrown 16