1200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung /* fill-array-data vAA, +BBBBBBBB */ 2200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung EXPORT_PC() 384603bf8535ba8390e0461b9d9c7917939e26312Alexey Frunze FETCH(a1, 1) # a1 <- bbbb (lo) 484603bf8535ba8390e0461b9d9c7917939e26312Alexey Frunze FETCH(a0, 2) # a0 <- BBBB (hi) 5200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung GET_OPA(a3) # a3 <- AA 684603bf8535ba8390e0461b9d9c7917939e26312Alexey Frunze INSERT_HIGH_HALF(a1, a0) # a1 <- BBBBbbbb 7200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung GET_VREG(a0, a3) # a0 <- vAA (array object) 8200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung EAS1(a1, rPC, a1) # a1 <- PC + BBBBbbbb*2 (array data off.) 9200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung JAL(MterpFillArrayData) # v0 <- Mterp(obj, payload) 10200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung beqz v0, MterpPossibleException # has exception 11200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung FETCH_ADVANCE_INST(3) # advance rPC, load rINST 12200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung GET_INST_OPCODE(t0) # extract opcode from rINST 13200f040af3e4fe9e178cb63c90860d58d90ef665Douglas Leung GOTO_OPCODE(t0) # jump to next instruction 14