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