Use UniquePtr in MethodVerifier::GenerateDevirtMap.
Also fix some indentation.
Change-Id: I384d9c11e316f898ff26d0de533e4c4193db10b5
diff --git a/src/verifier/method_verifier.cc b/src/verifier/method_verifier.cc
index 2eb0c20..90f5b41 100644
--- a/src/verifier/method_verifier.cc
+++ b/src/verifier/method_verifier.cc
@@ -3168,7 +3168,7 @@
return NULL;
}
- PcToConreteMethod* pc_to_concrete_method = new PcToConreteMethod();
+ UniquePtr<PcToConreteMethod> pc_to_concrete_method(new PcToConreteMethod());
uint32_t dex_pc = 0;
const uint16_t* insns = code_item_->insns_ ;
const Instruction* inst = Instruction::At(insns);
@@ -3190,7 +3190,7 @@
const RegType& reg_type(line->GetRegisterType(dec_insn.vC));
if (!reg_type.IsPreciseReference()) {
- continue;
+ continue;
}
CHECK(!(reg_type.GetClass()->IsInterface()));
@@ -3229,13 +3229,12 @@
// Now Save the current PC and the concrete method reference to be used
// in compiler driver.
pc_to_concrete_method->Put(dex_pc, concrete_ref );
- }
+ }
if (pc_to_concrete_method->size() == 0) {
- delete pc_to_concrete_method;
return NULL ;
}
- return pc_to_concrete_method;
+ return pc_to_concrete_method.release();
}
const std::vector<uint8_t>* MethodVerifier::GenerateGcMap() {