Home | History | Annotate | Download | only in armv5te
      1 %verify "executed"
      2 %verify "null object"
      3     /* For: iput-object-quick */
      4     /* op vA, vB, offset@CCCC */
      5     mov     r2, rINST, lsr #12          @ r2<- B
      6     GET_VREG(r3, r2)                    @ r3<- fp[B], the object pointer
      7     FETCH(r1, 1)                        @ r1<- field byte offset
      8     cmp     r3, #0                      @ check object for null
      9     mov     r2, rINST, lsr #8           @ r2<- A(+)
     10     beq     common_errNullObject        @ object was null
     11     and     r2, r2, #15
     12     GET_VREG(r0, r2)                    @ r0<- fp[A]
     13     ldr     r2, [rSELF, #offThread_cardTable]  @ r2<- card table base
     14     FETCH_ADVANCE_INST(2)               @ advance rPC, load rINST
     15     str     r0, [r3, r1]                @ obj.field (always 32 bits)<- r0
     16     cmp     r0, #0
     17     strneb  r2, [r2, r3, lsr #GC_CARD_SHIFT] @ mark card based on obj head
     18     GET_INST_OPCODE(ip)                 @ extract opcode from rINST
     19     GOTO_OPCODE(ip)                     @ jump to next instruction
     20