From 7c89f49c2c542df1a5780fb851e2ef0e0909f48f Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Mon, 19 Aug 2024 21:32:19 +0000 Subject: Revert "Object.clone() allocates more movable objects" This reverts commit a5001fed23788c966fd87048d7f17ba8c0b51914. Reason for revert: b/360363656 Change-Id: Ibfea46976bb6434d728c69160edb5904ab7708aa --- runtime/mirror/array.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'runtime/mirror/array.cc') diff --git a/runtime/mirror/array.cc b/runtime/mirror/array.cc index 65371d0f5e..a4f6c88e4c 100644 --- a/runtime/mirror/array.cc +++ b/runtime/mirror/array.cc @@ -144,8 +144,9 @@ ObjPtr Array::CopyOf(Handle h_this, Thread* self, int32_t new_leng CHECK(klass->IsPrimitiveArray()) << "Will miss write barriers"; DCHECK_GE(new_length, 0); auto* heap = Runtime::Current()->GetHeap(); - DCHECK(!heap->IsNonMovable(h_this.Get())); - gc::AllocatorType allocator_type = heap->GetCurrentAllocator(); + gc::AllocatorType allocator_type = heap->IsMovableObject(h_this.Get()) + ? heap->GetCurrentAllocator() + : heap->GetCurrentNonMovingAllocator(); const auto component_size = klass->GetComponentSize(); const auto component_shift = klass->GetComponentSizeShift(); ObjPtr new_array = -- cgit v1.2.3-59-g8ed1b