1 %verify "executed" 2 /* 3 * Array get, 64 bits. vAA <- vBB[vCC]. 4 * 5 */ 6 /* op vAA, vBB, vCC */ 7 movzbl 2(rPC),%eax # eax<- BB 8 movzbl 3(rPC),%ecx # ecx<- CC 9 GET_VREG_R %eax %eax # eax<- vBB (array object) 10 GET_VREG_R %ecx %ecx # ecs<- vCC (requested index) 11 testl %eax,%eax # null array object? 12 je common_errNullObject # bail if so 13 cmpl offArrayObject_length(%eax),%ecx 14 jae common_errArrayIndex # index >= length, bail. Expects 15 # arrayObj in eax 16 # index in ecx 17 leal offArrayObject_contents(%eax,%ecx,8),%eax 18 movl (%eax),%ecx 19 movl 4(%eax),%eax 20 SET_VREG_WORD %ecx rINST 0 21 SET_VREG_WORD %eax rINST 1 22 FETCH_INST_OPCODE 2 %ecx 23 ADVANCE_PC 2 24 GOTO_NEXT_R %ecx 25