buzbee | 1452bee | 2015-03-06 14:43:04 -0800 | [diff] [blame^] | 1 | /* iget-wide-quick vA, vB, offset@CCCC */ |
| 2 | mov r2, rINST, lsr #12 @ r2<- B |
| 3 | FETCH ip, 1 @ ip<- field byte offset |
| 4 | GET_VREG r3, r2 @ r3<- object we're operating on |
| 5 | ubfx r2, rINST, #8, #4 @ r2<- A |
| 6 | cmp r3, #0 @ check object for null |
| 7 | beq common_errNullObject @ object was null |
| 8 | ldrd r0, [r3, ip] @ r0<- obj.field (64 bits, aligned) |
| 9 | FETCH_ADVANCE_INST 2 @ advance rPC, load rINST |
| 10 | add r3, rFP, r2, lsl #2 @ r3<- &fp[A] |
| 11 | GET_INST_OPCODE ip @ extract opcode from rINST |
| 12 | stmia r3, {r0-r1} @ fp[A]<- r0/r1 |
| 13 | GOTO_OPCODE ip @ jump to next instruction |