buzbee | 1452bee | 2015-03-06 14:43:04 -0800 | [diff] [blame^] | 1 | %default { "store":"str" } |
| 2 | /* For: iput-quick, iput-object-quick */ |
| 3 | /* op vA, vB, offset@CCCC */ |
| 4 | mov r2, rINST, lsr #12 @ r2<- B |
| 5 | FETCH r1, 1 @ r1<- field byte offset |
| 6 | GET_VREG r3, r2 @ r3<- fp[B], the object pointer |
| 7 | ubfx r2, rINST, #8, #4 @ r2<- A |
| 8 | cmp r3, #0 @ check object for null |
| 9 | beq common_errNullObject @ object was null |
| 10 | GET_VREG r0, r2 @ r0<- fp[A] |
| 11 | FETCH_ADVANCE_INST 2 @ advance rPC, load rINST |
| 12 | $store r0, [r3, r1] @ obj.field<- r0 |
| 13 | GET_INST_OPCODE ip @ extract opcode from rINST |
| 14 | GOTO_OPCODE ip @ jump to next instruction |