1 /* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License") 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef DEX2OAT_OPTIONS_KEY 18 #error "Please #define DEX2OAT_OPTIONS_KEY before #including this file" 19 #define DEX2OAT_OPTIONS_KEY(...) // Don't display errors in this file in IDEs. 20 #endif 21 22 // This file defines the list of keys for Dex2oatOptions. 23 // These can be used with Dex2oatOptions.Get/Set/etc, for example: 24 // Dex2oatOptions opt; bool* dex2oat_enabled = opt.Get(Dex2oatOptions::Dex2Oat); 25 // 26 // Column Descriptions: 27 // <<Type>> <<Key Name>> <<Default Value>> 28 // 29 // Default values are only used by Map::GetOrDefault(K<T>). 30 // If a default value is omitted here, T{} is used as the default value, which is 31 // almost-always the value of the type as if it was memset to all 0. 32 // 33 // Please keep the columns aligned if possible when adding new rows. 34 // 35 36 // Parse-able keys from the command line. 37 DEX2OAT_OPTIONS_KEY (CompactDexLevel, CompactDexLevel) 38 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, DexFiles) 39 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, DexLocations) 40 DEX2OAT_OPTIONS_KEY (int, ZipFd) 41 DEX2OAT_OPTIONS_KEY (std::string, ZipLocation) 42 DEX2OAT_OPTIONS_KEY (int, InputVdexFd) 43 DEX2OAT_OPTIONS_KEY (std::string, InputVdex) 44 DEX2OAT_OPTIONS_KEY (int, OutputVdexFd) 45 DEX2OAT_OPTIONS_KEY (std::string, OutputVdex) 46 DEX2OAT_OPTIONS_KEY (int, DmFd) 47 DEX2OAT_OPTIONS_KEY (std::string, DmFile) 48 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, OatFiles) 49 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, OatSymbols) 50 DEX2OAT_OPTIONS_KEY (int, OatFd) 51 DEX2OAT_OPTIONS_KEY (std::string, OatLocation) 52 DEX2OAT_OPTIONS_KEY (bool, Watchdog) 53 DEX2OAT_OPTIONS_KEY (int, WatchdogTimeout) 54 DEX2OAT_OPTIONS_KEY (unsigned int, Threads) 55 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, ImageFilenames) 56 DEX2OAT_OPTIONS_KEY (std::string, ImageClasses) 57 DEX2OAT_OPTIONS_KEY (std::string, ImageClassesZip) 58 DEX2OAT_OPTIONS_KEY (ImageHeader::StorageMode, ImageFormat) 59 DEX2OAT_OPTIONS_KEY (std::string, CompiledClasses) 60 DEX2OAT_OPTIONS_KEY (std::string, CompiledClassesZip) 61 DEX2OAT_OPTIONS_KEY (std::string, CompiledMethods) 62 DEX2OAT_OPTIONS_KEY (std::string, CompiledMethodsZip) 63 DEX2OAT_OPTIONS_KEY (std::string, Passes) 64 DEX2OAT_OPTIONS_KEY (std::string, Base) // TODO: Hex string parsing. 65 DEX2OAT_OPTIONS_KEY (std::string, BootImage) 66 DEX2OAT_OPTIONS_KEY (std::string, AndroidRoot) 67 DEX2OAT_OPTIONS_KEY (InstructionSet, TargetInstructionSet) 68 DEX2OAT_OPTIONS_KEY (std::string, TargetInstructionSetVariant) 69 DEX2OAT_OPTIONS_KEY (std::string, TargetInstructionSetFeatures) 70 DEX2OAT_OPTIONS_KEY (Compiler::Kind, Backend) 71 DEX2OAT_OPTIONS_KEY (std::string, Profile) 72 DEX2OAT_OPTIONS_KEY (int, ProfileFd) 73 DEX2OAT_OPTIONS_KEY (Unit, Host) 74 DEX2OAT_OPTIONS_KEY (Unit, DumpTiming) 75 DEX2OAT_OPTIONS_KEY (Unit, DumpPasses) 76 DEX2OAT_OPTIONS_KEY (Unit, DumpStats) 77 DEX2OAT_OPTIONS_KEY (CopyOption, CopyDexFiles) 78 DEX2OAT_OPTIONS_KEY (Unit, AvoidStoringInvocation) 79 DEX2OAT_OPTIONS_KEY (std::string, SwapFile) 80 DEX2OAT_OPTIONS_KEY (int, SwapFileFd) 81 DEX2OAT_OPTIONS_KEY (unsigned int, SwapDexSizeThreshold) 82 DEX2OAT_OPTIONS_KEY (unsigned int, SwapDexCountThreshold) 83 DEX2OAT_OPTIONS_KEY (unsigned int, VeryLargeAppThreshold) 84 DEX2OAT_OPTIONS_KEY (std::string, AppImageFile) 85 DEX2OAT_OPTIONS_KEY (int, AppImageFileFd) 86 DEX2OAT_OPTIONS_KEY (Unit, MultiImage) 87 DEX2OAT_OPTIONS_KEY (std::string, NoInlineFrom) 88 DEX2OAT_OPTIONS_KEY (Unit, ForceDeterminism) 89 DEX2OAT_OPTIONS_KEY (std::string, ClasspathDir) 90 DEX2OAT_OPTIONS_KEY (std::string, ClassLoaderContext) 91 DEX2OAT_OPTIONS_KEY (std::string, StoredClassLoaderContext) 92 DEX2OAT_OPTIONS_KEY (std::string, DirtyImageObjects) 93 DEX2OAT_OPTIONS_KEY (std::vector<std::string>, RuntimeOptions) 94 DEX2OAT_OPTIONS_KEY (std::string, CompilationReason) 95 96 #undef DEX2OAT_OPTIONS_KEY 97