summaryrefslogtreecommitdiff
path: root/vm/mterp/x86/OP_FILL_ARRAY_DATA.S
blob: 5ca17a60d1a4c40fbd4d52f5a8c9c5c774bc97fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
%verify "executed"
    /* fill-array-data vAA, +BBBBBBBB */
    movl    2(rPC),%ecx                # ecx<- BBBBbbbb
    leal    (rPC,%ecx,2),%ecx          # ecx<- PC + BBBBbbbb*2
    GET_VREG_R %eax rINST
    EXPORT_PC
    movl    %eax,OUT_ARG0(%esp)
    movl    %ecx,OUT_ARG1(%esp)
    SPILL(rIBASE)
    call    dvmInterpHandleFillArrayData
    UNSPILL(rIBASE)
    FETCH_INST_OPCODE 3 %ecx
    testl   %eax,%eax                   # exception thrown?
    je      common_exceptionThrown
    ADVANCE_PC 3
    GOTO_NEXT_R %ecx