1 %default { "reg":"rINST", "store":"movl" } 2 /* For: iput-quick, iput-object-quick */ 3 /* op vA, vB, offset@CCCC */ 4 movzbl rINSTbl, %ecx # ecx <- BA 5 sarl $$4, %ecx # ecx <- B 6 GET_VREG %ecx, %ecx # vB (object we're operating on) 7 testl %ecx, %ecx # is object null? 8 je common_errNullObject 9 andb $$0xf, rINSTbl # rINST <- A 10 GET_VREG rINST, rINST # rINST <- v[A] 11 movzwl 2(rPC), %eax # eax <- field byte offset 12 ${store} ${reg}, (%ecx,%eax,1) 13 ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 14