/* | |
* Allocate an array of objects, specified with the array class | |
* and a count. | |
* | |
* The verifier guarantees that this is an array class, so we don't | |
* check for it here. | |
*/ | |
/* new-array vA, vB, class@CCCC */ | |
EXPORT_PC | |
leal OFF_FP_SHADOWFRAME(rFP), %eax | |
movl %eax, OUT_ARG0(%esp) | |
movl rPC, OUT_ARG1(%esp) | |
REFRESH_INST ${opnum} | |
movl rINST, OUT_ARG2(%esp) | |
movl rSELF, %ecx | |
movl %ecx, OUT_ARG3(%esp) | |
call SYMBOL(MterpNewArray) | |
RESTORE_IBASE | |
testb %al, %al # 0 means an exception is thrown | |
jz MterpPossibleException | |
ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 |