blob: 812852ef57fde4ce1f329c8f547b027b94eab386 [file] [log] [blame]
David Srbeckyff74a742018-09-06 11:30:36 +01001%def invoke(helper="UndefinedInvokeHandler"):
buzbee1452bee2015-03-06 14:43:04 -08002 /*
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 mov r0, rSELF
10 add r1, rFP, #OFF_FP_SHADOWFRAME
11 mov r2, rPC
12 mov r3, rINST
13 bl $helper
14 cmp r0, #0
15 beq MterpException
16 FETCH_ADVANCE_INST 3
Bill Buzbeefd522f92016-02-11 22:37:42 +000017 bl MterpShouldSwitchInterpreters
18 cmp r0, #0
19 bne MterpFallback
buzbee1452bee2015-03-06 14:43:04 -080020 GET_INST_OPCODE ip
21 GOTO_OPCODE ip
22