[bmalloc] Do not start scavenger thread if we use system malloc
authorysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2019 08:43:07 +0000 (08:43 +0000)
committerysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2019 08:43:07 +0000 (08:43 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194674

Reviewed by Mark Lam.

We always start the scavenger thread even if system malloc is used by the environment variable like "Malloc=1".
Because bmalloc allocation goes to the system malloc if "Malloc=1" is set, we do not need to scavenge. This patch
changes it not to start the scavenger thread.

* bmalloc/Scavenger.cpp:
(bmalloc::Scavenger::Scavenger):

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

Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/Scavenger.cpp

index 88b98ed..7e322ca 100644 (file)
@@ -1,3 +1,17 @@
+2019-02-15  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [bmalloc] Do not start scavenger thread if we use system malloc
+        https://bugs.webkit.org/show_bug.cgi?id=194674
+
+        Reviewed by Mark Lam.
+
+        We always start the scavenger thread even if system malloc is used by the environment variable like "Malloc=1".
+        Because bmalloc allocation goes to the system malloc if "Malloc=1" is set, we do not need to scavenge. This patch
+        changes it not to start the scavenger thread.
+
+        * bmalloc/Scavenger.cpp:
+        (bmalloc::Scavenger::Scavenger):
+
 2019-02-12  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r241182.
index edb014d..ca33626 100644 (file)
@@ -67,6 +67,9 @@ struct PrintTime {
 
 Scavenger::Scavenger(std::lock_guard<Mutex>&)
 {
+    if (PerProcess<Environment>::get()->isDebugHeapEnabled())
+        return;
+
 #if BOS(DARWIN)
     auto queue = dispatch_queue_create("WebKit Malloc Memory Pressure Handler", DISPATCH_QUEUE_SERIAL);
     m_pressureHandlerDispatchSource = dispatch_source_create(DISPATCH_SOURCE_TYPE_MEMORYPRESSURE, 0, DISPATCH_MEMORYPRESSURE_CRITICAL, queue);