Home | History | Annotate | Download | only in x86
      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