blob: f7e6155c161db943fe415f12ab937aa05a88a7ac [file] [log] [blame]
Serguei Katkov6cbe0812016-03-01 16:10:48 +06001%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 movq rSELF, OUT_ARG0
10 leaq OFF_FP_SHADOWFRAME(rFP), OUT_ARG1
11 movq rPC, OUT_ARG2
12 REFRESH_INST ${opnum}
13 movl rINST, OUT_32_ARG3
14 call SYMBOL($helper)
15 testb %al, %al
16 jz MterpException
Serguei Katkovc8705a72016-02-26 13:00:40 +060017 ADVANCE_PC 3
18 call SYMBOL(MterpShouldSwitchInterpreters)
19 testb %al, %al
20 jnz MterpFallback
21 FETCH_INST
22 GOTO_NEXT