buzbee | 1452bee | 2015-03-06 14:43:04 -0800 | [diff] [blame] | 1 | /* 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 |