diff options
author | 2024-08-20 00:38:50 +0000 | |
---|---|---|
committer | 2024-08-30 20:12:03 +0000 | |
commit | 1956542906d0b128a86975af009ba4601d02129a (patch) | |
tree | 37ee7f36bd7e496b3e0bf665e1fa061d32a1114f /compiler/optimizing/intrinsics.cc | |
parent | 7959b0a464d27a35edac73498ba7aceb9efd5478 (diff) |
Revert^2 "Object.clone() allocates more movable objects"
This reverts commit 7c89f49c2c542df1a5780fb851e2ef0e0909f48f.
PS1 is identical to aosp/3200711.
PS2 revises the approach a bit by continuing to allocate non-movable
objects in LargeObjectsSpace, but tracking them explicitly in a renamed,
and now lock-protected, data structure stray_non_movable_objects_, which
explicitly tracks nonmovable objects in both zygote and large objects
spaces. This was done after discovering that there are applications that
allocate more than 64MB of mostly large DirectByteBuffers.
Also modifies 070-nio-buffer to check that we can allocate lots of direct
ByteBuffers.
PS3-PS5 have minor tweaks (comments and slight code simplification).
Bug: 355291033
Bug: 354087169
Bug: 360363656
Bug: 361327909
Test: Build and boot AOSP
Test: testrunner.py --host -b --all-gc -t 070-nio-buffer
Change-Id: Ia6948c516b30188934a644a3f8f788914dfabb2a
Diffstat (limited to 'compiler/optimizing/intrinsics.cc')
-rw-r--r-- | compiler/optimizing/intrinsics.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/optimizing/intrinsics.cc b/compiler/optimizing/intrinsics.cc index 06ea1c6ffb..8abe6a4563 100644 --- a/compiler/optimizing/intrinsics.cc +++ b/compiler/optimizing/intrinsics.cc @@ -218,7 +218,7 @@ void IntrinsicVisitor::AssertNonMovableStringClass() { if (kIsDebugBuild) { ScopedObjectAccess soa(Thread::Current()); ObjPtr<mirror::Class> string_class = GetClassRoot<mirror::String>(); - CHECK(!art::Runtime::Current()->GetHeap()->IsMovableObject(string_class)); + CHECK(!art::Runtime::Current()->GetHeap()->ObjectMayMove(string_class)); } } |