From a0e180632411f7fe0edf454e571c42209ee7b540 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 13 Apr 2012 15:59:59 -0700 Subject: Add a SafeMap equivalent to std::map but without the error-prone operator[]. Change-Id: Iae5ba2091c55a34dbd1005cf3d25fce2a8d5c1f9 --- src/compiler/codegen/CodegenUtil.cc | 2 +- src/compiler/codegen/MethodCodegenDriver.cc | 3 +-- src/compiler/codegen/arm/Thumb2/Gen.cc | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'src/compiler/codegen') diff --git a/src/compiler/codegen/CodegenUtil.cc b/src/compiler/codegen/CodegenUtil.cc index 00e78ecf4b..777cf57345 100644 --- a/src/compiler/codegen/CodegenUtil.cc +++ b/src/compiler/codegen/CodegenUtil.cc @@ -857,7 +857,7 @@ void oatAssembleLIR(CompilationUnit* cUnit) */ LIR* insertCaseLabel(CompilationUnit* cUnit, int vaddr, int keyVal) { - std::map::iterator it; + SafeMap::iterator it; it = cUnit->boundaryMap.find(vaddr); if (it == cUnit->boundaryMap.end()) { LOG(FATAL) << "Error: didn't find vaddr 0x" << std::hex << vaddr; diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc index 0b8a19dddb..dd473590dd 100644 --- a/src/compiler/codegen/MethodCodegenDriver.cc +++ b/src/compiler/codegen/MethodCodegenDriver.cc @@ -883,8 +883,7 @@ bool methodBlockCodeGen(CompilationUnit* cUnit, BasicBlock* bb) oatGetDalvikDisassembly(cUnit, mir->dalvikInsn, "") : NULL; boundaryLIR = newLIR1(cUnit, kPseudoDalvikByteCodeBoundary, (intptr_t) instStr); - cUnit->boundaryMap.insert(std::make_pair(mir->offset, - (LIR*)boundaryLIR)); + cUnit->boundaryMap.Overwrite(mir->offset, boundaryLIR); /* Remember the first LIR for this block */ if (headLIR == NULL) { headLIR = boundaryLIR; diff --git a/src/compiler/codegen/arm/Thumb2/Gen.cc b/src/compiler/codegen/arm/Thumb2/Gen.cc index fa51266ee5..5451d57e02 100644 --- a/src/compiler/codegen/arm/Thumb2/Gen.cc +++ b/src/compiler/codegen/arm/Thumb2/Gen.cc @@ -133,8 +133,7 @@ void genPrintLabel(CompilationUnit *cUnit, MIR* mir) oatGetDalvikDisassembly(cUnit, mir->dalvikInsn, "") : NULL; boundaryLIR = newLIR1(cUnit, kPseudoDalvikByteCodeBoundary, (intptr_t) instStr); - cUnit->boundaryMap.insert(std::make_pair(mir->offset, - (LIR*)boundaryLIR)); + cUnit->boundaryMap.Put(mir->offset, boundaryLIR); /* Don't generate the SSA annotation unless verbose mode is on */ if (cUnit->printMe && mir->ssaRep) { char* ssaString = oatGetSSAString(cUnit, mir->ssaRep); -- cgit v1.2.3-59-g8ed1b