diff options
author | 2021-11-21 11:45:19 -0800 | |
---|---|---|
committer | 2022-08-10 18:06:05 +0000 | |
commit | 384c7861b27f6b5ded42a32ab7d14a48c987f515 (patch) | |
tree | 0278e3ab48c9304caf32e6288d5636706143a22f /runtime/mirror/array-inl.h | |
parent | 528b169d1351f3606778ba10fe9ae8fcecf7a7c4 (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.h | 7 |
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)>(); |