1 %default { "load":"movl", "shift":"4" }
4 * Array get, 32 bits or less. vAA <- vBB[vCC].
6 * for: aget, aget-object, aget-boolean, aget-byte, aget-char, aget-short
9 movzbl 2(rPC),%eax # eax<- BB
10 movzbl 3(rPC),%ecx # ecx<- CC
11 movzbl rINST_HI,rINST_FULL # rINST_FULL<- AA
12 GET_VREG(%eax,%eax) # eax<- vBB (array object)
13 GET_VREG(%ecx,%ecx) # ecs<- vCC (requested index)
14 testl %eax,%eax # null array object?
15 je common_errNullObject # bail if so
16 cmpl offArrayObject_length(%eax),%ecx
17 jae common_errArrayIndex # index >= length, bail
18 $load offArrayObject_contents(%eax,%ecx,$shift),%eax