OP_THROW.S revision f6c387128427e121477c1b32ad35cdcaa5101ba3
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    cmp     r1, #0                      @ null object?
11    beq     common_errNullObject        @ yes, throw an NPE instead
12    @ bypass dvmSetException, just store it
13    str     r1, [r0, #offThread_exception]  @ thread->exception<- obj
14    b       common_exceptionThrown
15
16