Merge "Add a few more pending exception checks"
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 15cc634..db0e9ac 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -4977,6 +4977,7 @@
DCHECK(c.Get() != nullptr);
if (c->IsInitialized()) {
EnsureSkipAccessChecksMethods(c);
+ self->AssertNoPendingException();
return true;
}
const bool success = InitializeClass(self, c, can_init_fields, can_init_parents);
diff --git a/runtime/gc/heap-inl.h b/runtime/gc/heap-inl.h
index 6aed61a..b0ca18e 100644
--- a/runtime/gc/heap-inl.h
+++ b/runtime/gc/heap-inl.h
@@ -49,6 +49,7 @@
// done in the runnable state where suspension is expected.
CHECK_EQ(self->GetState(), kRunnable);
self->AssertThreadSuspensionIsAllowable();
+ self->AssertNoPendingException();
}
// Need to check that we arent the large object allocator since the large object allocation code
// path this function. If we didn't check we would have an infinite loop.