summaryrefslogtreecommitdiff
path: root/src/compiler/Compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/Compiler.h')
-rw-r--r--src/compiler/Compiler.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/compiler/Compiler.h b/src/compiler/Compiler.h
index ba97aac6e7..f9e2478e47 100644
--- a/src/compiler/Compiler.h
+++ b/src/compiler/Compiler.h
@@ -26,6 +26,39 @@ typedef enum OatInstructionSetType {
DALVIK_OAT_THUMB2,
} OatInstructionSetType;
+/* Supress optimization if corresponding bit set */
+enum optControlVector {
+ kLoadStoreElimination = 0,
+ kLoadHoisting,
+ kSuppressLoads,
+ kNullCheckElimination,
+ kPromoteRegs,
+ kTrackLiveTemps,
+};
+
+extern uint32_t compilerOptimizerDisableFlags;
+
+/* Force code generation paths for testing */
+enum debugControlVector {
+ kDebugDisplayMissingTargets,
+ kDebugVerbose,
+ kDebugDumpCFG,
+ kDebugSlowFieldPath,
+ kDebugSlowInvokePath,
+ kDebugSlowStringPath,
+ kDebugSlowTypePath,
+ kDebugSlowestFieldPath,
+ kDebugSlowestStringPath,
+};
+
+extern uint32_t compilerDebugFlags;
+
+/* If non-empty, apply optimizer/debug flags only to matching methods */
+extern std::string compilerMethodMatch;
+
+/* Flips sense of compilerMethodMatch - apply flags if doesn't match */
+extern bool compilerFlipMatch;
+
typedef enum OatMethodAttributes {
kIsCallee = 0, /* Code is part of a callee (invoked by a hot trace) */
kIsHot, /* Code is part of a hot trace */