summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/verifier/reg_type_cache.cc4
-rw-r--r--test/800-smali/smali/b_22881413.smali4
2 files changed, 6 insertions, 2 deletions
diff --git a/runtime/verifier/reg_type_cache.cc b/runtime/verifier/reg_type_cache.cc
index a597c8fdf..0f36572b3 100644
--- a/runtime/verifier/reg_type_cache.cc
+++ b/runtime/verifier/reg_type_cache.cc
@@ -325,7 +325,7 @@ const RegType& RegTypeCache::FromUnresolvedMerge(const RegType& left, const RegT
const UnresolvedMergedType* left_merge = down_cast<const UnresolvedMergedType*>(&left);
types.Copy(&left_merge->GetUnresolvedTypes());
left_resolved = &left_merge->GetResolvedPart();
- } else if (left.IsUnresolvedReference()) {
+ } else if (left.IsUnresolvedTypes()) {
types.SetBit(left.GetId());
left_resolved = &Zero();
} else {
@@ -337,7 +337,7 @@ const RegType& RegTypeCache::FromUnresolvedMerge(const RegType& left, const RegT
const UnresolvedMergedType* right_merge = down_cast<const UnresolvedMergedType*>(&right);
types.Union(&right_merge->GetUnresolvedTypes());
right_resolved = &right_merge->GetResolvedPart();
- } else if (right.IsUnresolvedReference()) {
+ } else if (right.IsUnresolvedTypes()) {
types.SetBit(right.GetId());
right_resolved = &Zero();
} else {
diff --git a/test/800-smali/smali/b_22881413.smali b/test/800-smali/smali/b_22881413.smali
index f62473435..29dd82a35 100644
--- a/test/800-smali/smali/b_22881413.smali
+++ b/test/800-smali/smali/b_22881413.smali
@@ -47,6 +47,10 @@
# v8 = int, v9 = boolean, v10 = boolean
sget-object v0, LB22881413;->unresBase0:La/b/c/dBase0;
+
+# Test an UnresolvedUninitializedReference type.
+ new-instance v0, La/b/c/dBaseInit;
+
const v1, 0
const v2, 0