16cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov%default { "reg":"rINST", "store":"movl" } 26cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov /* For: iput-quick, iput-object-quick */ 36cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov /* op vA, vB, offset@CCCC */ 46cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movzbq rINSTbl, %rcx # rcx <- BA 56cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov sarl $$4, %ecx # ecx <- B 66cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov GET_VREG %ecx, %rcx # vB (object we're operating on) 76cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov testl %ecx, %ecx # is object null? 86cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov je common_errNullObject 96cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov andb $$0xf, rINSTbl # rINST <- A 106cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov GET_VREG rINST, rINSTq # rINST <- v[A] 116cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov movzwq 2(rPC), %rax # rax <- field byte offset 126cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov ${store} ${reg}, (%rcx,%rax,1) 136cbe0814952bd3bbb329c4ca4dc683ac87c2c2deSerguei Katkov ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 14