16cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov /* iput-wide-quick vA, vB, offset@CCCC */ 26cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movzbq rINSTbl, %rcx # rcx<- BA 36cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov sarl $$4, %ecx # ecx<- B 46cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov GET_VREG %ecx, %rcx # vB (object we're operating on) 56cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov testl %ecx, %ecx # is object null? 66cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov je common_errNullObject 76cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movzwq 2(rPC), %rax # rax<- field byte offset 86cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov leaq (%rcx,%rax,1), %rcx # ecx<- Address of 64-bit target 96cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov andb $$0xf, rINSTbl # rINST<- A 106cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov GET_WIDE_VREG %rax, rINSTq # rax<- fp[A]/fp[A+1] 116cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movq %rax, (%rcx) # obj.field<- r0/r1 126cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 13