blob: 3f62faef1cab3b06412a4eece3963d713aceb081 [file] [log] [blame]
%default { "helper":"MterpFilledNewArray" }
/*
* Create a new array with elements filled from registers.
*
* for: filled-new-array, filled-new-array/range
*/
# op vB, {vD, vE, vF, vG, vA}, class /* CCCC */
# op {vCCCC..v(CCCC+AA-1)}, type /* BBBB */
.extern $helper
EXPORT_PC()
addu a0, rFP, OFF_FP_SHADOWFRAME # a0 <- shadow frame
move a1, rPC
move a2, rSELF
JAL($helper) # v0 <- helper(shadow_frame, pc, self)
beqz v0, MterpPossibleException # has exception
FETCH_ADVANCE_INST(3) # advance rPC, load rINST
GET_INST_OPCODE(t0) # extract opcode from rINST
GOTO_OPCODE(t0) # jump to next instruction