Global lock levels for the LLVM side.
Change-Id: Id2807c8775686bc38f79e13c097fadda2d96d042
diff --git a/src/verifier/method_verifier.cc b/src/verifier/method_verifier.cc
index 167e1e5..c6c61b9 100644
--- a/src/verifier/method_verifier.cc
+++ b/src/verifier/method_verifier.cc
@@ -3474,16 +3474,16 @@
void MethodVerifier::SetInferredRegCategoryMap(Compiler::MethodReference ref,
const InferredRegCategoryMap& inferred_reg_category_map) {
- MutexLock mu(*inferred_reg_category_maps_lock_);
- const InferredRegCategoryMap* existing_inferred_reg_category_map = GetInferredRegCategoryMap(ref);
-
- if (existing_inferred_reg_category_map == NULL) {
- inferred_reg_category_maps_->Put(ref, &inferred_reg_category_map);
- } else {
- CHECK(*existing_inferred_reg_category_map == inferred_reg_category_map);
- delete &inferred_reg_category_map;
+ {
+ MutexLock mu(*inferred_reg_category_maps_lock_);
+ InferredRegCategoryMapTable::iterator it = inferred_reg_category_maps_->find(ref);
+ if (it == inferred_reg_category_maps_->end()) {
+ inferred_reg_category_maps_->Put(ref, &inferred_reg_category_map);
+ } else {
+ CHECK(*(it->second) == inferred_reg_category_map);
+ delete &inferred_reg_category_map;
+ }
}
-
CHECK(GetInferredRegCategoryMap(ref) != NULL);
}