%verify "executed"
%verify "exception for null object"
    /*
     * Throw an exception object in the current thread.
     */
    /* throw vAA */
    GET_OPA(a2)                            #  a2 <- AA
    GET_VREG(a1, a2)                       #  a1 <- vAA (exception object)
    EXPORT_PC()                            #  exception handler can throw
    # null object?
    beqz      a1, common_errNullObject     #  yes, throw an NPE instead
    # bypass dvmSetException, just store it
    STORE_offThread_exception(a1, rSELF)   #  thread->exception <- obj
    b         common_exceptionThrown