blob: 86057462db988b2dc33a4b761f1a1e815acf6f61 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /* fill-array-data vAA, +BBBBBBBB */
2 EXPORT_PC()
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 JAL(MterpFillArrayData) # v0 <- Mterp(obj, payload)
11 beqz v0, MterpPossibleException # has exception
12 FETCH_ADVANCE_INST(3) # advance rPC, load rINST
13 GET_INST_OPCODE(t0) # extract opcode from rINST
14 GOTO_OPCODE(t0) # jump to next instruction