blob: db3b8af73a7fd69dd7bd0472ade2b451799f7cd9 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001%default { "helper":"UndefinedInvokeHandler" }
2 /*
3 * Generic invoke handler wrapper.
4 */
Alexey Frunze84603bf2016-10-21 19:54:43 -07005 /* op vB, {vD, vE, vF, vG, vA}, class@CCCC */
6 /* op {vCCCC..v(CCCC+AA-1)}, meth@BBBB */
Douglas Leung200f0402016-02-25 20:05:47 -08007 .extern $helper
8 EXPORT_PC()
9 move a0, rSELF
10 addu a1, rFP, OFF_FP_SHADOWFRAME
11 move a2, rPC
12 move a3, rINST
13 JAL($helper)
14 beqz v0, MterpException
15 FETCH_ADVANCE_INST(3)
16 JAL(MterpShouldSwitchInterpreters)
17 bnez v0, MterpFallback
18 GET_INST_OPCODE(t0)
19 GOTO_OPCODE(t0)