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/Frontend.cc | |
| 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/Frontend.cc')
| -rw-r--r-- | src/compiler/Frontend.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/Frontend.cc b/src/compiler/Frontend.cc index c5692bc10d..2a6714f35e 100644 --- a/src/compiler/Frontend.cc +++ b/src/compiler/Frontend.cc @@ -765,6 +765,8 @@ CompiledMethod* oatCompileMethod(const Compiler& compiler, const DexFile::CodeIt cUnit->numDalvikRegisters = code_item->registers_size_; cUnit->blockMap = std::map<unsigned int, BasicBlock*>(); cUnit->blockMap.clear(); + cUnit->boundaryMap = std::map<unsigned int, LIR*>(); + cUnit->boundaryMap.clear(); bool useMatch = compilerMethodMatch.length() != 0; bool match = useMatch && (compilerFlipMatch ^ (PrettyMethod(method_idx, dex_file).find(compilerMethodMatch) != std::string::npos)); |