Title: [214575] branches/safari-604.1.14-branch/Source
Revision
214575
Author
jmarc...@apple.com
Date
2017-03-29 16:41:47 -0700 (Wed, 29 Mar 2017)

Log Message

Cherry-pick r214393. rdar://problem/31253673

Modified Paths

Diff

Modified: branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog (214574 => 214575)


--- branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog	2017-03-29 23:41:44 UTC (rev 214574)
+++ branches/safari-604.1.14-branch/Source/_javascript_Core/ChangeLog	2017-03-29 23:41:47 UTC (rev 214575)
@@ -1,3 +1,17 @@
+2017-03-24  Mark Lam  <mark....@apple.com>
+
+        Add some instrumentation in Heap::resumeThePeriphery() to help debug an issue.
+        https://bugs.webkit.org/show_bug.cgi?id=170086
+        <rdar://problem/31253673>
+
+        Reviewed by Saam Barati.
+
+        Adding some instrumentation in Heap::resumeThePeriphery() to dump some Heap state
+        just before we RELEASE_ASSERT_NOT_REACHED.
+
+        * heap/Heap.cpp:
+        (JSC::Heap::resumeThePeriphery):
+
 2017-03-22  Mark Lam  <mark....@apple.com>
 
         Add support for Error.stackTraceLimit.

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


--- branches/safari-604.1.14-branch/Source/_javascript_Core/heap/Heap.cpp	2017-03-29 23:41:44 UTC (rev 214574)
+++ branches/safari-604.1.14-branch/Source/_javascript_Core/heap/Heap.cpp	2017-03-29 23:41:47 UTC (rev 214575)
@@ -1499,6 +1499,30 @@
     
     if (!m_collectorBelievesThatTheWorldIsStopped) {
         dataLog("Fatal: collector does not believe that the world is stopped.\n");
+#if OS(DARWIN)
+        // FIXME: Remove this when no longer needed.
+        // https://bugs.webkit.org/show_bug.cgi?id=170094
+#if CPU(X86_64)
+        unsigned worldState = m_worldState.load();
+        asm volatile(
+            "int3"
+            :
+            : "a"(m_currentPhase), "b"(m_nextPhase), "c"(worldState), "S"(m_lastServedTicket), "D"(m_lastGrantedTicket)
+            : "memory");
+#elif CPU(ARM64)
+        unsigned worldState = m_worldState.load();
+        asm volatile(
+            "ldrb w0, %0\n"
+            "ldrb w1, %1\n"
+            "ldr w2, %2\n"
+            "ldr x3, %3\n"
+            "ldr x4, %4\n"
+            "brk #0"
+            :
+            : "m"(m_currentPhase), "m"(m_nextPhase), "m"(worldState), "m"(m_lastServedTicket), "m"(m_lastGrantedTicket)
+            : "memory");
+#endif
+#endif // OS(DARWIN)
         RELEASE_ASSERT_NOT_REACHED();
     }
     m_collectorBelievesThatTheWorldIsStopped = false;

Modified: branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog (214574 => 214575)


--- branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog	2017-03-29 23:41:44 UTC (rev 214574)
+++ branches/safari-604.1.14-branch/Source/WebKit2/ChangeLog	2017-03-29 23:41:47 UTC (rev 214575)
@@ -1,24 +1,28 @@
 2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
-        Cherry-pick r214391. rdar://problem/30682584
+        Cherry-pick r214393. rdar://problem/31253673
 
-    2017-03-24  Simon Fraser  <simon.fra...@apple.com>
+    2017-03-29  Jason Marcell  <jmarc...@apple.com>
 
-            [iOS WK2] Move from a pre-commit handler to dispatch_async for visible content rect updates
-            https://bugs.webkit.org/show_bug.cgi?id=170091
-            rdar://problem/30682584
+            Cherry-pick r214391. rdar://problem/30682584
 
-            Reviewed by Tim Horton.
+        2017-03-24  Simon Fraser  <simon.fra...@apple.com>
 
-            [CATransaction addCommitHandler:forPhase:] is sometimes not called when running inside another
-            commit callback (rdar://problem/31253952), and we don't yet have a reliable way to detect this.
+                [iOS WK2] Move from a pre-commit handler to dispatch_async for visible content rect updates
+                https://bugs.webkit.org/show_bug.cgi?id=170091
+                rdar://problem/30682584
 
-            So dispatch_async() to postpone the call to [CATransaction addCommitHandler:forPhase:] to a known-
-            good time.
+                Reviewed by Tim Horton.
 
-            * UIProcess/API/Cocoa/WKWebView.mm:
-            (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
+                [CATransaction addCommitHandler:forPhase:] is sometimes not called when running inside another
+                commit callback (rdar://problem/31253952), and we don't yet have a reliable way to detect this.
 
+                So dispatch_async() to postpone the call to [CATransaction addCommitHandler:forPhase:] to a known-
+                good time.
+
+                * UIProcess/API/Cocoa/WKWebView.mm:
+                (-[WKWebView _scheduleVisibleContentRectUpdateAfterScrollInView:]):
+
 2017-03-24  John Wilander  <wilan...@apple.com>
 
         Re-enable the network process' keychain access to fix client certificate authentication
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to