diff options
| author | 2011-10-04 14:32:18 -0700 | |
|---|---|---|
| committer | 2011-10-05 09:22:57 -0700 | |
| commit | ce30293d222c864fa281da98bc896dd1c98a9a16 (patch) | |
| tree | b56c3a7f8be3349aa50c78675e6959e51344938d /src/compiler/Compiler.h | |
| parent | 20cde9033d51103f31e21436e88f80e1170c78ad (diff) | |
Compiler cleanup
o Added slow path for string resolution
o Removed dead throw internal and runtime error
o Restructured debug and optimization disable flags for make it easier
for command-line option support.
o Removed/converted #if 1/0 blocks
Change-Id: I65fc561a55437b3f74d0dfff5af87f938008d70e
Diffstat (limited to 'src/compiler/Compiler.h')
| -rw-r--r-- | src/compiler/Compiler.h | 33 |
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 */ |