OSDN Git Service

AI 144925: Rename armv4 to armv4t, which is what it really is.
[android-x86/dalvik.git] / vm / mterp / armv4t / OP_IPUT_WIDE_QUICK.S
1 %verify "executed"
2 %verify "null object"
3     /* iput-wide-quick vA, vB, offset@CCCC */
4     mov     r0, rINST, lsr #8           @ r0<- A(+)
5     mov     r1, rINST, lsr #12          @ r1<- B
6     and     r0, r0, #15
7     GET_VREG(r2, r1)                    @ r2<- fp[B], the object pointer
8     add     r3, rFP, r0, lsl #2         @ r3<- &fp[A]
9     cmp     r2, #0                      @ check object for null
10     ldmia   r3, {r0-r1}                 @ r0/r1<- fp[A]
11     beq     common_errNullObject        @ object was null
12     FETCH(r3, 1)                        @ r3<- field byte offset
13     FETCH_ADVANCE_INST(2)               @ advance rPC, load rINST
14     add     r2, r2, r3                  @ r2<- object + byte offset
15     stmia   r2, {r0-r1}                 @ obj.field (64 bits, aligned)<- r0/r1
16     GET_INST_OPCODE(ip)                 @ extract opcode from rINST
17     GOTO_OPCODE(ip)                     @ jump to next instruction
18