diff options
| author | 2012-09-09 14:41:03 -0700 | |
|---|---|---|
| committer | 2012-09-09 14:41:03 -0700 | |
| commit | 1a0806c6847a9dc5cc6d73460d7e8ad3183b5c49 (patch) | |
| tree | 380a8b0796e3ee94072457013de1ad8e94e9a287 /src/compiler/CompilerIR.h | |
| parent | 324e190e9de0d81d39d88474e189acef9b10bcc8 (diff) | |
| parent | d1643e41ef242ae656f667bf3c8b0324635cefd3 (diff) | |
Merge "Basic block combine pass" into dalvik-dev
Diffstat (limited to 'src/compiler/CompilerIR.h')
| -rw-r--r-- | src/compiler/CompilerIR.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h index 02c7621f77..1cbf2b5f19 100644 --- a/src/compiler/CompilerIR.h +++ b/src/compiler/CompilerIR.h @@ -160,6 +160,7 @@ enum BBType { kExitBlock, kExceptionHandling, kCatchEntry, + kDead, }; /* Utility macros to traverse the LIR list */ @@ -239,6 +240,13 @@ struct CallsiteInfo { LIR* misPredBranchOver; }; +struct Checkstats { + int nullChecks; + int nullChecksEliminated; + int rangeChecks; + int rangeChecksEliminated; +}; + struct MIR { DecodedInstruction dalvikInsn; unsigned int width; @@ -272,7 +280,6 @@ struct BasicBlock { bool visited; bool hidden; bool catchEntry; - bool fallThroughTarget; // Reached via fallthrough #if defined(ART_USE_QUICK_COMPILER) bool hasReturn; #endif @@ -412,6 +419,7 @@ struct CompilationUnit { currentArena(NULL), numArenaBlocks(0), mstats(NULL), + checkstats(NULL), #if defined(ART_USE_QUICK_COMPILER) genBitcode(false), context(NULL), @@ -571,6 +579,7 @@ struct CompilationUnit { u4 insnsSize; bool disableDataflow; // Skip dataflow analysis if possible SafeMap<unsigned int, BasicBlock*> blockMap; // findBlock lookup cache + SafeMap<unsigned int, unsigned int> blockIdMap; // Block collapse lookup cache SafeMap<unsigned int, LIR*> boundaryMap; // boundary lookup cache int defCount; // Used to estimate number of SSA names @@ -582,6 +591,7 @@ struct CompilationUnit { ArenaMemBlock* currentArena; int numArenaBlocks; Memstats* mstats; + Checkstats* checkstats; #if defined(ART_USE_QUICK_COMPILER) bool genBitcode; llvm::LLVMContext* context; |