1%default { "helper":"MterpFilledNewArray" }
2    /*
3     * Create a new array with elements filled from registers.
4     *
5     * for: filled-new-array, filled-new-array/range
6     */
7    /* op vB, {vD, vE, vF, vG, vA}, class@CCCC */
8    /* op {vCCCC..v(CCCC+AA-1)}, type@BBBB */
9    .extern $helper
10    EXPORT_PC()
11    addu   a0, rFP, OFF_FP_SHADOWFRAME     # a0 <- shadow frame
12    move   a1, rPC
13    move   a2, rSELF
14    JAL($helper)                           #  v0 <- helper(shadow_frame, pc, self)
15    beqz      v0,  MterpPossibleException  #  has exception
16    FETCH_ADVANCE_INST(3)                  #  advance rPC, load rINST
17    GET_INST_OPCODE(t0)                    #  extract opcode from rINST
18    GOTO_OPCODE(t0)                        #  jump to next instruction
19