1e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson%default { "helper":"UndefinedInvokeHandler" }
2e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    /*
3e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson     * invoke-polymorphic handler wrapper.
4e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson     */
5e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    /* op {vC, vD, vE, vF, vG}, meth@BBBB, proto@HHHH */
6e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    /* op {vCCCC..v(CCCC+AA-1)}, meth@BBBB, proto@HHHH */
7e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    .extern $helper
8e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    .extern MterpShouldSwitchInterpreters
9e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    EXPORT_PC
10e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    move    a0, rSELF
11e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    daddu   a1, rFP, OFF_FP_SHADOWFRAME
12e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    move    a2, rPC
13e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    move    a3, rINST
14e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    jal     $helper
15e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    beqzc   v0, MterpException
16e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    FETCH_ADVANCE_INST 4
17e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    jal     MterpShouldSwitchInterpreters
18e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    bnezc   v0, MterpFallback
19e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    GET_INST_OPCODE v0
20e7732be2390f00b1f98b8c0066a37892ee1126f6Orion Hodson    GOTO_OPCODE v0
21