Merge "Remove read barriers in InternTable::Table::AddInternStrings"
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.