blob: ecaf98e415c69d572b9275cea41a3583186b789f [file] [log] [blame]
%default { "reg":"rINST", "store":"movl" }
/* For: iput-quick, iput-object-quick */
/* op vA, vB, offset@CCCC */
movzbq rINSTbl, %rcx # rcx <- BA
sarl $$4, %ecx # ecx <- B
GET_VREG %ecx, %rcx # vB (object we're operating on)
testl %ecx, %ecx # is object null?
je common_errNullObject
andb $$0xf, rINSTbl # rINST <- A
GET_VREG rINST, rINSTq # rINST <- v[A]
movzwq 2(rPC), %rax # rax <- field byte offset
${store} ${reg}, (%rcx,%rax,1)
ADVANCE_PC_FETCH_AND_GOTO_NEXT 2