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