OP_FILL_ARRAY_DATA.S revision a8b91c52fd8a90b784835dfe1f8898035266c4dd
1%verify "executed"
2    /* fill-array-data vAA, +BBBBBBBB */
3    FETCH(a0, 1)                           #  a0 <- bbbb (lo)
4    FETCH(a1, 2)                           #  a1 <- BBBB (hi)
5    GET_OPA(a3)                            #  a3 <- AA
6    sll       a1, a1, 16                   #  a1 <- BBBBbbbb
7    or        a1, a0, a1                   #  a1 <- BBBBbbbb
8    GET_VREG(a0, a3)                       #  a0 <- vAA (array object)
9    EAS1(a1, rPC, a1)                      #  a1 <- PC + BBBBbbbb*2 (array data off.)
10    EXPORT_PC()
11    JAL(dvmInterpHandleFillArrayData)      #  fill the array with predefined data
12    # 0 means an exception is thrown
13    beqz      v0, common_exceptionThrown   #  has exception
14    FETCH_ADVANCE_INST(3)                  #  advance rPC, load rINST
15    GET_INST_OPCODE(t0)                    #  extract opcode from rINST
16    GOTO_OPCODE(t0)                        #  jump to next instruction
17