Remove read barriers in InternTable::Table::AddInternStrings

Read barriers are not safe to do on spaces that are not yet added
to the heap since they will be detected as heap corruption. These
read barriers are also not necessary in this case since strings
objects are immutable.

Test: test-art-host
Bug: 117803941
Change-Id: I46b64ae894611fe15ee1374fe71200471bd7d61a
diff --git a/runtime/intern_table-inl.h b/runtime/intern_table-inl.h
index 6e5c903..8c7fb42 100644
--- a/runtime/intern_table-inl.h
+++ b/runtime/intern_table-inl.h
@@ -51,9 +51,12 @@
 inline void InternTable::Table::AddInternStrings(UnorderedSet&& intern_strings) {
   static constexpr bool kCheckDuplicates = kIsDebugBuild;
   if (kCheckDuplicates) {
+    // Avoid doing read barriers since the space might not yet be added to the heap.
+    // See b/117803941
     for (GcRoot<mirror::String>& string : intern_strings) {
-      CHECK(Find(string.Read()) == nullptr)
-          << "Already found " << string.Read()->ToModifiedUtf8() << " in the intern table";
+      CHECK(Find(string.Read<kWithoutReadBarrier>()) == nullptr)
+          << "Already found " << string.Read<kWithoutReadBarrier>()->ToModifiedUtf8()
+          << " in the intern table";
     }
   }
   // Insert at the front since we add new interns into the back.