xref: /aosp_15_r20/art/dex2oat/dex2oat_options.def (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
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