1/*
2 * Inter-instruction transfer stub.  Call out to dvmCheckBefore to handle
3 * any interesting requests and then jump to the real instruction
4 * handler.    Note that the call to dvmCheckBefore is done as a tail call.
5 * rIBASE updates won't be seen until a refresh, and we can tell we have a
6 * stale rIBASE if breakFlags==0.  Always refresh rIBASE here, and then
7 * bail to the real handler if breakFlags==0.
8 */
9    lbu    a3, offThread_breakFlags(rSELF)
10    la     rBIX, dvmAsmInstructionStart + (${opnum} * 128)
11    lw     rIBASE, offThread_curHandlerTable(rSELF)
12    bnez   a3, 1f
13    jr     rBIX            # nothing to do - jump to real handler
141:
15    EXPORT_PC()
16    move   a0, rPC         # arg0
17    move   a1, rFP         # arg1
18    move   a2, rSELF       # arg2
19    JAL(dvmCheckBefore)
20    jr     rBIX
21