blob: 9511578289f02edac729c9c9b0b191dac312a18c [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 */
Alexey Frunze84603bf2016-10-21 19:54:43 -07007 /* op vB, {vD, vE, vF, vG, vA}, class@CCCC */
8 /* op {vCCCC..v(CCCC+AA-1)}, type@BBBB */
Douglas Leung200f0402016-02-25 20:05:47 -08009 .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