diff options
| author | 2014-09-03 11:21:08 -0700 | |
|---|---|---|
| committer | 2014-09-03 19:29:27 -0700 | |
| commit | f4f3843150bb2152bcc583c1896f45a313d5f6a4 (patch) | |
| tree | b07eb17f7c1f9ce63e6c22d417aee0bf6dc24bdc | |
| parent | a07557ccece64fa7084bb01b9d26957bd0977c10 (diff) | |
Add exception check to AllocateInternalWithGc
Trying to figure out if the pending exception comes before or during
AllocateInternalWithGc.
Bug: 17164348
(cherry picked from commit 98d43cb0da3c34d1888d1e31d953c2940fd0f897)
Change-Id: I2aac4b67f0c3f1c0fe3c9dc321316f76494c4074
| -rw-r--r-- | runtime/gc/heap.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/gc/heap.cc b/runtime/gc/heap.cc index d9d1e31246..78ef7ac474 100644 --- a/runtime/gc/heap.cc +++ b/runtime/gc/heap.cc @@ -1210,6 +1210,8 @@ mirror::Object* Heap::AllocateInternalWithGc(Thread* self, AllocatorType allocat size_t* usable_size, mirror::Class** klass) { bool was_default_allocator = allocator == GetCurrentAllocator(); + // Make sure there is no pending exception since we may need to throw an OOME. + self->AssertNoPendingException(); DCHECK(klass != nullptr); StackHandleScope<1> hs(self); HandleWrapper<mirror::Class> h(hs.NewHandleWrapper(klass)); |