From eb10cfe7849236ca9eb5a6d05ac0d06be05f19bf Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Mon, 8 Sep 2014 19:49:50 -0700 Subject: [PATCH] Temporarily disable LOS on 64 bit Problem is that MAP_32BIT simulation can take seconds on large object allocations in the worst case. Bug: 17414549 Change-Id: I463bb0b728eed14847a32a27a93640ec6080f6b3 --- runtime/gc/heap.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/runtime/gc/heap.h b/runtime/gc/heap.h index d3d613f56..7304887bd 100644 --- a/runtime/gc/heap.h +++ b/runtime/gc/heap.h @@ -129,8 +129,12 @@ class Heap { // If true, measure the total allocation time. static constexpr bool kMeasureAllocationTime = false; // Primitive arrays larger than this size are put in the large object space. +#ifdef __LP64__ + // Temporarily disable LOS on 64 bit until MAP_32BIT performance issues are fixed. b/17414549 + static constexpr size_t kDefaultLargeObjectThreshold = 0xFFFFFFFFU; +#else static constexpr size_t kDefaultLargeObjectThreshold = 3 * kPageSize; - +#endif static constexpr size_t kDefaultStartingSize = kPageSize; static constexpr size_t kDefaultInitialSize = 2 * MB; static constexpr size_t kDefaultMaximumSize = 256 * MB; -- 2.11.0