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