summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/intern_table.cc1
-rw-r--r--runtime/runtime.cc7
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()) {