1a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden%verify "executed" 2a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden%verify "null object" 3a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden /* iget-wide-quick vA, vB, offset@CCCC */ 4a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden mov r2, rINST, lsr #12 @ r2<- B 5b48a4d53bc3349b5c99f8b87a396e7374e2d335cDave Butcher FETCH(ip, 1) @ ip<- field byte offset 6a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden GET_VREG(r3, r2) @ r3<- object we're operating on 7a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden ubfx r2, rINST, #8, #4 @ r2<- A 8a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden cmp r3, #0 @ check object for null 9a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden beq common_errNullObject @ object was null 10b48a4d53bc3349b5c99f8b87a396e7374e2d335cDave Butcher ldrd r0, [r3, ip] @ r0<- obj.field (64 bits, aligned) 11a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden FETCH_ADVANCE_INST(2) @ advance rPC, load rINST 12a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden add r3, rFP, r2, lsl #2 @ r3<- &fp[A] 13a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden GET_INST_OPCODE(ip) @ extract opcode from rINST 14a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden stmia r3, {r0-r1} @ fp[A]<- r0/r1 15a5069fb7eb2da846ff1fc2c903ebd8ce9fa3647fAndy McFadden GOTO_OPCODE(ip) @ jump to next instruction 16