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 ldr xIBASE, [xSELF, #THREAD_CURRENT_IBASE_OFFSET] // refresh IBASE. 8 adr lr, artMterpAsmInstructionStart + (${opnum} * 128) // Addr of primary handler. 9 mov x0, xSELF 10 add x1, xFP, #OFF_FP_SHADOWFRAME 11 mov x2, xPC 12 b MterpCheckBefore // (self, shadow_frame, dex_pc_ptr) Note: tail call. 13