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