1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectHANDLE_OPCODE(OP_ARRAY_LENGTH /*vA, vB*/)
2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    {
3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ArrayObject* arrayObj;
4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project
5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        vdst = INST_A(inst);
6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        vsrc1 = INST_B(inst);
7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        arrayObj = (ArrayObject*) GET_REGISTER(vsrc1);
8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        ILOGV("|array-length v%d,v%d  (%p)", vdst, vsrc1, arrayObj);
9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        if (!checkForNullExportPC((Object*) arrayObj, fp, pc))
10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project            GOTO_exceptionThrown();
11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        /* verifier guarantees this is an array reference */
12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project        SET_REGISTER(vdst, arrayObj->length);
13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    }
14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project    FINISH(1);
15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source ProjectOP_END
16