blob: 9db5bf746202874d88efab0f18b29ef9133be418 [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001/*
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
buzbee1452bee2015-03-06 14:43:04 -08007 ldr rIBASE, [rSELF, #THREAD_CURRENT_IBASE_OFFSET] @ refresh IBASE.
8 adrl lr, artMterpAsmInstructionStart + (${opnum} * 128) @ Addr of primary handler.
9 mov r0, rSELF
10 add r1, rFP, #OFF_FP_SHADOWFRAME
Bill Buzbeed47fd902016-07-07 14:42:43 +000011 mov r2, rPC
12 b MterpCheckBefore @ (self, shadow_frame, dex_pc_ptr) @ Tail call.