Home | History | Annotate | Download | only in dex
      1 /*
      2  * Copyright (C) 2015 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 ART_COMPILER_DEX_DEX_FLAGS_H_
     18 #define ART_COMPILER_DEX_DEX_FLAGS_H_
     19 
     20 namespace art {
     21 
     22 // Suppress optimization if corresponding bit set.
     23 enum OptControlVector {
     24   kLoadStoreElimination = 0,
     25   kLoadHoisting,
     26   kSuppressLoads,
     27   kNullCheckElimination,
     28   kClassInitCheckElimination,
     29   kGlobalValueNumbering,
     30   kGvnDeadCodeElimination,
     31   kLocalValueNumbering,
     32   kPromoteRegs,
     33   kTrackLiveTemps,
     34   kSafeOptimizations,
     35   kBBOpt,
     36   kSuspendCheckElimination,
     37   kMatch,
     38   kPromoteCompilerTemps,
     39   kBranchFusing,
     40   kSuppressExceptionEdges,
     41   kSuppressMethodInlining,
     42 };
     43 
     44 // Force code generation paths for testing.
     45 enum DebugControlVector {
     46   kDebugVerbose,
     47   kDebugDumpCFG,
     48   kDebugSlowFieldPath,
     49   kDebugSlowInvokePath,
     50   kDebugSlowStringPath,
     51   kDebugSlowTypePath,
     52   kDebugSlowestFieldPath,
     53   kDebugSlowestStringPath,
     54   kDebugExerciseResolveMethod,
     55   kDebugVerifyDataflow,
     56   kDebugShowMemoryUsage,
     57   kDebugShowNops,
     58   kDebugCountOpcodes,
     59   kDebugDumpCheckStats,
     60   kDebugShowSummaryMemoryUsage,
     61   kDebugShowFilterStats,
     62   kDebugTimings,
     63   kDebugCodegenDump
     64 };
     65 
     66 }  // namespace art
     67 
     68 #endif  // ART_COMPILER_DEX_DEX_FLAGS_H_
     69