1%default { "load":"movl", "wide":"0"} 2 /* For: iget-quick, iget-boolean-quick, iget-byte-quick, iget-char-quick, iget-short-quick, iget-wide-quick */ 3 /* op vA, vB, offset@CCCC */ 4 movl rINST, %ecx # rcx <- BA 5 sarl $$4, %ecx # ecx <- B 6 GET_VREG %ecx, %rcx # vB (object we're operating on) 7 movzwq 2(rPC), %rax # eax <- field byte offset 8 testl %ecx, %ecx # is object null? 9 je common_errNullObject 10 andb $$0xf,rINSTbl # rINST <- A 11 .if $wide 12 movq (%rcx,%rax,1), %rax 13 SET_WIDE_VREG %rax, rINSTq # fp[A] <- value 14 .else 15 ${load} (%rcx,%rax,1), %eax 16 SET_VREG %eax, rINSTq # fp[A] <- value 17 .endif 18 ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 19