Home | History | Annotate | Download | only in x86_64
      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.  Unlike the Arm handler, we can't do this as a tail call
      5  * because rIBASE is caller save and we need to reload it.
      6  *
      7  * Note that unlike in the Arm implementation, we should never arrive
      8  * here with a zero breakFlag because we always refresh rIBASE on
      9  * return.
     10  */
     11     .extern MterpCheckBefore
     12     EXPORT_PC
     13     REFRESH_IBASE
     14     movq    rSELF, OUT_ARG0
     15     leaq    OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
     16     call    SYMBOL(MterpCheckBefore)        # (self, shadow_frame)
     17     jmp     .L_op_nop+(${opnum}*${handler_size_bytes})
     18