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 leal OFF_FP_SHADOWFRAME(rFP), %eax 12 movl %eax, OUT_ARG0(%esp) 13 movl rPC, OUT_ARG1(%esp) 14 movl rSELF, %ecx 15 movl %ecx, OUT_ARG2(%esp) 16 call SYMBOL($helper) 17 REFRESH_IBASE 18 testb %al, %al # 0 means an exception is thrown 19 jz MterpPossibleException 20 ADVANCE_PC_FETCH_AND_GOTO_NEXT 3 21