Home | History | Annotate | Download | only in x86
      1 /*
      2  * Allocate an array of objects, specified with the array class
      3  * and a count.
      4  *
      5  * The verifier guarantees that this is an array class, so we don't
      6  * check for it here.
      7  */
      8     /* new-array vA, vB, class@CCCC */
      9     EXPORT_PC
     10     leal    OFF_FP_SHADOWFRAME(rFP), %eax
     11     movl    %eax, OUT_ARG0(%esp)
     12     movl    rPC, OUT_ARG1(%esp)
     13     REFRESH_INST ${opnum}
     14     movl    rINST, OUT_ARG2(%esp)
     15     movl    rSELF, %ecx
     16     movl    %ecx, OUT_ARG3(%esp)
     17     call    SYMBOL(MterpNewArray)
     18     RESTORE_IBASE
     19     testb   %al, %al                        # 0 means an exception is thrown
     20     jz      MterpPossibleException
     21     ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
     22