diff options
| -rw-r--r-- | runtime/intern_table.cc | 1 | ||||
| -rw-r--r-- | runtime/runtime.cc | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/runtime/intern_table.cc b/runtime/intern_table.cc index 56a6d2cc50..7ecb58e7e9 100644 --- a/runtime/intern_table.cc +++ b/runtime/intern_table.cc @@ -148,6 +148,7 @@ void InternTable::RemoveWeakFromTransaction(mirror::String* s) { } void InternTable::AddImageStringsToTable(gc::space::ImageSpace* image_space) { + CHECK(image_space != nullptr); MutexLock mu(Thread::Current(), *Locks::intern_table_lock_); if (!image_added_to_intern_table_) { mirror::Object* root = image_space->GetImageHeader().GetImageRoot(ImageHeader::kDexCaches); diff --git a/runtime/runtime.cc b/runtime/runtime.cc index 78c6542827..d50a4f0d17 100644 --- a/runtime/runtime.cc +++ b/runtime/runtime.cc @@ -440,8 +440,11 @@ bool Runtime::Start() { if (IsZygote()) { ScopedObjectAccess soa(self); - Runtime::Current()->GetInternTable()->AddImageStringsToTable(heap_->GetImageSpace()); - Runtime::Current()->GetClassLinker()->MoveImageClassesToClassTable(); + gc::space::ImageSpace* image_space = heap_->GetImageSpace(); + if (image_space != nullptr) { + Runtime::Current()->GetInternTable()->AddImageStringsToTable(image_space); + Runtime::Current()->GetClassLinker()->MoveImageClassesToClassTable(); + } } if (!IsImageDex2OatEnabled() || !Runtime::Current()->GetHeap()->HasImageSpace()) { |