Douglas Leung | 200f040 | 2016-02-25 20:05:47 -0800 | [diff] [blame] | 1 | /* |
2 | * Return the length of an array. | ||||
3 | */ | ||||
4 | GET_OPB(a1) # a1 <- B | ||||
5 | GET_OPA4(a2) # a2 <- A+ | ||||
6 | GET_VREG(a0, a1) # a0 <- vB (object ref) | ||||
7 | # is object null? | ||||
8 | beqz a0, common_errNullObject # yup, fail | ||||
9 | FETCH_ADVANCE_INST(1) # advance rPC, load rINST | ||||
10 | LOAD_base_offMirrorArray_length(a3, a0) # a3 <- array length | ||||
11 | GET_INST_OPCODE(t0) # extract opcode from rINST | ||||
12 | SET_VREG_GOTO(a3, a2, t0) # vA <- length |