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