Home | History | Annotate | Download | only in dex2oat
      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