1 /* 2 * Inter-instruction transfer stub. Call out to MterpCheckBefore to handle 3 * any interesting requests and then jump to the real instruction 4 * handler. Note that the call to MterpCheckBefore is done as a tail call. 5 */ 6 .extern MterpCheckBefore 7 la ra, artMterpAsmInstructionStart + (${opnum} * 128) # Addr of primary handler 8 lw rIBASE, THREAD_CURRENT_IBASE_OFFSET(rSELF) # refresh IBASE 9 move a0, rSELF # arg0 10 addu a1, rFP, OFF_FP_SHADOWFRAME # arg1 11 move a2, rPC 12 la t9, MterpCheckBefore 13 jalr zero, t9 # Tail call to Mterp(self, shadow_frame, dex_pc_ptr) 14