1    /*
2     * Return the length of an array.
3     */
4    lsr     w1, wINST, #12              // w1<- B
5    ubfx    w2, wINST, #8, #4           // w2<- A
6    GET_VREG w0, w1                     // w0<- vB (object ref)
7    cbz     w0, common_errNullObject    // yup, fail
8    FETCH_ADVANCE_INST 1                // advance rPC, load rINST
9    ldr     w3, [x0, #MIRROR_ARRAY_LENGTH_OFFSET]    // w3<- array length
10    GET_INST_OPCODE ip                  // extract opcode from rINST
11    SET_VREG w3, w2                     // vB<- length
12    GOTO_OPCODE ip                      // jump to next instruction
13