Home | History | Annotate | Download | only in x86
      1 %default { "helper":"UndefinedInvokeHandler" }
      2 /*
      3  * Generic invoke handler wrapper.
      4  */
      5     /* op vB, {vD, vE, vF, vG, vA}, class@CCCC */
      6     /* op {vCCCC..v(CCCC+AA-1)}, meth@BBBB */
      7     .extern $helper
      8     EXPORT_PC
      9     movl    rSELF, %ecx
     10     movl    %ecx, OUT_ARG0(%esp)
     11     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     12     movl    %eax, OUT_ARG1(%esp)
     13     movl    rPC, OUT_ARG2(%esp)
     14     REFRESH_INST ${opnum}
     15     movl    rINST, OUT_ARG3(%esp)
     16     call    SYMBOL($helper)
     17     testb   %al, %al
     18     jz      MterpException
     19     ADVANCE_PC 3
     20     call    SYMBOL(MterpShouldSwitchInterpreters)
     21     testb   %al, %al
     22     jnz     MterpFallback
     23     RESTORE_IBASE
     24     FETCH_INST
     25     GOTO_NEXT
     26