blob: be647b618ba946b1c5c3d5189ae584d9d3711859 [file] [log] [blame]
Alexey Frunze00b53b72016-02-02 20:25:45 -08001%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
Alexey Frunzedb045be2016-03-03 17:50:48 -08008 .extern MterpShouldSwitchInterpreters
Alexey Frunze00b53b72016-02-02 20:25:45 -08009 EXPORT_PC
10 move a0, rSELF
11 daddu a1, rFP, OFF_FP_SHADOWFRAME
12 move a2, rPC
13 move a3, rINST
14 jal $helper
15 beqzc v0, MterpException
16 FETCH_ADVANCE_INST 3
Alexey Frunzedb045be2016-03-03 17:50:48 -080017 jal MterpShouldSwitchInterpreters
18 bnezc v0, MterpFallback
Alexey Frunze00b53b72016-02-02 20:25:45 -080019 GET_INST_OPCODE v0
20 GOTO_OPCODE v0