Fix out of memory by allowing overcommit
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Mar 2012 18:21:46 +0000 (18:21 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Mar 2012 18:21:46 +0000 (18:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=81743

Patch by Hojong Han <hojong.han@samsung.com> on 2012-03-21
Reviewed by Geoffrey Garen.

Garbage collection is not triggered and new blocks are added
because overcommit is allowed by MAP_NORESERVE flag when high water mark is big enough.

* wtf/OSAllocatorPosix.cpp:
(WTF::OSAllocator::reserveAndCommit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@111580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp

index f083336a501c3ae81e01cf8030cd9e3868cbe22c..ec576ab42fba73a0048a1fcbc05c20df96a05863 100644 (file)
@@ -1,3 +1,16 @@
+2012-03-21  Hojong Han  <hojong.han@samsung.com>
+
+        Fix out of memory by allowing overcommit
+        https://bugs.webkit.org/show_bug.cgi?id=81743
+
+        Reviewed by Geoffrey Garen.
+
+        Garbage collection is not triggered and new blocks are added
+        because overcommit is allowed by MAP_NORESERVE flag when high water mark is big enough.
+
+        * wtf/OSAllocatorPosix.cpp:
+        (WTF::OSAllocator::reserveAndCommit):
+
 2012-03-21  Jessie Berlin  <jberlin@apple.com>
 
         More Windows build fixing.
index 23cbcb6955fd1a9bfc81326609aa6d7d9d41cfef..6071f89535644de5e300e9686251cab3c1e350b7 100644 (file)
@@ -71,7 +71,7 @@ void* OSAllocator::reserveAndCommit(size_t bytes, Usage usage, bool writable, bo
         flags |= MAP_JIT;
 #endif
 
-#if OS(LINUX)
+#if (OS(LINUX) && CPU(X86_64))
     // Linux distros usually do not allow overcommit by default, so
     // JSC's strategy of mmaping a large amount of memory upfront
     // won't work very well on some systems. Fortunately there's a