blob: e1ca85c8661e6fbbcbe8de67d8e5a5b7085aa132 [file] [log] [blame]
buzbee1452bee2015-03-06 14:43:04 -08001 /* fill-array-data vAA, +BBBBBBBB */
2 EXPORT_PC
3 FETCH r0, 1 @ r0<- bbbb (lo)
4 FETCH r1, 2 @ r1<- BBBB (hi)
5 mov r3, rINST, lsr #8 @ r3<- AA
6 orr r1, r0, r1, lsl #16 @ r1<- BBBBbbbb
7 GET_VREG r0, r3 @ r0<- vAA (array object)
8 add r1, rPC, r1, lsl #1 @ r1<- PC + BBBBbbbb*2 (array data off.)
9 bl MterpFillArrayData @ (obj, payload)
10 cmp r0, #0 @ 0 means an exception is thrown
11 beq MterpPossibleException @ exception?
12 FETCH_ADVANCE_INST 3 @ advance rPC, load rINST
13 GET_INST_OPCODE ip @ extract opcode from rINST
14 GOTO_OPCODE ip @ jump to next instruction