Title: [214580] branches/safari-604.1.14-branch

Diff

Modified: branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog (214579 => 214580)


--- branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog	2017-03-29 23:41:59 UTC (rev 214579)
+++ branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog	2017-03-29 23:42:02 UTC (rev 214580)
@@ -1,5 +1,27 @@
 2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
+        Cherry-pick r214509. rdar://problem/30755345
+
+    2017-03-28  Mark Lam  <mark....@apple.com>
+
+            The Mutator should not be able to steal the conn if the Collector hasn't reached the NotRunning phase yet.
+            https://bugs.webkit.org/show_bug.cgi?id=170213
+            <rdar://problem/30755345>
+
+            Reviewed by Filip Pizlo.
+
+            The current condition for stealing the conn isn't tight enough.  Restricting the
+            stealing to when m_currentPhase == NotRunning ensures that the Collector is
+            really done running.
+
+            No test because this issue only manifests with a race condition that is difficult
+            to reproduce on demand.
+
+            * heap/Heap.cpp:
+            (JSC::Heap::requestCollection):
+
+2017-03-29  Jason Marcell  <jmarc...@apple.com>
+
         Cherry-pick r214495. rdar://problem/31242019
 
     2017-03-29  Jason Marcell  <jmarc...@apple.com>

Modified: branches/safari-604.1.14-branch/Source/_javascript_Core/heap/Heap.cpp (214579 => 214580)


--- branches/safari-604.1.14-branch/Source/_javascript_Core/heap/Heap.cpp	2017-03-29 23:41:59 UTC (rev 214579)
+++ branches/safari-604.1.14-branch/Source/_javascript_Core/heap/Heap.cpp	2017-03-29 23:42:02 UTC (rev 214580)
@@ -1961,7 +1961,7 @@
     // right now. This is an optimization that prevents the collector thread from ever starting in most
     // cases.
     ASSERT(m_lastServedTicket <= m_lastGrantedTicket);
-    if (m_lastServedTicket == m_lastGrantedTicket) {
+    if ((m_lastServedTicket == m_lastGrantedTicket) && (m_currentPhase == CollectorPhase::NotRunning)) {
         if (false)
             dataLog("Taking the conn.\n");
         m_worldState.exchangeOr(mutatorHasConnBit);

Modified: branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog (214579 => 214580)


--- branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog	2017-03-29 23:41:59 UTC (rev 214579)
+++ branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog	2017-03-29 23:42:02 UTC (rev 214580)
@@ -1,25 +1,29 @@
 2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
-        Cherry-pick r214495. rdar://problem/31242019
+        Cherry-pick r214509. rdar://problem/30755345
 
-    2017-03-28  Timothy Horton  <timothy_hor...@apple.com>
+    2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
-            Safari crashes when attempting to close tab that is displaying PDF
-            https://bugs.webkit.org/show_bug.cgi?id=170201
-            <rdar://problem/31242019>
+            Cherry-pick r214495. rdar://problem/31242019
 
-            Reviewed by Wenson Hsieh.
+        2017-03-28  Timothy Horton  <timothy_hor...@apple.com>
 
-            * UIProcess/API/Cocoa/WKWebView.mm:
-            (-[WKWebView _doAfterNextStablePresentationUpdate:]):
-            Adopt BlockPtr to fix a leak.
+                Safari crashes when attempting to close tab that is displaying PDF
+                https://bugs.webkit.org/show_bug.cgi?id=170201
+                <rdar://problem/31242019>
 
-            (-[WKWebView _firePresentationUpdateForPendingStableStatePresentationCallbacks]):
-            dispatch_async in the doAfterNextPresentationUpdate callback; since this
-            recursively calls itself, in cases where doAfterNextPresentationUpdate
-            returns synchronously (e.g. if the Web Process is missing), we would
-            recurse infinitely.
+                Reviewed by Wenson Hsieh.
 
+                * UIProcess/API/Cocoa/WKWebView.mm:
+                (-[WKWebView _doAfterNextStablePresentationUpdate:]):
+                Adopt BlockPtr to fix a leak.
+
+                (-[WKWebView _firePresentationUpdateForPendingStableStatePresentationCallbacks]):
+                dispatch_async in the doAfterNextPresentationUpdate callback; since this
+                recursively calls itself, in cases where doAfterNextPresentationUpdate
+                returns synchronously (e.g. if the Web Process is missing), we would
+                recurse infinitely.
+
 2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
         Cherry-pick r214449. rdar://problem/30787872

Modified: branches/safari-604.1.14-branch/Tools/ChangeLog (214579 => 214580)


--- branches/safari-604.1.14-branch/Tools/ChangeLog	2017-03-29 23:41:59 UTC (rev 214579)
+++ branches/safari-604.1.14-branch/Tools/ChangeLog	2017-03-29 23:42:02 UTC (rev 214580)
@@ -1,16 +1,20 @@
-2017-03-28  Timothy Horton  <timothy_hor...@apple.com>
+2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
-        Safari crashes when attempting to close tab that is displaying PDF
-        https://bugs.webkit.org/show_bug.cgi?id=170201
-        <rdar://problem/31242019>
+        Cherry-pick r214509. rdar://problem/30755345
 
-        Reviewed by Wenson Hsieh.
+    2017-03-28  Timothy Horton  <timothy_hor...@apple.com>
 
-        * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
-        (TEST):
-        Add a test for doAfterNextStablePresentationUpdate just like the existing
-        non-stable one.
+            Safari crashes when attempting to close tab that is displaying PDF
+            https://bugs.webkit.org/show_bug.cgi?id=170201
+            <rdar://problem/31242019>
 
+            Reviewed by Wenson Hsieh.
+
+            * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
+            (TEST):
+            Add a test for doAfterNextStablePresentationUpdate just like the existing
+            non-stable one.
+
 2017-03-22  Matt Rajca  <mra...@apple.com>
 
         Only run volume-related autoplay policy tests on Mac.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to