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