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