1%default { "helper":"UndefinedInvokeHandler" }
2    /*
3     * invoke-polymorphic handler wrapper.
4     */
5    /* op {vC, vD, vE, vF, vG}, meth@BBBB, proto@HHHH */
6    /* op {vCCCC..v(CCCC+AA-1)}, meth@BBBB, proto@HHHH */
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 4
20    call    SYMBOL(MterpShouldSwitchInterpreters)
21    testb   %al, %al
22    jnz     MterpFallback
23    RESTORE_IBASE
24    FETCH_INST
25    GOTO_NEXT
26