/* * Inter-instruction transfer stub. Call out to MterpCheckBefore to handle * any interesting requests and then jump to the real instruction * handler. Unlike the Arm handler, we can't do this as a tail call * because rIBASE is caller save and we need to reload it. * * Note that unlike in the Arm implementation, we should never arrive * here with a zero breakFlag because we always refresh rIBASE on * return. */ .extern MterpCheckBefore movl rSELF, %ecx movl %ecx, OUT_ARG0(%esp) leal OFF_FP_SHADOWFRAME(rFP), %eax movl %eax, OUT_ARG1(%esp) movl rPC, OUT_ARG2(%esp) call SYMBOL(MterpCheckBefore) # (self, shadow_frame, dex_pc_ptr) REFRESH_IBASE jmp .L_op_nop+(${opnum}*${handler_size_bytes})