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/codegen/arm/MethodCodegenDriver.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/codegen/arm/MethodCodegenDriver.cc')
| -rw-r--r-- | src/compiler/codegen/arm/MethodCodegenDriver.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc index 77b58ff344..6f476f930f 100644 --- a/src/compiler/codegen/arm/MethodCodegenDriver.cc +++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc @@ -2049,6 +2049,8 @@ STATIC bool methodBlockCodeGen(CompilationUnit* cUnit, BasicBlock* bb) boundaryLIR = newLIR1(cUnit, kArmPseudoDalvikByteCodeBoundary, (int) oatGetDalvikDisassembly( &mir->dalvikInsn, "")); + cUnit->boundaryMap.insert(std::make_pair(mir->offset, + (LIR*)boundaryLIR)); /* Remember the first LIR for this block */ if (headLIR == NULL) { headLIR = boundaryLIR; |