• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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