OSDN Git Service

Change GC to allow strings to use large object space.
authorJeff Hao <jeffhao@google.com>
Mon, 22 Jun 2015 22:14:49 +0000 (15:14 -0700)
committerJeff Hao <jeffhao@google.com>
Mon, 22 Jun 2015 22:32:03 +0000 (15:32 -0700)
Bug: 21209641

(cherry-picked from commit 37fd5275c665b483f2d990634a500c4e79aae87f)

Change-Id: I043f59eeb601a95c7d01b10a844c2237167ee862

runtime/gc/heap-inl.h

index ee4568e..e148519 100644 (file)
@@ -392,7 +392,7 @@ inline bool Heap::ShouldAllocLargeObject(mirror::Class* c, size_t byte_count) co
   // Zygote resulting in it being prematurely freed.
   // We can only do this for primitive objects since large objects will not be within the card table
   // range. This also means that we rely on SetClass not dirtying the object's card.
-  return byte_count >= large_object_threshold_ && c->IsPrimitiveArray();
+  return byte_count >= large_object_threshold_ && (c->IsPrimitiveArray() || c->IsStringClass());
 }
 
 template <bool kGrow>