OSDN Git Service

Dalvik fast interpreter support and JIT implementation
[android-x86/dalvik.git] / vm / mterp / mips / OP_IPUT_WIDE_QUICK.S
1 %verify "executed"
2 %verify "null object"
3     # iput-wide-quick vA, vB, offset       /* CCCC */
4     GET_OPA4(a0)                           #  a0 <- A(+)
5     GET_OPB(a1)                            #  a1 <- B
6     GET_VREG(a2, a1)                       #  a2 <- fp[B], the object pointer
7     EAS2(a3, rFP, a0)                      #  a3 <- &fp[A]
8     LOAD64(a0, a1, a3)                     #  a0/a1 <- fp[A]
9     # check object for null
10     beqz      a2, common_errNullObject     #  object was null
11     FETCH(a3, 1)                           #  a3 <- field byte offset
12     FETCH_ADVANCE_INST(2)                  #  advance rPC, load rINST
13     addu      a2, a2, a3                   #  obj.field (64 bits, aligned) <- a0/a1
14     STORE64(a0, a1, a2)                    #  obj.field (64 bits, aligned) <- a0/a1
15     GET_INST_OPCODE(t0)                    #  extract opcode from rINST
16     GOTO_OPCODE(t0)                        #  jump to next instruction