summaryrefslogtreecommitdiff
path: root/runtime/mirror/array-inl.h
diff options
context:
space:
mode:
author Lokesh Gidra <lokeshgidra@google.com> 2021-11-21 11:45:19 -0800
committer Lokesh Gidra <lokeshgidra@google.com> 2022-08-10 18:06:05 +0000
commit384c7861b27f6b5ded42a32ab7d14a48c987f515 (patch)
tree0278e3ab48c9304caf32e6288d5636706143a22f /runtime/mirror/array-inl.h
parent528b169d1351f3606778ba10fe9ae8fcecf7a7c4 (diff)
Handle black allocations in concurrent mark-compact
Test: art/test/testrunner/testrunner.py Bug: 160737021 Change-Id: I4ad6d090cbf87a9120bbc4aaf778a2e1b0d8ae6b
Diffstat (limited to 'runtime/mirror/array-inl.h')
-rw-r--r--runtime/mirror/array-inl.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/runtime/mirror/array-inl.h b/runtime/mirror/array-inl.h
index b7a8a8ce49..a7faa376cd 100644
--- a/runtime/mirror/array-inl.h
+++ b/runtime/mirror/array-inl.h
@@ -36,12 +36,11 @@ inline uint32_t Array::ClassSize(PointerSize pointer_size) {
return Class::ComputeClassSize(true, vtable_entries, 0, 0, 0, 0, 0, pointer_size);
}
-template<VerifyObjectFlags kVerifyFlags>
+template<VerifyObjectFlags kVerifyFlags, ReadBarrierOption kReadBarrierOption>
inline size_t Array::SizeOf() {
- // No read barrier is needed for reading a constant primitive field through
- // constant reference field chain. See ReadBarrierOption.
size_t component_size_shift =
- GetClass<kVerifyFlags, kWithoutReadBarrier>()->GetComponentSizeShift();
+ GetClass<kVerifyFlags, kReadBarrierOption>()
+ ->template GetComponentSizeShift<kReadBarrierOption>();
// Don't need to check this since we already check this in GetClass.
int32_t component_count =
GetLength<static_cast<VerifyObjectFlags>(kVerifyFlags & ~kVerifyThis)>();