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 COMPILER_OPTIONS_KEY 18*795d594fSAndroid Build Coastguard Worker#error "Please #define COMPILER_OPTIONS_KEY before #including this file" 19*795d594fSAndroid Build Coastguard Worker#define COMPILER_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 CompilerOptionsMap. 23*795d594fSAndroid Build Coastguard Worker// These can be used with CompilerOptionsMap.Get/Set/etc, once that template class has been 24*795d594fSAndroid Build Coastguard Worker// instantiated. 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 Worker 38*795d594fSAndroid Build Coastguard Worker// TODO: Add type parser. 39*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (CompilerFilter::Filter, CompilerFilter) 40*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, CompileArtTest) 41*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, PIC) 42*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (unsigned int, HugeMethodMaxThreshold) 43*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (unsigned int, InlineMaxCodeUnitsThreshold) 44*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, GenerateDebugInfo) 45*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, GenerateMiniDebugInfo) 46*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, GenerateBuildID) 47*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, Debuggable) 48*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, Baseline) 49*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, ProfileBranches) 50*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, AbortOnHardVerifierFailure) 51*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, AbortOnSoftVerifierFailure) 52*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, ResolveStartupConstStrings, false) 53*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, InitializeAppImageClasses, false) 54*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (std::string, DumpInitFailures) 55*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (std::string, DumpCFG) 56*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, DumpCFGAppend) 57*795d594fSAndroid Build Coastguard Worker// TODO: Add type parser. 58*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (ParseStringList<','>, VerboseMethods) 59*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (bool, DeduplicateCode, true) 60*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, CountHotnessInCompiledCode) 61*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (ProfileMethodsCheck, CheckProfiledMethods) 62*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, DumpTimings) 63*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, DumpPassTimings) 64*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (Unit, DumpStats) 65*795d594fSAndroid Build Coastguard WorkerCOMPILER_OPTIONS_KEY (unsigned int, MaxImageBlockSize) 66*795d594fSAndroid Build Coastguard Worker 67*795d594fSAndroid Build Coastguard Worker#undef COMPILER_OPTIONS_KEY 68