diff options
author | 2024-06-27 20:20:04 +0000 | |
---|---|---|
committer | 2024-08-08 15:25:11 +0000 | |
commit | 6f40f3867459b66ec315dd4f70f4474171065aab (patch) | |
tree | db2ddff187f04ee0a4238de6101ebbaab15c1bed /runtime/class_linker_test.cc | |
parent | f067186db77c8cca5d17a1253d9a87b2088b0c4b (diff) |
Use variable sized ref-offset bitmap for fast VisitReferences()
Bug: 304325190
Test: art/test/testrunner/testrunner.py --host
Change-Id: I6e25143b827acaa12ff5bd94e6196faaed461f4a
Diffstat (limited to 'runtime/class_linker_test.cc')
-rw-r--r-- | runtime/class_linker_test.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/runtime/class_linker_test.cc b/runtime/class_linker_test.cc index 932341d895..18f4b297ac 100644 --- a/runtime/class_linker_test.cc +++ b/runtime/class_linker_test.cc @@ -395,7 +395,8 @@ class ClassLinkerTest : public CommonRuntimeTest { k = k->GetSuperClass(); } EXPECT_GE(total_num_reference_instance_fields, 1U); // Should always have Object's class. - if (klass->GetReferenceInstanceOffsets() != mirror::Class::kClassWalkSuper) { + if ((klass->GetReferenceInstanceOffsets() & mirror::Class::kVisitReferencesSlowpathMask) == 0 && + klass->ShouldHaveEmbeddedVTable()) { // The reference instance offsets have a bit set for each reference offset. // +1 for Object's class. EXPECT_EQ(static_cast<uint32_t>(POPCOUNT(klass->GetReferenceInstanceOffsets())) + 1, |