blob: 3f62faef1cab3b06412a4eece3963d713aceb081 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001%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