summaryrefslogtreecommitdiff
path: root/runtime/class_linker.cc
diff options
context:
space:
mode:
author Lokesh Gidra <lokeshgidra@google.com> 2023-06-28 09:36:04 +0000
committer Treehugger Robot <treehugger-gerrit@google.com> 2023-06-28 15:11:35 +0000
commit7396ac0c613253f41fed79d3a53f9c33e754e52d (patch)
treef03ed6c86ba7ab1b3d75826041323d3a4f871ff4 /runtime/class_linker.cc
parentb851c021cde9100ecb780beccb833494c57a1f46 (diff)
Fix new bss roots assertion during marking phase
Earlier we are asserting that a bss root can only be a class. But it's also possible to be a string. Also enables 092-locale art-test. Bug: 288532125 Bug: 288603111 Test: art/test/testrunner/testrunner.py --host -t 092-locale Change-Id: I1e64f571b4ab7121b75c0902b2b4477dc086f13b
Diffstat (limited to 'runtime/class_linker.cc')
-rw-r--r--runtime/class_linker.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/class_linker.cc b/runtime/class_linker.cc
index 687ab09265..9aa29b8a44 100644
--- a/runtime/class_linker.cc
+++ b/runtime/class_linker.cc
@@ -2424,7 +2424,7 @@ void ClassLinker::VisitClassRoots(RootVisitor* visitor, VisitRootFlags flags) {
for (GcRoot<mirror::Object>& root : oat_file->GetBssGcRoots()) {
ObjPtr<mirror::Object> old_ref = root.Read<kWithoutReadBarrier>();
if (old_ref != nullptr) {
- DCHECK(old_ref->IsClass());
+ DCHECK(old_ref->IsClass() || old_ref->IsString());
root.VisitRoot(visitor, RootInfo(kRootStickyClass));
ObjPtr<mirror::Object> new_ref = root.Read<kWithoutReadBarrier>();
// Concurrent moving GC marked new roots through the to-space invariant.