buzbee | 1452bee | 2015-03-06 14:43:04 -0800 | [diff] [blame] | 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 |
buzbee | 1452bee | 2015-03-06 14:43:04 -0800 | [diff] [blame] | 7 | 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 Buzbee | d47fd90 | 2016-07-07 14:42:43 +0000 | [diff] [blame] | 11 | mov r2, rPC |
| 12 | b MterpCheckBefore @ (self, shadow_frame, dex_pc_ptr) @ Tail call. |