1 %verify "executed" 2 /* 3 * Array put, 64 bits. vBB[vCC]<-vAA. 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 GET_VREG_WORD %ecx rINST 0 19 GET_VREG_WORD rINST rINST 1 20 movl %ecx,(%eax) 21 FETCH_INST_OPCODE 2 %ecx 22 movl rINST,4(%eax) 23 ADVANCE_PC 2 24 GOTO_NEXT_R %ecx 25