diff options
| author | 2012-01-27 15:52:35 -0800 | |
|---|---|---|
| committer | 2012-01-27 15:52:35 -0800 | |
| commit | 85d8c1ef43adec4f57c5ce372ef7816d13c98420 (patch) | |
| tree | 049faf14d49353d39cfceb67183b4a0124318c2a /src/compiler/CompilerIR.h | |
| parent | 748382f38dfe7a0d9a426a4b72fcfc399ba1a5da (diff) | |
Minor compiler tuning
Large switch statements were getting bogged down in a linear search.
Added a map for fast lookup (which may also be useful for debug
support).
Change-Id: I00e5956ea7e98ff2c870fb2d3e299e8d4c88f598
Diffstat (limited to 'src/compiler/CompilerIR.h')
| -rw-r--r-- | src/compiler/CompilerIR.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h index 76649d5980..1eb6c6472e 100644 --- a/src/compiler/CompilerIR.h +++ b/src/compiler/CompilerIR.h @@ -331,6 +331,7 @@ typedef struct CompilationUnit { bool usesFP; // Method contains at least 1 non-move FP operation bool disableDataflow; // Skip dataflow analysis if possible std::map<unsigned int, BasicBlock*> blockMap; // findBlock lookup cache + std::map<unsigned int, LIR*> boundaryMap; // boundary lookup cache } CompilationUnit; BasicBlock* oatNewBB(BBType blockType, int blockId); |