Title: [186242] trunk/Source/bmalloc
Revision
186242
Author
gga...@apple.com
Date
2015-07-02 16:31:52 -0700 (Thu, 02 Jul 2015)

Log Message

bmalloc: Shrink the super chunk size
https://bugs.webkit.org/show_bug.cgi?id=146519

Reviewed by Andreas Kling.

We have lots of reports of crashing due to failed VM allocation on iOS.
(This VM limit on iOS is usually 1GB-2GB, and has been as low as 256MB.)

Shrink the super chunk size in case fragmentation is the reason for
VM allocation failure.

This has the downside that >= 2MB allocations will now be super slow,
but they are also super rare (as in never on most websites), so this
is probably an OK tradeoff.

* bmalloc/Sizes.h:

Modified Paths

Diff

Modified: trunk/Source/bmalloc/ChangeLog (186241 => 186242)


--- trunk/Source/bmalloc/ChangeLog	2015-07-02 22:57:03 UTC (rev 186241)
+++ trunk/Source/bmalloc/ChangeLog	2015-07-02 23:31:52 UTC (rev 186242)
@@ -1,3 +1,22 @@
+2015-07-02  Geoffrey Garen  <gga...@apple.com>
+
+        bmalloc: Shrink the super chunk size
+        https://bugs.webkit.org/show_bug.cgi?id=146519
+
+        Reviewed by Andreas Kling.
+
+        We have lots of reports of crashing due to failed VM allocation on iOS.
+        (This VM limit on iOS is usually 1GB-2GB, and has been as low as 256MB.)
+
+        Shrink the super chunk size in case fragmentation is the reason for
+        VM allocation failure.
+
+        This has the downside that >= 2MB allocations will now be super slow,
+        but they are also super rare (as in never on most websites), so this
+        is probably an OK tradeoff.
+
+        * bmalloc/Sizes.h:
+
 2015-07-01  Geoffrey Garen  <gga...@apple.com>
 
         bmalloc: realloc of an XLarge range can unmap adjacent VM ranges

Modified: trunk/Source/bmalloc/bmalloc/SegregatedFreeList.h (186241 => 186242)


--- trunk/Source/bmalloc/bmalloc/SegregatedFreeList.h	2015-07-02 22:57:03 UTC (rev 186241)
+++ trunk/Source/bmalloc/bmalloc/SegregatedFreeList.h	2015-07-02 23:31:52 UTC (rev 186242)
@@ -60,7 +60,7 @@
     FreeList& select(size_t);
 
     Owner m_owner;
-    std::array<FreeList, 19> m_freeLists;
+    std::array<FreeList, 17> m_freeLists;
 };
 
 } // namespace bmalloc

Modified: trunk/Source/bmalloc/bmalloc/Sizes.h (186241 => 186242)


--- trunk/Source/bmalloc/bmalloc/Sizes.h	2015-07-02 22:57:03 UTC (rev 186241)
+++ trunk/Source/bmalloc/bmalloc/Sizes.h	2015-07-02 23:31:52 UTC (rev 186242)
@@ -53,7 +53,7 @@
 #endif
     static const size_t vmPageMask = ~(vmPageSize - 1);
     
-    static const size_t superChunkSize = 32 * MB;
+    static const size_t superChunkSize = 8 * MB;
 
     static const size_t smallMax = 256;
     static const size_t smallLineSize = 256;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to