<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[211381] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/211381">211381</a></dd>
<dt>Author</dt> <dd>ryanhaddad@apple.com</dd>
<dt>Date</dt> <dd>2017-01-30 12:08:29 -0800 (Mon, 30 Jan 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/211345">r211345</a>.

The LayoutTest for this change is failing an assertion.

Reverted changeset:

&quot;Web Inspector: Need some limit on Async Call Stacks for async
loops (rAF loops)&quot;
https://bugs.webkit.org/show_bug.cgi?id=165633
http://trac.webkit.org/changeset/211345</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsinspectordebuggerasyncstacktraceexpectedtxt">trunk/LayoutTests/inspector/debugger/async-stack-trace-expected.txt</a></li>
<li><a href="#trunkLayoutTestsinspectordebuggerasyncstacktracehtml">trunk/LayoutTests/inspector/debugger/async-stack-trace.html</a></li>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorprotocolConsolejson">trunk/Source/JavaScriptCore/inspector/protocol/Console.json</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs">trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsStackTracejs">trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsThreadTreeElementcss">trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsThreadTreeElementjs">trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.js</a></li>
<li><a href="#trunkSourceWebInspectorUIVersionsInspectoriOS103json">trunk/Source/WebInspectorUI/Versions/Inspector-iOS-10.3.json</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsinspectordebuggerresourceslogactivestacktracejs">trunk/LayoutTests/inspector/debugger/resources/log-active-stack-trace.js</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorAsyncStackTracecpp">trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorAsyncStackTraceh">trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/LayoutTests/ChangeLog        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2017-01-30  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
+
+        Unreviewed, rolling out r211345.
+
+        The LayoutTest for this change is failing an assertion.
+
+        Reverted changeset:
+
+        &quot;Web Inspector: Need some limit on Async Call Stacks for async
+        loops (rAF loops)&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=165633
+        http://trac.webkit.org/changeset/211345
+
</ins><span class="cx"> 2017-01-30  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Fixed elements should not rubber-band in WK2, nor remain at negative offsets
</span></span></pre></div>
<a id="trunkLayoutTestsinspectordebuggerasyncstacktraceexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/debugger/async-stack-trace-expected.txt (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/debugger/async-stack-trace-expected.txt        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/LayoutTests/inspector/debugger/async-stack-trace-expected.txt        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -6,64 +6,57 @@
</span><span class="cx"> PAUSE #1
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] pauseThenFinishTest
</span><del>-ASYNC CALL STACK:
-1: --- requestAnimationFrame ---
-2: [F] testRequestAnimationFrame
-3: [P] Global Code
</del><ins>+-- [N] requestAnimationFrame ----
+1: [F] testRequestAnimationFrame
+2: [P] Global Code
</ins><span class="cx"> 
</span><span class="cx"> -- Running test case: CheckAsyncStackTrace.SetTimeout
</span><span class="cx"> PAUSE #1
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] pauseThenFinishTest
</span><del>-ASYNC CALL STACK:
-1: --- setTimeout ---
-2: [F] testSetTimeout
-3: [P] Global Code
</del><ins>+-- [N] setTimeout ----
+1: [F] testSetTimeout
+2: [P] Global Code
</ins><span class="cx"> 
</span><span class="cx"> -- Running test case: CheckAsyncStackTrace.SetInterval
</span><span class="cx"> PAUSE #1
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] intervalFired
</span><del>-ASYNC CALL STACK:
-1: --- setInterval ---
-2: [F] testSetInterval
-3: [P] Global Code
</del><ins>+-- [N] setInterval ----
+1: [F] testSetInterval
+2: [P] Global Code
</ins><span class="cx"> PAUSE #2
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] intervalFired
</span><del>-ASYNC CALL STACK:
-1: --- setInterval ---
-2: [F] testSetInterval
-3: [P] Global Code
</del><ins>+-- [N] setInterval ----
+1: [F] testSetInterval
+2: [P] Global Code
</ins><span class="cx"> PAUSE #3
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] intervalFired
</span><del>-ASYNC CALL STACK:
-1: --- setInterval ---
-2: [F] testSetInterval
-3: [P] Global Code
</del><ins>+-- [N] setInterval ----
+1: [F] testSetInterval
+2: [P] Global Code
</ins><span class="cx"> 
</span><span class="cx"> -- Running test case: CheckAsyncStackTrace.ChainedRequestAnimationFrame
</span><span class="cx"> PAUSE #1
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] pauseThenFinishTest
</span><del>-ASYNC CALL STACK:
-1: --- requestAnimationFrame ---
-2: [F] testRequestAnimationFrame
-3: --- requestAnimationFrame ---
-4: [F] testChainedRequestAnimationFrame
-5: [P] Global Code
</del><ins>+-- [N] requestAnimationFrame ----
+1: [F] testRequestAnimationFrame
+-- [N] requestAnimationFrame ----
+2: [F] testChainedRequestAnimationFrame
+3: [P] Global Code
</ins><span class="cx"> 
</span><span class="cx"> -- Running test case: CheckAsyncStackTrace.ReferenceCounting
</span><span class="cx"> PAUSE #1
</span><span class="cx"> CALL STACK:
</span><span class="cx"> 0: [F] pauseThenFinishTest
</span><del>-ASYNC CALL STACK:
-1: --- setTimeout ---
-2: [F] intervalFired
-3: --- setInterval ---
-4: [F] testReferenceCounting
-5: [P] Global Code
</del><ins>+-- [N] setTimeout ----
+1: [F] intervalFired
+-- [N] setInterval ----
+2: [F] testReferenceCounting
+3: [P] Global Code
</ins><span class="cx"> -- Running test setup.
</span><span class="cx"> Save DebuggerManager.asyncStackTraceDepth
</span><span class="cx"> 
</span><span class="lines">@@ -74,44 +67,8 @@
</span><span class="cx"> -- Running test setup.
</span><span class="cx"> Save DebuggerManager.asyncStackTraceDepth
</span><span class="cx"> 
</span><del>--- Running test case: AsyncStackTrace.ForceTruncationOnCallStackBoundary
-Set Debugger.asyncStackTraceDepth equal to 4
-PASS: Non-root StackTrace should not be truncated.
-PASS: Non-root StackTrace should not be truncated.
-PASS: StackTrace root should be truncated.
-PASS: StackTrace should be truncated to the nearest call stack.
-CALL STACK:
-0: [F] pauseThenFinishTest
-1: [F] repeat
-ASYNC CALL STACK:
-2: --- requestAnimationFrame ---
-3: [F] repeat
-4: --- requestAnimationFrame ---
-5: [F] repeat
-(remaining call frames truncated)
</del><ins>+-- Running test case: AsyncStackTrace.SetStackTraceDepth
+PASS: Number of call frames should be equal to the depth setting.
</ins><span class="cx"> -- Running test teardown.
</span><span class="cx"> Restore DebuggerManager.asyncStackTraceDepth
</span><del>--- Running test setup.
-Save DebuggerManager.asyncStackTraceDepth
</del><span class="cx"> 
</span><del>--- Running test case: AsyncStackTrace.ForceTruncationWithinCallStack
-Set Debugger.asyncStackTraceDepth equal to 5
-PASS: Non-root StackTrace should not be truncated.
-PASS: Non-root StackTrace should not be truncated.
-PASS: Non-root StackTrace should not be truncated.
-PASS: StackTrace root should be truncated.
-PASS: StackTrace should be truncated to the nearest call stack.
-CALL STACK:
-0: [F] pauseThenFinishTest
-1: [F] repeat
-ASYNC CALL STACK:
-2: --- requestAnimationFrame ---
-3: [F] repeat
-4: --- requestAnimationFrame ---
-5: [F] repeat
-6: --- requestAnimationFrame ---
-7: [F] repeat
-(remaining call frames truncated)
--- Running test teardown.
-Restore DebuggerManager.asyncStackTraceDepth
-
</del></span></pre></div>
<a id="trunkLayoutTestsinspectordebuggerasyncstacktracehtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/inspector/debugger/async-stack-trace.html (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/debugger/async-stack-trace.html        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/LayoutTests/inspector/debugger/async-stack-trace.html        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -2,7 +2,6 @@
</span><span class="cx"> &lt;html&gt;
</span><span class="cx"> &lt;head&gt;
</span><span class="cx"> &lt;script src=&quot;../../http/tests/inspector/resources/inspector-test.js&quot;&gt;&lt;/script&gt;
</span><del>-&lt;script src=&quot;resources/log-active-stack-trace.js&quot;&gt;&lt;/script&gt;
</del><span class="cx"> &lt;script&gt;
</span><span class="cx"> const timerDelay = 20;
</span><span class="cx"> 
</span><span class="lines">@@ -49,22 +48,55 @@
</span><span class="cx">     testFunction();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-function repeatingRequestAnimationFrame(repeatCount) {
-    let count = 0;
-    function repeat() {
-        if (count++ === repeatCount) {
-            pauseThenFinishTest();
-            return;
-        }
-        requestAnimationFrame(repeat);
-    }
-    requestAnimationFrame(repeat);
-}
-
</del><span class="cx"> function test()
</span><span class="cx"> {
</span><span class="cx">     let suite = InspectorTest.createAsyncSuite(&quot;AsyncStackTrace&quot;);
</span><span class="cx"> 
</span><ins>+    function activeTargetData() {
+        InspectorTest.assert(WebInspector.debuggerManager.activeCallFrame, &quot;Active call frame should exist.&quot;);
+        if (!WebInspector.debuggerManager.activeCallFrame)
+            return null;
+
+        let targetData = WebInspector.debuggerManager.dataForTarget(WebInspector.debuggerManager.activeCallFrame.target);
+        InspectorTest.assert(targetData, &quot;Data for active call frame target should exist.&quot;);
+        return targetData;
+    }
+
+    function logCallStack() {
+        function callFrameString(callFrame) {
+            let code = callFrame.nativeCode ? &quot;N&quot; : (callFrame.programCode ? &quot;P&quot; : &quot;F&quot;);
+            return `[${code}] ${callFrame.functionName}`;
+        }
+
+        function logCallFrames(callFrames) {
+            for (let callFrame of callFrames) {
+                InspectorTest.log(`${callFrameIndex++}: ${callFrameString(callFrame)}`);
+                // Skip remaining call frames after the test harness entry point.
+                if (callFrame.programCode)
+                    break;
+            }
+        }
+
+        let {callFrames, asyncStackTrace} = activeTargetData();
+        InspectorTest.assert(callFrames);
+        InspectorTest.assert(asyncStackTrace);
+
+        let callFrameIndex = 0;
+        logCallFrames(callFrames);
+
+        while (asyncStackTrace) {
+            let callFrames = asyncStackTrace.callFrames;
+            let topCallFrameIsBoundary = asyncStackTrace.topCallFrameIsBoundary;
+            asyncStackTrace = asyncStackTrace.parentStackTrace;
+            if (!callFrames || !callFrames.length)
+                continue;
+
+            let boundaryLabel = topCallFrameIsBoundary ? callFrameString(callFrames.shift()) : &quot;(async)&quot;;
+            InspectorTest.log(`-- ${boundaryLabel} ----`);
+            logCallFrames(callFrames);
+        }
+    }
+
</ins><span class="cx">     function addSimpleTestCase(name, expression) {
</span><span class="cx">         suite.addTestCase({
</span><span class="cx">             name: `CheckAsyncStackTrace.${name}`,
</span><span class="lines">@@ -72,7 +104,8 @@
</span><span class="cx">                 let pauseCount = 0;
</span><span class="cx">                 function handlePaused() {
</span><span class="cx">                     InspectorTest.log(`PAUSE #${++pauseCount}`);
</span><del>-                    logActiveStackTrace();
</del><ins>+                    InspectorTest.log(&quot;CALL STACK:&quot;);
+                    logCallStack();
</ins><span class="cx">                     WebInspector.debuggerManager.resume();
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="lines">@@ -113,9 +146,8 @@
</span><span class="cx">         test(resolve, reject) {
</span><span class="cx">             WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Paused)
</span><span class="cx">             .then((event) =&gt; {
</span><del>-                let stackTrace = getActiveStackTrace();
-                let asyncStackTrace = stackTrace.parentStackTrace;
-                InspectorTest.expectNull(asyncStackTrace, &quot;Async stack trace should be null.&quot;);
</del><ins>+                let stackTrace = activeTargetData().asyncStackTrace;
+                InspectorTest.expectNull(stackTrace, &quot;Async stack trace should be null.&quot;);
</ins><span class="cx">                 WebInspector.debuggerManager.resume().then(resolve, reject);
</span><span class="cx">             });
</span><span class="cx"> 
</span><span class="lines">@@ -124,56 +156,29 @@
</span><span class="cx">         }
</span><span class="cx">     });
</span><span class="cx"> 
</span><del>-    function addTruncateTestCase(name, asyncStackTraceDepth) {
-        suite.addTestCase({
-            name: `AsyncStackTrace.${name}`,
-            setup,
-            teardown,
-            test(resolve, reject) {
-                // When repeatingRequestAnimationFrame calls rAF, the backend will store a call stack with length 2:
-                // one frame for the caller and one for the asynchronous boundary. As a result, the parity of
-                // Debugger.asyncStackTraceDepth determines whether the trace is truncated on a call stack boundary
-                // (even) or call frame boundary (odd). Since truncation doesn't remove individual call frames,
-                // the depth of the resulting stack trace may exceed the depth setting:
-                //     S = { sšŸ¶, sšŸ·, ā€¦, sš‘˜ }
-                //     T = truncate(S)
-                //     depth(T) ā‰¤ d + depth(tš‘˜)
-                const framesPerCallStack = 2;
-                const expectedStackTraceDepth = asyncStackTraceDepth + (asyncStackTraceDepth % framesPerCallStack);
</del><ins>+    suite.addTestCase({
+        name: &quot;AsyncStackTrace.SetStackTraceDepth&quot;,
+        setup,
+        teardown,
+        test(resolve, reject) {
+            WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Paused)
+            .then((event) =&gt; {
+                let stackTrace = activeTargetData().asyncStackTrace;
+                InspectorTest.assert(stackTrace &amp;&amp; stackTrace.callFrames);
+                if (!stackTrace || !stackTrace.callFrames)
+                    reject();
</ins><span class="cx"> 
</span><del>-                WebInspector.debuggerManager.awaitEvent(WebInspector.DebuggerManager.Event.Paused)
-                .then((event) =&gt; {
-                    let stackTrace = getActiveStackTrace();
-                    InspectorTest.assert(stackTrace &amp;&amp; stackTrace.callFrames);
-                    if (!stackTrace || !stackTrace.callFrames)
-                        reject();
</del><ins>+                InspectorTest.expectEqual(stackTrace.callFrames.length, maxStackDepth, &quot;Number of call frames should be equal to the depth setting.&quot;);
+                WebInspector.debuggerManager.resume().then(resolve, reject);
+            });
</ins><span class="cx"> 
</span><del>-                    let stackTraceDepth = 0;
-                    while (stackTrace.parentStackTrace) {
-                        InspectorTest.expectFalse(stackTrace.truncated, &quot;Non-root StackTrace should not be truncated.&quot;);
-                        stackTrace = stackTrace.parentStackTrace;
-                        stackTraceDepth += stackTrace.callFrames.length;
-                    }
</del><ins>+            const maxStackDepth = 2;
+            const functionCallCount = maxStackDepth * 2;
+            WebInspector.debuggerManager.asyncStackTraceDepth = maxStackDepth;
+            InspectorTest.evaluateInPage(`recursiveCallThenTest(testRequestAnimationFrame, ${functionCallCount})`);
+        }
+    });
</ins><span class="cx"> 
</span><del>-                    InspectorTest.expectThat(stackTrace.truncated, &quot;StackTrace root should be truncated.&quot;);
-                    InspectorTest.expectEqual(stackTraceDepth, expectedStackTraceDepth, &quot;StackTrace should be truncated to the nearest call stack.&quot;);
-
-                    logActiveStackTrace();
-                    WebInspector.debuggerManager.resume().then(resolve, reject);
-                });
-
-                InspectorTest.log(`Set Debugger.asyncStackTraceDepth equal to ${asyncStackTraceDepth}`);
-                WebInspector.debuggerManager.asyncStackTraceDepth = asyncStackTraceDepth;
-
-                let repeatCount = Math.floor(asyncStackTraceDepth / framesPerCallStack) + 1;
-                InspectorTest.evaluateInPage(`repeatingRequestAnimationFrame(${repeatCount})`);
-            }
-        });
-    }
-
-    addTruncateTestCase(&quot;ForceTruncationOnCallStackBoundary&quot;, 4);
-    addTruncateTestCase(&quot;ForceTruncationWithinCallStack&quot;, 5);
-
</del><span class="cx">     suite.runTestCasesAndFinish();
</span><span class="cx"> }
</span><span class="cx"> &lt;/script&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsinspectordebuggerresourceslogactivestacktracejs"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/inspector/debugger/resources/log-active-stack-trace.js (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/inspector/debugger/resources/log-active-stack-trace.js        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/LayoutTests/inspector/debugger/resources/log-active-stack-trace.js        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-TestPage.registerInitializer(() =&gt; {
-    window.getActiveStackTrace = function() {
-        InspectorTest.assert(WebInspector.debuggerManager.activeCallFrame, &quot;Active call frame should exist.&quot;);
-        if (!WebInspector.debuggerManager.activeCallFrame)
-            return null;
-
-        let targetData = WebInspector.debuggerManager.dataForTarget(WebInspector.debuggerManager.activeCallFrame.target);
-        InspectorTest.assert(targetData, &quot;Data for active call frame target should exist.&quot;);
-        if (!targetData)
-            return null;
-
-        const topCallFrameIsBoundary = false;
-        const truncated = false;
-        return new WebInspector.StackTrace(targetData.callFrames, topCallFrameIsBoundary, truncated, targetData.asyncStackTrace);
-    }
-
-    window.logActiveStackTrace = function() {
-        function logStackTrace(stackTrace) {
-            let foundAsyncBoundary = false;
-            let callFrameIndex = 0;
-
-            function logCallFrame(callFrame, isAsyncBoundary) {
-                let label = callFrame.functionName;
-                if (isAsyncBoundary)
-                    InspectorTest.log(`${callFrameIndex}: --- ${label} ---`);
-                else {
-                    let code = callFrame.nativeCode ? &quot;N&quot; : (callFrame.programCode ? &quot;P&quot; : &quot;F&quot;);
-                    InspectorTest.log(`${callFrameIndex}: [${code}] ${label}`);
-                }
-                callFrameIndex++;
-            }
-
-            InspectorTest.log(&quot;CALL STACK:&quot;);
-
-            while (stackTrace) {
-                let callFrames = stackTrace.callFrames;
-                let topCallFrameIsBoundary = stackTrace.topCallFrameIsBoundary;
-                let truncated = stackTrace.truncated;
-                stackTrace = stackTrace.parentStackTrace;
-                if (!callFrames || !callFrames.length)
-                    continue;
-
-                if (topCallFrameIsBoundary) {
-                    if (!foundAsyncBoundary) {
-                        InspectorTest.log(&quot;ASYNC CALL STACK:&quot;);
-                        foundAsyncBoundary = true;
-                    }
-                    logCallFrame(callFrames[0], true);
-                }
-
-                for (let i = topCallFrameIsBoundary ? 1 : 0; i &lt; callFrames.length; ++i) {
-                    let callFrame = callFrames[i];
-                    logCallFrame(callFrame);
-
-                    // Skip call frames after the test harness entry point.
-                    if (callFrame.programCode)
-                        break;
-                }
-
-                if (truncated)
-                    InspectorTest.log(&quot;(remaining call frames truncated)&quot;);
-            }
-        }
-
-        logStackTrace(getActiveStackTrace());
-    }
-});
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -514,7 +514,6 @@
</span><span class="cx">     heap/WeakSet.cpp
</span><span class="cx">     heap/WriteBarrierSupport.cpp
</span><span class="cx"> 
</span><del>-    inspector/AsyncStackTrace.cpp
</del><span class="cx">     inspector/ConsoleMessage.cpp
</span><span class="cx">     inspector/ContentSearchUtilities.cpp
</span><span class="cx">     inspector/EventLoop.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/ChangeLog        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2017-01-30  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
+
+        Unreviewed, rolling out r211345.
+
+        The LayoutTest for this change is failing an assertion.
+
+        Reverted changeset:
+
+        &quot;Web Inspector: Need some limit on Async Call Stacks for async
+        loops (rAF loops)&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=165633
+        http://trac.webkit.org/changeset/211345
+
</ins><span class="cx"> 2017-01-28  Matt Baker  &lt;mattbaker@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Need some limit on Async Call Stacks for async loops (rAF loops)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1376,8 +1376,6 @@
</span><span class="cx">                 65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C0285B1717966800351E35 /* ARMv7DOpcode.h */; };
</span><span class="cx">                 65FB5117184EEE7000C12B70 /* ProtoCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB5116184EE9BC00C12B70 /* ProtoCallFrame.cpp */; };
</span><span class="cx">                 65FB63A41C8EA09C0020719B /* YarrCanonicalizeUnicode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65A946141C8E9F6F00A7209A /* YarrCanonicalizeUnicode.cpp */; };
</span><del>-                6A38CFA91E32B5AB0060206F /* AsyncStackTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A38CFA71E32B58B0060206F /* AsyncStackTrace.cpp */; };
-                6A38CFAA1E32B5AB0060206F /* AsyncStackTrace.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A38CFA81E32B58B0060206F /* AsyncStackTrace.h */; };
</del><span class="cx">                 6AD2CB4D19B9140100065719 /* DebuggerEvalEnabler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AD2CB4C19B9140100065719 /* DebuggerEvalEnabler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 70113D4B1A8DB093003848C4 /* IteratorOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 70113D491A8DB093003848C4 /* IteratorOperations.cpp */; };
</span><span class="cx">                 70113D4C1A8DB093003848C4 /* IteratorOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 70113D4A1A8DB093003848C4 /* IteratorOperations.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3841,8 +3839,6 @@
</span><span class="cx">                 65EA73630BAE35D1001BB560 /* CommonIdentifiers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommonIdentifiers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 65FB5115184EE8F800C12B70 /* ProtoCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProtoCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 65FB5116184EE9BC00C12B70 /* ProtoCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProtoCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                6A38CFA71E32B58B0060206F /* AsyncStackTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AsyncStackTrace.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                6A38CFA81E32B58B0060206F /* AsyncStackTrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncStackTrace.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 6AD2CB4C19B9140100065719 /* DebuggerEvalEnabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebuggerEvalEnabler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 6BA93C9590484C5BAD9316EA /* JSScriptFetcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScriptFetcher.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 70113D491A8DB093003848C4 /* IteratorOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IteratorOperations.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -5033,13 +5029,13 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 0F9327591C20BCBA00CF6564 /* dynbench */,
</span><span class="cx">                                 0FF922CF14F46B130041A24E /* JSCLLIntOffsetsExtractor */,
</span><del>-                                141211200A48793C00480255 /* minidom */,
</del><span class="cx">                                 0F6183431C45F62A0072450B /* testair */,
</span><del>-                                14BD59BF0A3E8F9000BAF59C /* testapi */,
-                                0FEC85AD1BDB5CF10080FF74 /* testb3 */,
</del><span class="cx">                                 6511230514046A4C002B101D /* testRegExp */,
</span><span class="cx">                                 932F5BD90822A1C700736975 /* JavaScriptCore.framework */,
</span><span class="cx">                                 932F5BE10822A1C700736975 /* jsc */,
</span><ins>+                                141211200A48793C00480255 /* minidom */,
+                                14BD59BF0A3E8F9000BAF59C /* testapi */,
+                                0FEC85AD1BDB5CF10080FF74 /* testb3 */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = Products;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -5260,10 +5256,10 @@
</span><span class="cx">                                 0FEC84C01BDACDAC0080FF74 /* B3Common.h */,
</span><span class="cx">                                 0FEC84C11BDACDAC0080FF74 /* B3Commutativity.cpp */,
</span><span class="cx">                                 0FEC84C21BDACDAC0080FF74 /* B3Commutativity.h */,
</span><ins>+                                7919B77F1E03559C005BEED8 /* B3Compile.h */,
+                                795F099C1E03600500BBE37F /* B3Compile.cpp */,
</ins><span class="cx">                                 0F338DFF1BF0276C0013C88F /* B3Compilation.cpp */,
</span><span class="cx">                                 0F338E001BF0276C0013C88F /* B3Compilation.h */,
</span><del>-                                795F099C1E03600500BBE37F /* B3Compile.cpp */,
-                                7919B77F1E03559C005BEED8 /* B3Compile.h */,
</del><span class="cx">                                 0F86AE1F1C5311C5006BE8EC /* B3ComputeDivisionMagic.h */,
</span><span class="cx">                                 0FEC84C31BDACDAC0080FF74 /* B3Const32Value.cpp */,
</span><span class="cx">                                 0FEC84C41BDACDAC0080FF74 /* B3Const32Value.h */,
</span><span class="lines">@@ -6369,9 +6365,9 @@
</span><span class="cx">                                 E178633F0D9BEC0000D74E75 /* InitializeThreading.h */,
</span><span class="cx">                                 E35E035D1B7AB43E0073AD2A /* InspectorInstrumentationObject.cpp */,
</span><span class="cx">                                 E35E035E1B7AB43E0073AD2A /* InspectorInstrumentationObject.h */,
</span><ins>+                                A7A8AF2B17ADB5F3005AB174 /* Int8Array.h */,
</ins><span class="cx">                                 A7A8AF2C17ADB5F3005AB174 /* Int16Array.h */,
</span><span class="cx">                                 A7A8AF2D17ADB5F3005AB174 /* Int32Array.h */,
</span><del>-                                A7A8AF2B17ADB5F3005AB174 /* Int8Array.h */,
</del><span class="cx">                                 BC9BB95B0E19680600DF8855 /* InternalFunction.cpp */,
</span><span class="cx">                                 BC11667A0E199C05008066DD /* InternalFunction.h */,
</span><span class="cx">                                 A1B9E2331B4E0D6700BC7FED /* IntlCollator.cpp */,
</span><span class="lines">@@ -6466,9 +6462,9 @@
</span><span class="cx">                                 BC756FC60E2031B200DE7D12 /* JSGlobalObjectFunctions.cpp */,
</span><span class="cx">                                 BC756FC70E2031B200DE7D12 /* JSGlobalObjectFunctions.h */,
</span><span class="cx">                                 79B819921DD25CF500DDC714 /* JSGlobalObjectInlines.h */,
</span><ins>+                                0F2B66C917B6B5AB00A7AE3F /* JSInt8Array.h */,
</ins><span class="cx">                                 0F2B66CA17B6B5AB00A7AE3F /* JSInt16Array.h */,
</span><span class="cx">                                 0F2B66CB17B6B5AB00A7AE3F /* JSInt32Array.h */,
</span><del>-                                0F2B66C917B6B5AB00A7AE3F /* JSInt8Array.h */,
</del><span class="cx">                                 E33F507E1B8429A400413856 /* JSInternalPromise.cpp */,
</span><span class="cx">                                 E33F507F1B8429A400413856 /* JSInternalPromise.h */,
</span><span class="cx">                                 E33F50761B84225700413856 /* JSInternalPromiseConstructor.cpp */,
</span><span class="lines">@@ -6556,10 +6552,10 @@
</span><span class="cx">                                 53F256E11B87E28000B4B768 /* JSTypedArrayViewPrototype.cpp */,
</span><span class="cx">                                 53917E7C1B791106000EBD33 /* JSTypedArrayViewPrototype.h */,
</span><span class="cx">                                 6507D2970E871E4A00D7D896 /* JSTypeInfo.h */,
</span><ins>+                                0F2B66D217B6B5AB00A7AE3F /* JSUint8Array.h */,
+                                0F2B66D317B6B5AB00A7AE3F /* JSUint8ClampedArray.h */,
</ins><span class="cx">                                 0F2B66D417B6B5AB00A7AE3F /* JSUint16Array.h */,
</span><span class="cx">                                 0F2B66D517B6B5AB00A7AE3F /* JSUint32Array.h */,
</span><del>-                                0F2B66D217B6B5AB00A7AE3F /* JSUint8Array.h */,
-                                0F2B66D317B6B5AB00A7AE3F /* JSUint8ClampedArray.h */,
</del><span class="cx">                                 A7CA3AE117DA41AE006538AF /* JSWeakMap.cpp */,
</span><span class="cx">                                 A7CA3AE217DA41AE006538AF /* JSWeakMap.h */,
</span><span class="cx">                                 709FB8611AE335C60039D069 /* JSWeakSet.cpp */,
</span><span class="lines">@@ -6766,11 +6762,11 @@
</span><span class="cx">                                 0F2D4DE019832D91007D4B19 /* TypeProfilerLog.h */,
</span><span class="cx">                                 0F2D4DE319832D91007D4B19 /* TypeSet.cpp */,
</span><span class="cx">                                 0F2D4DE419832D91007D4B19 /* TypeSet.h */,
</span><ins>+                                A7A8AF3017ADB5F3005AB174 /* Uint8Array.h */,
+                                A7A8AF3117ADB5F3005AB174 /* Uint8ClampedArray.h */,
</ins><span class="cx">                                 A7A8AF3217ADB5F3005AB174 /* Uint16Array.h */,
</span><span class="cx">                                 866739D113BFDE710023D87C /* Uint16WithFraction.h */,
</span><span class="cx">                                 A7A8AF3317ADB5F3005AB174 /* Uint32Array.h */,
</span><del>-                                A7A8AF3017ADB5F3005AB174 /* Uint8Array.h */,
-                                A7A8AF3117ADB5F3005AB174 /* Uint8ClampedArray.h */,
</del><span class="cx">                                 0FE050231AA9095600D33B33 /* VarOffset.cpp */,
</span><span class="cx">                                 0FE050241AA9095600D33B33 /* VarOffset.h */,
</span><span class="cx">                                 E18E3A570DF9278C00D90B34 /* VM.cpp */,
</span><span class="lines">@@ -7557,8 +7553,6 @@
</span><span class="cx">                                 A532438D185696CA002ED692 /* protocol */,
</span><span class="cx">                                 A5BA15E01823409D00A82E69 /* remote */,
</span><span class="cx">                                 A532438E185696CE002ED692 /* scripts */,
</span><del>-                                6A38CFA71E32B58B0060206F /* AsyncStackTrace.cpp */,
-                                6A38CFA81E32B58B0060206F /* AsyncStackTrace.h */,
</del><span class="cx">                                 A5FD0077189B051000633231 /* ConsoleMessage.cpp */,
</span><span class="cx">                                 A5FD0078189B051000633231 /* ConsoleMessage.h */,
</span><span class="cx">                                 A57D23EF1891B5B40031C7FA /* ContentSearchUtilities.cpp */,
</span><span class="lines">@@ -7914,7 +7908,6 @@
</span><span class="cx">                                 A784A26111D16622005776AC /* ASTBuilder.h in Headers */,
</span><span class="cx">                                 5B70CFE21DB69E6600EC23F9 /* AsyncFunctionConstructor.h in Headers */,
</span><span class="cx">                                 5B70CFE01DB69E6600EC23F9 /* AsyncFunctionPrototype.h in Headers */,
</span><del>-                                6A38CFAA1E32B5AB0060206F /* AsyncStackTrace.h in Headers */,
</del><span class="cx">                                 0F7CF9571DC125900098CC12 /* AtomicsObject.h in Headers */,
</span><span class="cx">                                 A5EA70E719F5B1010098F5EC /* AugmentableInspectorController.h in Headers */,
</span><span class="cx">                                 A5EA70E819F5B1010098F5EC /* AugmentableInspectorControllerClient.h in Headers */,
</span><span class="lines">@@ -7937,7 +7930,6 @@
</span><span class="cx">                                 0FEC850A1BDACDAC0080FF74 /* B3Common.h in Headers */,
</span><span class="cx">                                 0FEC850C1BDACDAC0080FF74 /* B3Commutativity.h in Headers */,
</span><span class="cx">                                 0F338E0C1BF0276C0013C88F /* B3Compilation.h in Headers */,
</span><del>-                                7919B7801E03559C005BEED8 /* B3Compile.h in Headers */,
</del><span class="cx">                                 0F86AE201C5311C5006BE8EC /* B3ComputeDivisionMagic.h in Headers */,
</span><span class="cx">                                 0FEC850E1BDACDAC0080FF74 /* B3Const32Value.h in Headers */,
</span><span class="cx">                                 0FEC85101BDACDAC0080FF74 /* B3Const64Value.h in Headers */,
</span><span class="lines">@@ -8037,6 +8029,7 @@
</span><span class="cx">                                 0FB7F39815ED8E4600F167B2 /* ButterflyInlines.h in Headers */,
</span><span class="cx">                                 C2FCAE1117A9C24E0034C735 /* BytecodeBasicBlock.h in Headers */,
</span><span class="cx">                                 0F21C27F14BEAA8200ADC64B /* BytecodeConventions.h in Headers */,
</span><ins>+                                0F1FB3931E177A7200A9BE50 /* VisitingTimeout.h in Headers */,
</ins><span class="cx">                                 969A07230ED1CE3300F1F681 /* BytecodeGenerator.h in Headers */,
</span><span class="cx">                                 E328DAE81D38D005001A2529 /* BytecodeGeneratorification.h in Headers */,
</span><span class="cx">                                 E328DAE91D38D005001A2529 /* BytecodeGraph.h in Headers */,
</span><span class="lines">@@ -8062,6 +8055,7 @@
</span><span class="cx">                                 FE80C1971D775CDD008510C0 /* CatchScope.h in Headers */,
</span><span class="cx">                                 0F24E54217EA9F5900ABB217 /* CCallHelpers.h in Headers */,
</span><span class="cx">                                 0F070A471D543A8B006E7232 /* CellContainer.h in Headers */,
</span><ins>+                                ADE8029A1E08F1DE0058DE78 /* WebAssemblyLinkErrorConstructor.h in Headers */,
</ins><span class="cx">                                 0F070A481D543A90006E7232 /* CellContainerInlines.h in Headers */,
</span><span class="cx">                                 0F1C3DDA1BBCE09E00E523E4 /* CellState.h in Headers */,
</span><span class="cx">                                 BC6AAAE50E1F426500AD87D8 /* ClassInfo.h in Headers */,
</span><span class="lines">@@ -8099,7 +8093,6 @@
</span><span class="cx">                                 A55714BE1CD8049F0004D2C6 /* ConsoleObject.h in Headers */,
</span><span class="cx">                                 A5FD0074189B038C00633231 /* ConsoleTypes.h in Headers */,
</span><span class="cx">                                 0FFC99D1184EC8AD009C10AB /* ConstantMode.h in Headers */,
</span><del>-                                0F7DF1341E2970D70095951B /* ConstraintVolatility.h in Headers */,
</del><span class="cx">                                 E354622B1B6065D100545386 /* ConstructAbility.h in Headers */,
</span><span class="cx">                                 BC18C3F60E16F5CD00B34460 /* ConstructData.h in Headers */,
</span><span class="cx">                                 A57D23F21891B5B40031C7FA /* ContentSearchUtilities.h in Headers */,
</span><span class="lines">@@ -8121,6 +8114,7 @@
</span><span class="cx">                                 BCD203E80E1718F4002C7E82 /* DatePrototype.lut.h in Headers */,
</span><span class="cx">                                 BC18C3FA0E16F5CD00B34460 /* Debugger.h in Headers */,
</span><span class="cx">                                 BC18C3FB0E16F5CD00B34460 /* DebuggerCallFrame.h in Headers */,
</span><ins>+                                0F7DF1351E2970DC0095951B /* MarkedSpaceInlines.h in Headers */,
</ins><span class="cx">                                 6AD2CB4D19B9140100065719 /* DebuggerEvalEnabler.h in Headers */,
</span><span class="cx">                                 A5FC84B21D1DDAD6006B5C46 /* DebuggerLocation.h in Headers */,
</span><span class="cx">                                 A5A1A0941D8CB33E004C2EB8 /* DebuggerParseData.h in Headers */,
</span><span class="lines">@@ -8145,6 +8139,7 @@
</span><span class="cx">                                 0F2DD8141AB3D8BE00BBB8E8 /* DFGArgumentsUtilities.h in Headers */,
</span><span class="cx">                                 0F485322187750560083B687 /* DFGArithMode.h in Headers */,
</span><span class="cx">                                 0F05C3B41683CF9200BAF45B /* DFGArrayifySlowPathGenerator.h in Headers */,
</span><ins>+                                0F4F82881E2FFDE00075184C /* JSSegmentedVariableObjectSubspace.h in Headers */,
</ins><span class="cx">                                 0F63948515E4811B006A597C /* DFGArrayMode.h in Headers */,
</span><span class="cx">                                 A7D9A29517A0BC7400EE2618 /* DFGAtTailAbstractState.h in Headers */,
</span><span class="cx">                                 0F666EC71835672B00D017F1 /* DFGAvailability.h in Headers */,
</span><span class="lines">@@ -8169,6 +8164,7 @@
</span><span class="cx">                                 0F3B3A281544C997003ED0FF /* DFGCFGSimplificationPhase.h in Headers */,
</span><span class="cx">                                 0F9D36951AE9CC33000D4DFB /* DFGCleanUpPhase.h in Headers */,
</span><span class="cx">                                 A77A424017A0BBFD00A8DB81 /* DFGClobberize.h in Headers */,
</span><ins>+                                AD7438C01E0457A400FD0C2A /* WasmSignature.h in Headers */,
</ins><span class="cx">                                 A77A424217A0BBFD00A8DB81 /* DFGClobberSet.h in Headers */,
</span><span class="cx">                                 0F3C1F1B1B868E7900ABB08B /* DFGClobbersExitState.h in Headers */,
</span><span class="cx">                                 0F04396E1B03DC0B009598B7 /* DFGCombinedLiveness.h in Headers */,
</span><span class="lines">@@ -8208,6 +8204,7 @@
</span><span class="cx">                                 0F9D339717FFC4E60073C2BC /* DFGFlushedAt.h in Headers */,
</span><span class="cx">                                 A7D89CF817A0B8CC00773AD8 /* DFGFlushFormat.h in Headers */,
</span><span class="cx">                                 0F2DD8151AB3D8BE00BBB8E8 /* DFGForAllKills.h in Headers */,
</span><ins>+                                0F4F828C1E31B9760075184C /* StochasticSpaceTimeMutatorScheduler.h in Headers */,
</ins><span class="cx">                                 0F69CC89193AC60A0045759E /* DFGFrozenValue.h in Headers */,
</span><span class="cx">                                 86EC9DC61328DF82002B2AD7 /* DFGGenerationInfo.h in Headers */,
</span><span class="cx">                                 86EC9DC81328DF82002B2AD7 /* DFGGraph.h in Headers */,
</span><span class="lines">@@ -8261,6 +8258,7 @@
</span><span class="cx">                                 0FC0977114693AF500CF2442 /* DFGOSRExitCompiler.h in Headers */,
</span><span class="cx">                                 0F7025AA1714B0FC00382C0E /* DFGOSRExitCompilerCommon.h in Headers */,
</span><span class="cx">                                 0F392C8A1B46188400844728 /* DFGOSRExitFuzz.h in Headers */,
</span><ins>+                                0F7DF13F1E2AFC4D0095951B /* JSStringSubspace.h in Headers */,
</ins><span class="cx">                                 0FEFC9AB1681A3B600567F53 /* DFGOSRExitJumpPlaceholder.h in Headers */,
</span><span class="cx">                                 0F235BEE17178E7300690C7F /* DFGOSRExitPreparation.h in Headers */,
</span><span class="cx">                                 0F6237981AE45CA700D402EA /* DFGPhantomInsertionPhase.h in Headers */,
</span><span class="lines">@@ -8267,7 +8265,6 @@
</span><span class="cx">                                 0FFFC95C14EF90AF00C72532 /* DFGPhase.h in Headers */,
</span><span class="cx">                                 0F2B9CEB19D0BA7D00B1D1B5 /* DFGPhiChildren.h in Headers */,
</span><span class="cx">                                 A78A977B179738B8009DF744 /* DFGPlan.h in Headers */,
</span><del>-                                0F1FB3961E1AF7E100A9BE50 /* DFGPlanInlines.h in Headers */,
</del><span class="cx">                                 DC00039319D8BE6F00023EB0 /* DFGPreciseLocalClobberize.h in Headers */,
</span><span class="cx">                                 0FBE0F7516C1DB0B0082C5E8 /* DFGPredictionInjectionPhase.h in Headers */,
</span><span class="cx">                                 0FFFC95E14EF90B700C72532 /* DFGPredictionPropagationPhase.h in Headers */,
</span><span class="lines">@@ -8298,7 +8295,6 @@
</span><span class="cx">                                 0F2FCCFF18A60070001A27F8 /* DFGThreadData.h in Headers */,
</span><span class="cx">                                 0FC097A2146B28CC00CF2442 /* DFGThunks.h in Headers */,
</span><span class="cx">                                 0FD8A32817D51F5700CA2C40 /* DFGTierUpCheckInjectionPhase.h in Headers */,
</span><del>-                                ADFF2F701E319DE3001EA54E /* DFGTierUpEntryTrigger.h in Headers */,
</del><span class="cx">                                 0FD8A32A17D51F5700CA2C40 /* DFGToFTLDeferredCompilationCallback.h in Headers */,
</span><span class="cx">                                 0FD8A32C17D51F5700CA2C40 /* DFGToFTLForOSREntryDeferredCompilationCallback.h in Headers */,
</span><span class="cx">                                 0FE7211E193B9C590031F6ED /* DFGTransition.h in Headers */,
</span><span class="lines">@@ -8316,7 +8312,6 @@
</span><span class="cx">                                 0FFFC96014EF90BD00C72532 /* DFGVirtualRegisterAllocationPhase.h in Headers */,
</span><span class="cx">                                 0FC97F4218202119002C9B26 /* DFGWatchpointCollectionPhase.h in Headers */,
</span><span class="cx">                                 0FDB2CE8174830A2007B3C1B /* DFGWorklist.h in Headers */,
</span><del>-                                0F1FB3971E1AF7E300A9BE50 /* DFGWorklistInlines.h in Headers */,
</del><span class="cx">                                 0FE050181AA9091100D33B33 /* DirectArguments.h in Headers */,
</span><span class="cx">                                 0FE050161AA9091100D33B33 /* DirectArgumentsOffset.h in Headers */,
</span><span class="cx">                                 969A07980ED1D3AE00F1F681 /* DirectEvalCodeCache.h in Headers */,
</span><span class="lines">@@ -8423,6 +8418,7 @@
</span><span class="cx">                                 52B310FB1974AE610080857C /* FunctionHasExecutedCache.h in Headers */,
</span><span class="cx">                                 FE4BFF2C1AD476E700088F87 /* FunctionOverrides.h in Headers */,
</span><span class="cx">                                 BC18C4050E16F5CD00B34460 /* FunctionPrototype.h in Headers */,
</span><ins>+                                7919B7801E03559C005BEED8 /* B3Compile.h in Headers */,
</ins><span class="cx">                                 62D2D3901ADF103F000206C1 /* FunctionRareData.h in Headers */,
</span><span class="cx">                                 FEA0C4031CDD7D1D00481991 /* FunctionWhitelist.h in Headers */,
</span><span class="cx">                                 2AACE63D18CA5A0300ED0191 /* GCActivityCallback.h in Headers */,
</span><span class="lines">@@ -8438,8 +8434,10 @@
</span><span class="cx">                                 A54E8EB018BFFBBB00556D28 /* GCSegmentedArray.h in Headers */,
</span><span class="cx">                                 A54E8EB118BFFBBE00556D28 /* GCSegmentedArrayInlines.h in Headers */,
</span><span class="cx">                                 0F86A26F1D6F7B3300CB0C92 /* GCTypeMap.h in Headers */,
</span><ins>+                                0F7DF1381E2970E40095951B /* SubspaceInlines.h in Headers */,
</ins><span class="cx">                                 9959E9311BD18272001AA413 /* generate-combined-inspector-json.py in Headers */,
</span><span class="cx">                                 C4703CC0192844960013FBEA /* generate-inspector-protocol-bindings.py in Headers */,
</span><ins>+                                0F7DF1461E2BEF6A0095951B /* MarkedAllocatorInlines.h in Headers */,
</ins><span class="cx">                                 99DA00AF1BD5994E00F4575C /* generate-js-builtins.py in Headers */,
</span><span class="cx">                                 A5EA70EC19F5B3EA0098F5EC /* generate_cpp_alternate_backend_dispatcher_header.py in Headers */,
</span><span class="cx">                                 A5EF9B141A1D43F600702E90 /* generate_cpp_backend_dispatcher_header.py in Headers */,
</span><span class="lines">@@ -8474,6 +8472,7 @@
</span><span class="cx">                                 0F0332C418B01763005F979A /* GetByIdVariant.h in Headers */,
</span><span class="cx">                                 7964656A1B952FF0003059EE /* GetPutInfo.h in Headers */,
</span><span class="cx">                                 14AD910E1DCA92940014F9FE /* GlobalCodeBlock.h in Headers */,
</span><ins>+                                79DAE27A1E03C82200B526AA /* WasmExceptionType.h in Headers */,
</ins><span class="cx">                                 0F24E54417EA9F5900ABB217 /* GPRInfo.h in Headers */,
</span><span class="cx">                                 142E3134134FF0A600AFADB5 /* Handle.h in Headers */,
</span><span class="cx">                                 C283190016FE4B7D00157BFD /* HandleBlock.h in Headers */,
</span><span class="lines">@@ -8540,6 +8539,7 @@
</span><span class="cx">                                 A5339EC61BB399A60054F005 /* InspectorHeapAgent.h in Headers */,
</span><span class="cx">                                 E35E03601B7AB43E0073AD2A /* InspectorInstrumentationObject.h in Headers */,
</span><span class="cx">                                 E33B3E261B7ABD750048DB2E /* InspectorInstrumentationObject.lut.h in Headers */,
</span><ins>+                                ADE802991E08F1DE0058DE78 /* JSWebAssemblyLinkError.h in Headers */,
</ins><span class="cx">                                 A532438C18568335002ED692 /* InspectorProtocolObjects.h in Headers */,
</span><span class="cx">                                 A55D93AC18514F7900400DED /* InspectorProtocolTypes.h in Headers */,
</span><span class="cx">                                 A50E4B6218809DD50068A46D /* InspectorRuntimeAgent.h in Headers */,
</span><span class="lines">@@ -8569,6 +8569,7 @@
</span><span class="cx">                                 A1D793011B43864B004516F5 /* IntlNumberFormatPrototype.h in Headers */,
</span><span class="cx">                                 A125846F1B45A36000CC7F6C /* IntlNumberFormatPrototype.lut.h in Headers */,
</span><span class="cx">                                 A12BBFF21B044A8B00664B69 /* IntlObject.h in Headers */,
</span><ins>+                                0F1FB3971E1AF7E300A9BE50 /* DFGWorklistInlines.h in Headers */,
</ins><span class="cx">                                 708EBE241CE8F35800453146 /* IntlObjectInlines.h in Headers */,
</span><span class="cx">                                 860BD801148EA6F200112B2F /* Intrinsic.h in Headers */,
</span><span class="cx">                                 8B9F6D561D5912FA001C739F /* IterationKind.h in Headers */,
</span><span class="lines">@@ -8599,6 +8600,7 @@
</span><span class="cx">                                 FE187A021BFBE5610038BBCA /* JITMulGenerator.h in Headers */,
</span><span class="cx">                                 FE99B2491C24C3D300C82159 /* JITNegGenerator.h in Headers */,
</span><span class="cx">                                 0F24E54D17EE274900ABB217 /* JITOperations.h in Headers */,
</span><ins>+                                0F7DF1371E2970E10095951B /* Subspace.h in Headers */,
</ins><span class="cx">                                 FE3A06C01C11041A00390FDD /* JITRightShiftGenerator.h in Headers */,
</span><span class="cx">                                 0F766D3115AA8112008F363E /* JITStubRoutine.h in Headers */,
</span><span class="cx">                                 0F766D2C15A8CC3A008F363E /* JITStubRoutineSet.h in Headers */,
</span><span class="lines">@@ -8644,7 +8646,6 @@
</span><span class="cx">                                 996B731C1BDA08DD00331B84 /* JSDataViewPrototype.lut.h in Headers */,
</span><span class="cx">                                 978801411471AD920041B016 /* JSDateMath.h in Headers */,
</span><span class="cx">                                 C2A7F688160432D400F76B98 /* JSDestructibleObject.h in Headers */,
</span><del>-                                0F7DF13C1E2971130095951B /* JSDestructibleObjectSubspace.h in Headers */,
</del><span class="cx">                                 FE384EE61ADDB7AD0055DE2C /* JSDollarVM.h in Headers */,
</span><span class="cx">                                 FE384EE81ADDB7AD0055DE2C /* JSDollarVMPrototype.h in Headers */,
</span><span class="cx">                                 BC18C42D0E16F5CD00B34460 /* JSEnvironmentRecord.h in Headers */,
</span><span class="lines">@@ -8654,7 +8655,9 @@
</span><span class="cx">                                 0F2B66EF17B6B5AB00A7AE3F /* JSFloat32Array.h in Headers */,
</span><span class="cx">                                 0F2B66F017B6B5AB00A7AE3F /* JSFloat64Array.h in Headers */,
</span><span class="cx">                                 BC18C41F0E16F5CD00B34460 /* JSFunction.h in Headers */,
</span><ins>+                                0F660E3A1E0517C10031462C /* MarkingConstraintSet.h in Headers */,
</ins><span class="cx">                                 A72028BA1797603D0098028C /* JSFunctionInlines.h in Headers */,
</span><ins>+                                0F660E381E0517BB0031462C /* MarkingConstraint.h in Headers */,
</ins><span class="cx">                                 70B7919C1C024A49002481E2 /* JSGeneratorFunction.h in Headers */,
</span><span class="cx">                                 0F2B66F117B6B5AB00A7AE3F /* JSGenericTypedArrayView.h in Headers */,
</span><span class="cx">                                 0F2B66F217B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructor.h in Headers */,
</span><span class="lines">@@ -8715,6 +8718,7 @@
</span><span class="cx">                                 7C184E1F17BEE22E007CB63A /* JSPromisePrototype.h in Headers */,
</span><span class="cx">                                 996B731F1BDA08EF00331B84 /* JSPromisePrototype.lut.h in Headers */,
</span><span class="cx">                                 2A05ABD61961DF2400341750 /* JSPropertyNameEnumerator.h in Headers */,
</span><ins>+                                0F7DF13C1E2971130095951B /* JSDestructibleObjectSubspace.h in Headers */,
</ins><span class="cx">                                 E3EF88751B66DF23003F26CB /* JSPropertyNameIterator.h in Headers */,
</span><span class="cx">                                 862553D216136E1A009F17D0 /* JSProxy.h in Headers */,
</span><span class="cx">                                 A552C3801ADDB8FE00139726 /* JSRemoteInspector.h in Headers */,
</span><span class="lines">@@ -8721,13 +8725,11 @@
</span><span class="cx">                                 9928FF3C18AC4AEC00B8CF12 /* JSReplayInputs.h in Headers */,
</span><span class="cx">                                 BC18C4260E16F5CD00B34460 /* JSRetainPtr.h in Headers */,
</span><span class="cx">                                 14874AE615EBDE4A002E3587 /* JSScope.h in Headers */,
</span><del>-                                9064337DD4B0402BAF34A592 /* JSScriptFetcher.h in Headers */,
</del><span class="cx">                                 A7C0C4AC168103020017011D /* JSScriptRefPrivate.h in Headers */,
</span><span class="cx">                                 0F919D11157F332C004A4E7D /* JSSegmentedVariableObject.h in Headers */,
</span><del>-                                0F4F82881E2FFDE00075184C /* JSSegmentedVariableObjectSubspace.h in Headers */,
</del><span class="cx">                                 A7299D9E17D12837005F5FF9 /* JSSet.h in Headers */,
</span><ins>+                                0F7DF1341E2970D70095951B /* ConstraintVolatility.h in Headers */,
</ins><span class="cx">                                 A790DD70182F499700588807 /* JSSetIterator.h in Headers */,
</span><del>-                                BDFCB2BBE90F41349E1B0BED /* JSSourceCode.h in Headers */,
</del><span class="cx">                                 BC18C4270E16F5CD00B34460 /* JSString.h in Headers */,
</span><span class="cx">                                 86E85539111B9968001AF51E /* JSStringBuilder.h in Headers */,
</span><span class="cx">                                 FEFD6FC61D5E7992008F2F0B /* JSStringInlines.h in Headers */,
</span><span class="lines">@@ -8736,7 +8738,6 @@
</span><span class="cx">                                 BC18C4280E16F5CD00B34460 /* JSStringRef.h in Headers */,
</span><span class="cx">                                 BC18C4290E16F5CD00B34460 /* JSStringRefCF.h in Headers */,
</span><span class="cx">                                 1A28D4A8177B71C80007FA3C /* JSStringRefPrivate.h in Headers */,
</span><del>-                                0F7DF13F1E2AFC4D0095951B /* JSStringSubspace.h in Headers */,
</del><span class="cx">                                 0F919D0D157EE0A2004A4E7D /* JSSymbolTableObject.h in Headers */,
</span><span class="cx">                                 70ECA6061AFDBEA200449739 /* JSTemplateRegistryKey.h in Headers */,
</span><span class="cx">                                 BC18C42A0E16F5CD00B34460 /* JSType.h in Headers */,
</span><span class="lines">@@ -8765,7 +8766,6 @@
</span><span class="cx">                                 AD2FCBE31DB58DAD00B3E736 /* JSWebAssemblyCompileError.h in Headers */,
</span><span class="cx">                                 796FB43A1DFF8C3F0039C95D /* JSWebAssemblyHelpers.h in Headers */,
</span><span class="cx">                                 AD2FCBE51DB58DAD00B3E736 /* JSWebAssemblyInstance.h in Headers */,
</span><del>-                                ADE802991E08F1DE0058DE78 /* JSWebAssemblyLinkError.h in Headers */,
</del><span class="cx">                                 AD2FCBE71DB58DAD00B3E736 /* JSWebAssemblyMemory.h in Headers */,
</span><span class="cx">                                 AD2FCC051DB58DAD00B3E736 /* JSWebAssemblyModule.h in Headers */,
</span><span class="cx">                                 AD2FCBE91DB58DAD00B3E736 /* JSWebAssemblyRuntimeError.h in Headers */,
</span><span class="lines">@@ -8772,6 +8772,7 @@
</span><span class="cx">                                 AD2FCBEB1DB58DAD00B3E736 /* JSWebAssemblyTable.h in Headers */,
</span><span class="cx">                                 1442566215EDE98D0066A49B /* JSWithScope.h in Headers */,
</span><span class="cx">                                 86E3C619167BABEE006D760A /* JSWrapperMap.h in Headers */,
</span><ins>+                                0F1FB38F1E173A6700A9BE50 /* SynchronousStopTheWorldMutatorScheduler.h in Headers */,
</ins><span class="cx">                                 BC18C42E0E16F5CD00B34460 /* JSWrapperObject.h in Headers */,
</span><span class="cx">                                 BCFD8C930EEB2EE700283848 /* JumpTable.h in Headers */,
</span><span class="cx">                                 A72FFD64139985A800E5365A /* KeywordLookup.h in Headers */,
</span><span class="lines">@@ -8817,6 +8818,7 @@
</span><span class="cx">                                 863B23E00FC6118900703AA4 /* MacroAssemblerCodeRef.h in Headers */,
</span><span class="cx">                                 E32AB2441DCD75F400D7533A /* MacroAssemblerHelpers.h in Headers */,
</span><span class="cx">                                 86C568E111A213EE0007F7F0 /* MacroAssemblerMIPS.h in Headers */,
</span><ins>+                                0F1FB3961E1AF7E100A9BE50 /* DFGPlanInlines.h in Headers */,
</ins><span class="cx">                                 FE68C6371B90DE040042BCB3 /* MacroAssemblerPrinter.h in Headers */,
</span><span class="cx">                                 860161E40F3A83C100F84710 /* MacroAssemblerX86.h in Headers */,
</span><span class="cx">                                 860161E50F3A83C100F84710 /* MacroAssemblerX86_64.h in Headers */,
</span><span class="lines">@@ -8826,14 +8828,10 @@
</span><span class="cx">                                 A74DEF94182D991400522C22 /* MapIteratorPrototype.h in Headers */,
</span><span class="cx">                                 A700873E17CBE8D300C3E643 /* MapPrototype.h in Headers */,
</span><span class="cx">                                 C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */,
</span><del>-                                0F7DF1461E2BEF6A0095951B /* MarkedAllocatorInlines.h in Headers */,
</del><span class="cx">                                 142D6F0913539A2800B02E86 /* MarkedBlock.h in Headers */,
</span><span class="cx">                                 0F7C5FB81D888A0C0044F5E2 /* MarkedBlockInlines.h in Headers */,
</span><span class="cx">                                 141448CB13A176EC00F5BA1A /* MarkedBlockSet.h in Headers */,
</span><span class="cx">                                 14D2F3DB139F4BE200491031 /* MarkedSpace.h in Headers */,
</span><del>-                                0F7DF1351E2970DC0095951B /* MarkedSpaceInlines.h in Headers */,
-                                0F660E381E0517BB0031462C /* MarkingConstraint.h in Headers */,
-                                0F660E3A1E0517C10031462C /* MarkingConstraintSet.h in Headers */,
</del><span class="cx">                                 142D6F1213539A4100B02E86 /* MarkStack.h in Headers */,
</span><span class="cx">                                 8612E4CD152389EC00C836BE /* MatchResult.h in Headers */,
</span><span class="cx">                                 4340A4851A9051AF00D73CCA /* MathCommon.h in Headers */,
</span><span class="lines">@@ -8841,6 +8839,7 @@
</span><span class="cx">                                 E328C6C71DA4304500D255FD /* MaxFrameExtentForSlowPathCall.h in Headers */,
</span><span class="cx">                                 90213E3E123A40C200D422F3 /* MemoryStatistics.h in Headers */,
</span><span class="cx">                                 0FB5467B14F5C7E1002C2989 /* MethodOfGettingAValueProfile.h in Headers */,
</span><ins>+                                ADE8029C1E08F1DE0058DE78 /* WebAssemblyLinkErrorPrototype.h in Headers */,
</ins><span class="cx">                                 7C008CE7187631B600955C24 /* Microtask.h in Headers */,
</span><span class="cx">                                 86C568E211A213EE0007F7F0 /* MIPSAssembler.h in Headers */,
</span><span class="cx">                                 C4703CD7192844CC0013FBEA /* models.py in Headers */,
</span><span class="lines">@@ -8850,7 +8849,6 @@
</span><span class="cx">                                 14AD910F1DCA92940014F9FE /* ModuleProgramCodeBlock.h in Headers */,
</span><span class="cx">                                 147341D61DC02EB900AA29BA /* ModuleProgramExecutable.h in Headers */,
</span><span class="cx">                                 A79D3ED9C5064DD0A8466A3A /* ModuleScopeData.h in Headers */,
</span><del>-                                0F1FB3991E1F65FB00A9BE50 /* MutatorScheduler.h in Headers */,
</del><span class="cx">                                 0FA762071DB9243300B7A2FD /* MutatorState.h in Headers */,
</span><span class="cx">                                 BC02E9110E1839DB000F9297 /* NativeErrorConstructor.h in Headers */,
</span><span class="cx">                                 BC02E9130E1839DB000F9297 /* NativeErrorPrototype.h in Headers */,
</span><span class="lines">@@ -8980,7 +8978,6 @@
</span><span class="cx">                                 A503FA22188EFF6800110F14 /* ScriptDebugListener.h in Headers */,
</span><span class="cx">                                 A503FA26188EFFFD00110F14 /* ScriptDebugServer.h in Headers */,
</span><span class="cx">                                 147341CE1DC02D7900AA29BA /* ScriptExecutable.h in Headers */,
</span><del>-                                CEAE7D7B889B477BA93ABA6C /* ScriptFetcher.h in Headers */,
</del><span class="cx">                                 A55D93A6185012A800400DED /* ScriptFunctionCall.h in Headers */,
</span><span class="cx">                                 A54CF2FA184EAEDA00237F19 /* ScriptObject.h in Headers */,
</span><span class="cx">                                 A55165D51BDF135A003B75C1 /* ScriptProfilingScope.h in Headers */,
</span><span class="lines">@@ -9000,7 +8997,6 @@
</span><span class="cx">                                 FE187A0F1C030D6C0038BBCA /* SnippetOperand.h in Headers */,
</span><span class="cx">                                 14201D591DECF26A00904BD3 /* SourceCode.h in Headers */,
</span><span class="cx">                                 70B791911C024A13002481E2 /* SourceCodeKey.h in Headers */,
</span><del>-                                2D342F36F7244096804ADB24 /* SourceOrigin.h in Headers */,
</del><span class="cx">                                 BC18C4630E16F5CD00B34460 /* SourceProvider.h in Headers */,
</span><span class="cx">                                 E49DC16C12EF294E00184A1F /* SourceProviderCache.h in Headers */,
</span><span class="cx">                                 E49DC16D12EF295300184A1F /* SourceProviderCacheItem.h in Headers */,
</span><span class="lines">@@ -9015,7 +9011,6 @@
</span><span class="cx">                                 A7C1EAF217987AB600299DB2 /* StackVisitor.h in Headers */,
</span><span class="cx">                                 14DF04DA16B3996D0016A513 /* StaticPropertyAnalysis.h in Headers */,
</span><span class="cx">                                 14CA958B16AB50DE00938A06 /* StaticPropertyAnalyzer.h in Headers */,
</span><del>-                                0F4F828C1E31B9760075184C /* StochasticSpaceTimeMutatorScheduler.h in Headers */,
</del><span class="cx">                                 0F7CF9521DC027D90098CC12 /* StopIfNecessaryTimer.h in Headers */,
</span><span class="cx">                                 A730B6121250068F009D25B1 /* StrictEvalActivation.h in Headers */,
</span><span class="cx">                                 BC18C4660E16F5CD00B34460 /* StringConstructor.h in Headers */,
</span><span class="lines">@@ -9037,9 +9032,8 @@
</span><span class="cx">                                 0F766D3915AE4A1F008F363E /* StructureStubClearingWatchpoint.h in Headers */,
</span><span class="cx">                                 BCCF0D080EF0AAB900413C8F /* StructureStubInfo.h in Headers */,
</span><span class="cx">                                 BC9041480EB9250900FE26FA /* StructureTransitionTable.h in Headers */,
</span><del>-                                0F7DF1371E2970E10095951B /* Subspace.h in Headers */,
-                                0F7DF1381E2970E40095951B /* SubspaceInlines.h in Headers */,
</del><span class="cx">                                 0F4A38FA1C8E13DF00190318 /* SuperSampler.h in Headers */,
</span><ins>+                                0F1FB3991E1F65FB00A9BE50 /* MutatorScheduler.h in Headers */,
</ins><span class="cx">                                 705B41AC1A6E501E00716757 /* Symbol.h in Headers */,
</span><span class="cx">                                 705B41AE1A6E501E00716757 /* SymbolConstructor.h in Headers */,
</span><span class="cx">                                 996B73271BDA08EF00331B84 /* SymbolConstructor.lut.h in Headers */,
</span><span class="lines">@@ -9047,7 +9041,6 @@
</span><span class="cx">                                 705B41B21A6E501E00716757 /* SymbolPrototype.h in Headers */,
</span><span class="cx">                                 996B73281BDA08EF00331B84 /* SymbolPrototype.lut.h in Headers */,
</span><span class="cx">                                 BC18C46B0E16F5CD00B34460 /* SymbolTable.h in Headers */,
</span><del>-                                0F1FB38F1E173A6700A9BE50 /* SynchronousStopTheWorldMutatorScheduler.h in Headers */,
</del><span class="cx">                                 A784A26411D16622005776AC /* SyntaxChecker.h in Headers */,
</span><span class="cx">                                 DC7997831CDE9FA0004D4A09 /* TagRegistersMode.h in Headers */,
</span><span class="cx">                                 70ECA6081AFDBEA200449739 /* TemplateRegistry.h in Headers */,
</span><span class="lines">@@ -9103,7 +9096,6 @@
</span><span class="cx">                                 0F6C73511AC9F99F00BE1682 /* VariableWriteFireDetail.h in Headers */,
</span><span class="cx">                                 0FE0502D1AA9095600D33B33 /* VarOffset.h in Headers */,
</span><span class="cx">                                 0F426A491460CBB700131F8F /* VirtualRegister.h in Headers */,
</span><del>-                                0F1FB3931E177A7200A9BE50 /* VisitingTimeout.h in Headers */,
</del><span class="cx">                                 0F952AA11DF7860900E06FBD /* VisitRaceKey.h in Headers */,
</span><span class="cx">                                 BC18C4200E16F5CD00B34460 /* VM.h in Headers */,
</span><span class="cx">                                 658D3A5619638268003C45D6 /* VMEntryRecord.h in Headers */,
</span><span class="lines">@@ -9112,7 +9104,6 @@
</span><span class="cx">                                 53F40E931D5A4AB30099A1B6 /* WasmB3IRGenerator.h in Headers */,
</span><span class="cx">                                 AD4B1DFA1DF244E20071AE32 /* WasmBinding.h in Headers */,
</span><span class="cx">                                 53FD04D41D7AB291003287D3 /* WasmCallingConvention.h in Headers */,
</span><del>-                                79DAE27A1E03C82200B526AA /* WasmExceptionType.h in Headers */,
</del><span class="cx">                                 7BC547D31B6959A100959B58 /* WasmFormat.h in Headers */,
</span><span class="cx">                                 53F40E8B1D5901BB0099A1B6 /* WasmFunctionParser.h in Headers */,
</span><span class="cx">                                 535557141D9D9EA5006D583B /* WasmMemory.h in Headers */,
</span><span class="lines">@@ -9123,7 +9114,6 @@
</span><span class="cx">                                 53F40E8D1D5901F20099A1B6 /* WasmParser.h in Headers */,
</span><span class="cx">                                 531374BD1D5CE67600AF7A0B /* WasmPlan.h in Headers */,
</span><span class="cx">                                 53F40E851D58F9770099A1B6 /* WasmSections.h in Headers */,
</span><del>-                                AD7438C01E0457A400FD0C2A /* WasmSignature.h in Headers */,
</del><span class="cx">                                 53FF7F991DBFCD9000A26CCC /* WasmValidate.h in Headers */,
</span><span class="cx">                                 FED94F2F171E3E2300BE77A4 /* Watchdog.h in Headers */,
</span><span class="cx">                                 0F919D2615853CE3004A4E7D /* Watchpoint.h in Headers */,
</span><span class="lines">@@ -9151,8 +9141,6 @@
</span><span class="cx">                                 AD2FCC181DB59CB200B3E736 /* WebAssemblyInstanceConstructor.lut.h in Headers */,
</span><span class="cx">                                 AD2FCBF31DB58DAD00B3E736 /* WebAssemblyInstancePrototype.h in Headers */,
</span><span class="cx">                                 AD2FCC191DB59CB200B3E736 /* WebAssemblyInstancePrototype.lut.h in Headers */,
</span><del>-                                ADE8029A1E08F1DE0058DE78 /* WebAssemblyLinkErrorConstructor.h in Headers */,
-                                ADE8029C1E08F1DE0058DE78 /* WebAssemblyLinkErrorPrototype.h in Headers */,
</del><span class="cx">                                 AD2FCBF51DB58DAD00B3E736 /* WebAssemblyMemoryConstructor.h in Headers */,
</span><span class="cx">                                 AD2FCC1A1DB59CB200B3E736 /* WebAssemblyMemoryConstructor.lut.h in Headers */,
</span><span class="cx">                                 AD2FCBF71DB58DAD00B3E736 /* WebAssemblyMemoryPrototype.h in Headers */,
</span><span class="lines">@@ -9184,6 +9172,10 @@
</span><span class="cx">                                 86704B8812DBA33700A9FE7B /* YarrParser.h in Headers */,
</span><span class="cx">                                 86704B8A12DBA33700A9FE7B /* YarrPattern.h in Headers */,
</span><span class="cx">                                 86704B4312DB8A8100A9FE7B /* YarrSyntaxChecker.h in Headers */,
</span><ins>+                                2D342F36F7244096804ADB24 /* SourceOrigin.h in Headers */,
+                                BDFCB2BBE90F41349E1B0BED /* JSSourceCode.h in Headers */,
+                                9064337DD4B0402BAF34A592 /* JSScriptFetcher.h in Headers */,
+                                CEAE7D7B889B477BA93ABA6C /* ScriptFetcher.h in Headers */,
</ins><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><span class="lines">@@ -9735,7 +9727,6 @@
</span><span class="cx">                                 0F24E54017EA9F5900ABB217 /* AssemblyHelpers.cpp in Sources */,
</span><span class="cx">                                 5B70CFE31DB69E6600EC23F9 /* AsyncFunctionConstructor.cpp in Sources */,
</span><span class="cx">                                 5B70CFE11DB69E6600EC23F9 /* AsyncFunctionPrototype.cpp in Sources */,
</span><del>-                                6A38CFA91E32B5AB0060206F /* AsyncStackTrace.cpp in Sources */,
</del><span class="cx">                                 0F7CF9561DC1258D0098CC12 /* AtomicsObject.cpp in Sources */,
</span><span class="cx">                                 0FEC84FE1BDACDAC0080FF74 /* B3ArgumentRegValue.cpp in Sources */,
</span><span class="cx">                                 0FEC85001BDACDAC0080FF74 /* B3BasicBlock.cpp in Sources */,
</span><span class="lines">@@ -9748,7 +9739,6 @@
</span><span class="cx">                                 0FEC85091BDACDAC0080FF74 /* B3Common.cpp in Sources */,
</span><span class="cx">                                 0FEC850B1BDACDAC0080FF74 /* B3Commutativity.cpp in Sources */,
</span><span class="cx">                                 0F338E0B1BF0276C0013C88F /* B3Compilation.cpp in Sources */,
</span><del>-                                795F099D1E03600500BBE37F /* B3Compile.cpp in Sources */,
</del><span class="cx">                                 0FEC850D1BDACDAC0080FF74 /* B3Const32Value.cpp in Sources */,
</span><span class="cx">                                 0FEC850F1BDACDAC0080FF74 /* B3Const64Value.cpp in Sources */,
</span><span class="cx">                                 0FEC85111BDACDAC0080FF74 /* B3ConstDoubleValue.cpp in Sources */,
</span><span class="lines">@@ -9810,6 +9800,8 @@
</span><span class="cx">                                 0F64B2711A784BAF006E4E66 /* BinarySwitch.cpp in Sources */,
</span><span class="cx">                                 14280863107EC11A0013E7B2 /* BooleanConstructor.cpp in Sources */,
</span><span class="cx">                                 14280864107EC11A0013E7B2 /* BooleanObject.cpp in Sources */,
</span><ins>+                                0F4F82871E2FFDDD0075184C /* JSSegmentedVariableObjectSubspace.cpp in Sources */,
+                                ADB6F67D1E15D7600082F384 /* WasmPageCount.cpp in Sources */,
</ins><span class="cx">                                 14280865107EC11A0013E7B2 /* BooleanPrototype.cpp in Sources */,
</span><span class="cx">                                 DE26E9071CB5DEFB00D2BE82 /* BuiltinExecutableCreator.cpp in Sources */,
</span><span class="cx">                                 A7D801A41880D66E0026C39B /* BuiltinExecutables.cpp in Sources */,
</span><span class="lines">@@ -9854,6 +9846,7 @@
</span><span class="cx">                                 A7E5A3A71797432D00E893C0 /* CompilationResult.cpp in Sources */,
</span><span class="cx">                                 147F39C2107EC37600427A48 /* Completion.cpp in Sources */,
</span><span class="cx">                                 0F6FC750196110A800E1D02D /* ComplexGetStatus.cpp in Sources */,
</span><ins>+                                0F1FB38E1E173A6500A9BE50 /* SynchronousStopTheWorldMutatorScheduler.cpp in Sources */,
</ins><span class="cx">                                 146B16D812EB5B59001BEC1B /* ConservativeRoots.cpp in Sources */,
</span><span class="cx">                                 A5B6A74D18C6DBA600F11E91 /* ConsoleClient.cpp in Sources */,
</span><span class="cx">                                 A5FD0079189B051000633231 /* ConsoleMessage.cpp in Sources */,
</span><span class="lines">@@ -9869,6 +9862,7 @@
</span><span class="cx">                                 147F39C4107EC37600427A48 /* DateConversion.cpp in Sources */,
</span><span class="cx">                                 147F39C5107EC37600427A48 /* DateInstance.cpp in Sources */,
</span><span class="cx">                                 147F39C6107EC37600427A48 /* DatePrototype.cpp in Sources */,
</span><ins>+                                0F660E391E0517BF0031462C /* MarkingConstraintSet.cpp in Sources */,
</ins><span class="cx">                                 14280823107EC02C0013E7B2 /* Debugger.cpp in Sources */,
</span><span class="cx">                                 149559EE0DDCDDF700648087 /* DebuggerCallFrame.cpp in Sources */,
</span><span class="cx">                                 A5FC84B31D1DDAD9006B5C46 /* DebuggerLocation.cpp in Sources */,
</span><span class="lines">@@ -9950,6 +9944,7 @@
</span><span class="cx">                                 A7D89CFB17A0B8CC00773AD8 /* DFGLivenessAnalysisPhase.cpp in Sources */,
</span><span class="cx">                                 0FF0F19916B729F6005DF95B /* DFGLongLivedState.cpp in Sources */,
</span><span class="cx">                                 A767B5B517A0B9650063D940 /* DFGLoopPreHeaderCreationPhase.cpp in Sources */,
</span><ins>+                                ADE8029E1E08F2280058DE78 /* WebAssemblyLinkErrorConstructor.cpp in Sources */,
</ins><span class="cx">                                 79F8FC1E1B9FED0F00CA66AB /* DFGMaximalFlushInsertionPhase.cpp in Sources */,
</span><span class="cx">                                 0F5874ED194FEB1200AAB2C1 /* DFGMayExit.cpp in Sources */,
</span><span class="cx">                                 0F1725FF1B48719A00AC3A55 /* DFGMinifiedGraph.cpp in Sources */,
</span><span class="lines">@@ -9988,6 +9983,7 @@
</span><span class="cx">                                 0FB17662196B8F9E0091052A /* DFGPureValue.cpp in Sources */,
</span><span class="cx">                                 0F3A1BF91A9ECB7D000DE01A /* DFGPutStackSinkingPhase.cpp in Sources */,
</span><span class="cx">                                 0F2FCCFB18A60070001A27F8 /* DFGSafepoint.cpp in Sources */,
</span><ins>+                                795F099D1E03600500BBE37F /* B3Compile.cpp in Sources */,
</ins><span class="cx">                                 86EC9DD21328DF82002B2AD7 /* DFGSpeculativeJIT.cpp in Sources */,
</span><span class="cx">                                 86880F1F14328BB900B08D42 /* DFGSpeculativeJIT32_64.cpp in Sources */,
</span><span class="cx">                                 86880F4D14353B2100B08D42 /* DFGSpeculativeJIT64.cpp in Sources */,
</span><span class="lines">@@ -9999,10 +9995,12 @@
</span><span class="cx">                                 0F7F988B1D9596C500F4F12E /* DFGStoreBarrierClusteringPhase.cpp in Sources */,
</span><span class="cx">                                 0F9E32631B05AB0400801ED5 /* DFGStoreBarrierInsertionPhase.cpp in Sources */,
</span><span class="cx">                                 0FC20CB51852E2C600C9E954 /* DFGStrengthReductionPhase.cpp in Sources */,
</span><ins>+                                0F7DF13B1E2971110095951B /* JSDestructibleObjectSubspace.cpp in Sources */,
</ins><span class="cx">                                 0F893BDB1936E23C001211F4 /* DFGStructureAbstractValue.cpp in Sources */,
</span><span class="cx">                                 0F2FCCFE18A60070001A27F8 /* DFGThreadData.cpp in Sources */,
</span><span class="cx">                                 0FC097A1146B28CA00CF2442 /* DFGThunks.cpp in Sources */,
</span><span class="cx">                                 0FD8A32717D51F5700CA2C40 /* DFGTierUpCheckInjectionPhase.cpp in Sources */,
</span><ins>+                                0F4F828B1E31B9740075184C /* StochasticSpaceTimeMutatorScheduler.cpp in Sources */,
</ins><span class="cx">                                 0FD8A32917D51F5700CA2C40 /* DFGToFTLDeferredCompilationCallback.cpp in Sources */,
</span><span class="cx">                                 0FD8A32B17D51F5700CA2C40 /* DFGToFTLForOSREntryDeferredCompilationCallback.cpp in Sources */,
</span><span class="cx">                                 0FE7211D193B9C590031F6ED /* DFGTransition.cpp in Sources */,
</span><span class="lines">@@ -10209,6 +10207,7 @@
</span><span class="cx">                                 5B70CFDF1DB69E6600EC23F9 /* JSAsyncFunction.cpp in Sources */,
</span><span class="cx">                                 1421359B0A677F4F00A8195E /* JSBase.cpp in Sources */,
</span><span class="cx">                                 86FA9E91142BBB2E001773B7 /* JSBoundFunction.cpp in Sources */,
</span><ins>+                                0F7DF1401E2AFC500095951B /* JSStringSubspace.cpp in Sources */,
</ins><span class="cx">                                 1440F8AF0A508D200005F061 /* JSCallbackConstructor.cpp in Sources */,
</span><span class="cx">                                 1440F8920A508B100005F061 /* JSCallbackFunction.cpp in Sources */,
</span><span class="cx">                                 14ABDF600A437FEF00ECCA01 /* JSCallbackObject.cpp in Sources */,
</span><span class="lines">@@ -10224,7 +10223,6 @@
</span><span class="cx">                                 0F2B66EB17B6B5AB00A7AE3F /* JSDataView.cpp in Sources */,
</span><span class="cx">                                 0F2B66ED17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp in Sources */,
</span><span class="cx">                                 978801401471AD920041B016 /* JSDateMath.cpp in Sources */,
</span><del>-                                0F7DF13B1E2971110095951B /* JSDestructibleObjectSubspace.cpp in Sources */,
</del><span class="cx">                                 FE384EE51ADDB7AD0055DE2C /* JSDollarVM.cpp in Sources */,
</span><span class="cx">                                 FE384EE71ADDB7AD0055DE2C /* JSDollarVMPrototype.cpp in Sources */,
</span><span class="cx">                                 147F39D7107EC37600427A48 /* JSEnvironmentRecord.cpp in Sources */,
</span><span class="lines">@@ -10237,6 +10235,8 @@
</span><span class="cx">                                 A5C3A1A518C0490200C9593A /* JSGlobalObjectConsoleClient.cpp in Sources */,
</span><span class="cx">                                 A59455921824744700CC3843 /* JSGlobalObjectDebuggable.cpp in Sources */,
</span><span class="cx">                                 A57D23E91891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp in Sources */,
</span><ins>+                                0F7DF1361E2970DF0095951B /* Subspace.cpp in Sources */,
+                                ADE8029B1E08F1DE0058DE78 /* WebAssemblyLinkErrorPrototype.cpp in Sources */,
</ins><span class="cx">                                 14E9D17B107EC469004DDA21 /* JSGlobalObjectFunctions.cpp in Sources */,
</span><span class="cx">                                 A51007C0187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp in Sources */,
</span><span class="cx">                                 A50E4B6318809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp in Sources */,
</span><span class="lines">@@ -10273,19 +10273,15 @@
</span><span class="cx">                                 A552C37F1ADDB8FE00139726 /* JSRemoteInspector.cpp in Sources */,
</span><span class="cx">                                 9928FF3B18AC4AEC00B8CF12 /* JSReplayInputs.cpp in Sources */,
</span><span class="cx">                                 14874AE515EBDE4A002E3587 /* JSScope.cpp in Sources */,
</span><del>-                                14815F5F991C46BEB98D0016 /* JSScriptFetcher.cpp in Sources */,
</del><span class="cx">                                 A7C0C4AD1681067E0017011D /* JSScriptRef.cpp in Sources */,
</span><span class="cx">                                 0F919D10157F3329004A4E7D /* JSSegmentedVariableObject.cpp in Sources */,
</span><del>-                                0F4F82871E2FFDDD0075184C /* JSSegmentedVariableObjectSubspace.cpp in Sources */,
</del><span class="cx">                                 A7299D9D17D12837005F5FF9 /* JSSet.cpp in Sources */,
</span><span class="cx">                                 A790DD6F182F499700588807 /* JSSetIterator.cpp in Sources */,
</span><del>-                                FA3AB211C8494524AB390267 /* JSSourceCode.cpp in Sources */,
</del><span class="cx">                                 147F39D5107EC37600427A48 /* JSString.cpp in Sources */,
</span><span class="cx">                                 70EC0EC21AA0D7DA00B6AAFA /* JSStringIterator.cpp in Sources */,
</span><span class="cx">                                 2600B5A6152BAAA70091EE5F /* JSStringJoiner.cpp in Sources */,
</span><span class="cx">                                 1482B74E0A43032800517CFC /* JSStringRef.cpp in Sources */,
</span><span class="cx">                                 146AAB380B66A94400E55F16 /* JSStringRefCF.cpp in Sources */,
</span><del>-                                0F7DF1401E2AFC500095951B /* JSStringSubspace.cpp in Sources */,
</del><span class="cx">                                 0F919D0C157EE09F004A4E7D /* JSSymbolTableObject.cpp in Sources */,
</span><span class="cx">                                 70ECA6051AFDBEA200449739 /* JSTemplateRegistryKey.cpp in Sources */,
</span><span class="cx">                                 53486BBB1C18E84500F6F3AF /* JSTypedArray.cpp in Sources */,
</span><span class="lines">@@ -10344,8 +10340,6 @@
</span><span class="cx">                                 C2B916C514DA040C00CBAC86 /* MarkedAllocator.cpp in Sources */,
</span><span class="cx">                                 142D6F0813539A2800B02E86 /* MarkedBlock.cpp in Sources */,
</span><span class="cx">                                 14D2F3DA139F4BE200491031 /* MarkedSpace.cpp in Sources */,
</span><del>-                                0F660E371E0517B90031462C /* MarkingConstraint.cpp in Sources */,
-                                0F660E391E0517BF0031462C /* MarkingConstraintSet.cpp in Sources */,
</del><span class="cx">                                 142D6F1113539A4100B02E86 /* MarkStack.cpp in Sources */,
</span><span class="cx">                                 DC69AA661CF7A1F200C6272F /* MatchResult.cpp in Sources */,
</span><span class="cx">                                 4340A4841A9051AF00D73CCA /* MathCommon.cpp in Sources */,
</span><span class="lines">@@ -10356,7 +10350,6 @@
</span><span class="cx">                                 E355F3521B7DC85300C50DC5 /* ModuleLoaderPrototype.cpp in Sources */,
</span><span class="cx">                                 14AD91181DCA97FD0014F9FE /* ModuleProgramCodeBlock.cpp in Sources */,
</span><span class="cx">                                 147341E41DC2CE9600AA29BA /* ModuleProgramExecutable.cpp in Sources */,
</span><del>-                                0F1FB3901E173A6B00A9BE50 /* MutatorScheduler.cpp in Sources */,
</del><span class="cx">                                 0FA762061DB9243100B7A2FD /* MutatorState.cpp in Sources */,
</span><span class="cx">                                 14469DE0107EC7E700650446 /* NativeErrorConstructor.cpp in Sources */,
</span><span class="cx">                                 14469DE1107EC7E700650446 /* NativeErrorPrototype.cpp in Sources */,
</span><span class="lines">@@ -10468,11 +10461,11 @@
</span><span class="cx">                                 0FD82E86141F3FF100179C94 /* SpeculatedType.cpp in Sources */,
</span><span class="cx">                                 0F6DB7EA1D6124B800CDBF8E /* StackFrame.cpp in Sources */,
</span><span class="cx">                                 A7C1EAF117987AB600299DB2 /* StackVisitor.cpp in Sources */,
</span><del>-                                0F4F828B1E31B9740075184C /* StochasticSpaceTimeMutatorScheduler.cpp in Sources */,
</del><span class="cx">                                 0F7CF9531DC027DB0098CC12 /* StopIfNecessaryTimer.cpp in Sources */,
</span><span class="cx">                                 A730B6131250068F009D25B1 /* StrictEvalActivation.cpp in Sources */,
</span><span class="cx">                                 14469DEB107EC7E700650446 /* StringConstructor.cpp in Sources */,
</span><span class="cx">                                 70EC0EC61AA0D7DA00B6AAFA /* StringIteratorPrototype.cpp in Sources */,
</span><ins>+                                0F1FB3901E173A6B00A9BE50 /* MutatorScheduler.cpp in Sources */,
</ins><span class="cx">                                 14469DEC107EC7E700650446 /* StringObject.cpp in Sources */,
</span><span class="cx">                                 14469DED107EC7E700650446 /* StringPrototype.cpp in Sources */,
</span><span class="cx">                                 9335F24D12E6765B002B5553 /* StringRecursionChecker.cpp in Sources */,
</span><span class="lines">@@ -10483,7 +10476,6 @@
</span><span class="cx">                                 0FB438A319270B1D00E1FBC9 /* StructureSet.cpp in Sources */,
</span><span class="cx">                                 0F766D3815AE4A1C008F363E /* StructureStubClearingWatchpoint.cpp in Sources */,
</span><span class="cx">                                 BCCF0D0C0EF0B8A500413C8F /* StructureStubInfo.cpp in Sources */,
</span><del>-                                0F7DF1361E2970DF0095951B /* Subspace.cpp in Sources */,
</del><span class="cx">                                 0F4A38F91C8E13DF00190318 /* SuperSampler.cpp in Sources */,
</span><span class="cx">                                 705B41AB1A6E501E00716757 /* Symbol.cpp in Sources */,
</span><span class="cx">                                 705B41AD1A6E501E00716757 /* SymbolConstructor.cpp in Sources */,
</span><span class="lines">@@ -10490,7 +10482,6 @@
</span><span class="cx">                                 705B41AF1A6E501E00716757 /* SymbolObject.cpp in Sources */,
</span><span class="cx">                                 705B41B11A6E501E00716757 /* SymbolPrototype.cpp in Sources */,
</span><span class="cx">                                 0F919D2815856773004A4E7D /* SymbolTable.cpp in Sources */,
</span><del>-                                0F1FB38E1E173A6500A9BE50 /* SynchronousStopTheWorldMutatorScheduler.cpp in Sources */,
</del><span class="cx">                                 DC7997841CDE9FA2004D4A09 /* TagRegistersMode.cpp in Sources */,
</span><span class="cx">                                 70ECA6071AFDBEA200449739 /* TemplateRegistry.cpp in Sources */,
</span><span class="cx">                                 78274D8E4C4D4FCD9A1DC6E6 /* TemplateRegistryKey.cpp in Sources */,
</span><span class="lines">@@ -10526,6 +10517,7 @@
</span><span class="cx">                                 0F24E55817F74EDB00ABB217 /* ValueRecovery.cpp in Sources */,
</span><span class="cx">                                 79EE0BFF1B4AFB85000385C9 /* VariableEnvironment.cpp in Sources */,
</span><span class="cx">                                 0F6C73501AC9F99F00BE1682 /* VariableWriteFireDetail.cpp in Sources */,
</span><ins>+                                0F660E371E0517B90031462C /* MarkingConstraint.cpp in Sources */,
</ins><span class="cx">                                 0FE0502C1AA9095600D33B33 /* VarOffset.cpp in Sources */,
</span><span class="cx">                                 0F20C2591A8013AB00DA3229 /* VirtualRegister.cpp in Sources */,
</span><span class="cx">                                 0F952AA21DF7860D00E06FBD /* VisitRaceKey.cpp in Sources */,
</span><span class="lines">@@ -10538,13 +10530,12 @@
</span><span class="cx">                                 535557161D9DFA32006D583B /* WasmMemory.cpp in Sources */,
</span><span class="cx">                                 79B759741DFA4C600052174C /* WasmMemoryInformation.cpp in Sources */,
</span><span class="cx">                                 53F40E971D5A7BEC0099A1B6 /* WasmModuleParser.cpp in Sources */,
</span><del>-                                ADB6F67D1E15D7600082F384 /* WasmPageCount.cpp in Sources */,
</del><span class="cx">                                 531374BF1D5CE95000AF7A0B /* WasmPlan.cpp in Sources */,
</span><del>-                                AD7438C11E0457AA00FD0C2A /* WasmSignature.cpp in Sources */,
</del><span class="cx">                                 53FF7F9B1DBFD2B900A26CCC /* WasmValidate.cpp in Sources */,
</span><span class="cx">                                 FED94F2E171E3E2300BE77A4 /* Watchdog.cpp in Sources */,
</span><span class="cx">                                 0F919D2515853CE0004A4E7D /* Watchpoint.cpp in Sources */,
</span><span class="cx">                                 1ACF7377171CA6FB00C9BB1E /* Weak.cpp in Sources */,
</span><ins>+                                AD7438C11E0457AA00FD0C2A /* WasmSignature.cpp in Sources */,
</ins><span class="cx">                                 14E84F9E14EE1ACC00D6D5D4 /* WeakBlock.cpp in Sources */,
</span><span class="cx">                                 14F7256514EE265E00B1652B /* WeakHandleOwner.cpp in Sources */,
</span><span class="cx">                                 A7CA3AE317DA41AE006538AF /* WeakMapConstructor.cpp in Sources */,
</span><span class="lines">@@ -10558,8 +10549,6 @@
</span><span class="cx">                                 AD4937D31DDD27DE0077C807 /* WebAssemblyFunction.cpp in Sources */,
</span><span class="cx">                                 AD2FCBF01DB58DAD00B3E736 /* WebAssemblyInstanceConstructor.cpp in Sources */,
</span><span class="cx">                                 AD2FCBF21DB58DAD00B3E736 /* WebAssemblyInstancePrototype.cpp in Sources */,
</span><del>-                                ADE8029E1E08F2280058DE78 /* WebAssemblyLinkErrorConstructor.cpp in Sources */,
-                                ADE8029B1E08F1DE0058DE78 /* WebAssemblyLinkErrorPrototype.cpp in Sources */,
</del><span class="cx">                                 AD2FCBF41DB58DAD00B3E736 /* WebAssemblyMemoryConstructor.cpp in Sources */,
</span><span class="cx">                                 AD2FCBF61DB58DAD00B3E736 /* WebAssemblyMemoryPrototype.cpp in Sources */,
</span><span class="cx">                                 AD2FCC001DB58DAD00B3E736 /* WebAssemblyModuleConstructor.cpp in Sources */,
</span><span class="lines">@@ -10579,6 +10568,8 @@
</span><span class="cx">                                 86704B8612DBA33700A9FE7B /* YarrJIT.cpp in Sources */,
</span><span class="cx">                                 86704B8912DBA33700A9FE7B /* YarrPattern.cpp in Sources */,
</span><span class="cx">                                 86704B4212DB8A8100A9FE7B /* YarrSyntaxChecker.cpp in Sources */,
</span><ins>+                                FA3AB211C8494524AB390267 /* JSSourceCode.cpp in Sources */,
+                                14815F5F991C46BEB98D0016 /* JSScriptFetcher.cpp in Sources */,
</ins><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorAsyncStackTracecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.cpp (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.cpp        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.cpp        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,198 +0,0 @@
</span><del>-/*
- * Copyright (C) 2017 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-#include &quot;AsyncStackTrace.h&quot;
-
-#include &quot;InspectorValues.h&quot;
-#include &quot;ScriptCallStack.h&quot;
-
-namespace Inspector {
-
-RefPtr&lt;AsyncStackTrace&gt; AsyncStackTrace::create(RefPtr&lt;ScriptCallStack&gt; callStack, bool singleShot, RefPtr&lt;AsyncStackTrace&gt; parent)
-{
-    ASSERT(callStack &amp;&amp; callStack-&gt;size());
-    return adoptRef(*new AsyncStackTrace(WTFMove(callStack), singleShot, WTFMove(parent)));
-}
-
-AsyncStackTrace::AsyncStackTrace(RefPtr&lt;ScriptCallStack&gt; callStack, bool singleShot, RefPtr&lt;AsyncStackTrace&gt; parent)
-    : m_callStack(callStack)
-    , m_parent(parent)
-    , m_singleShot(singleShot)
-{
-    if (m_parent)
-        m_parent-&gt;m_childCount++;
-}
-
-AsyncStackTrace::~AsyncStackTrace()
-{
-    if (m_parent)
-        remove();
-    ASSERT(!m_childCount);
-}
-
-bool AsyncStackTrace::isPending() const
-{
-    return m_state == State::Pending;
-}
-
-bool AsyncStackTrace::isLocked() const
-{
-    return m_state == State::Pending || m_state == State::Active || m_childCount &gt; 1;
-}
-
-void AsyncStackTrace::willDispatchAsyncCall(size_t maxDepth)
-{
-    ASSERT(m_state == State::Pending);
-    m_state = State::Active;
-
-    truncate(maxDepth);
-}
-
-void AsyncStackTrace::didDispatchAsyncCall()
-{
-    ASSERT(m_state == State::Active || m_state == State::Canceled);
-
-    if (m_state == State::Active &amp;&amp; !m_singleShot) {
-        m_state = State::Pending;
-        return;
-    }
-
-    m_state = State::Dispatched;
-
-    if (!m_childCount)
-        remove();
-}
-
-void AsyncStackTrace::didCancelAsyncCall()
-{
-    if (m_state == State::Canceled)
-        return;
-
-    if (m_state == State::Pending &amp;&amp; !m_childCount)
-        remove();
-
-    m_state = State::Canceled;
-}
-
-RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; AsyncStackTrace::buildInspectorObject() const
-{
-    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; topStackTrace;
-    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; previousStackTrace;
-
-    auto* stackTrace = this;
-    while (stackTrace) {
-        auto callStack = stackTrace-&gt;m_callStack;
-        ASSERT(callStack &amp;&amp; callStack-&gt;size());
-
-        RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; protocolObject = Inspector::Protocol::Console::StackTrace::create()
-            .setCallFrames(callStack-&gt;buildInspectorArray())
-            .release();
-
-        if (stackTrace-&gt;m_truncated)
-            protocolObject-&gt;setTruncated(true);
-        if (callStack-&gt;at(0).isNative())
-            protocolObject-&gt;setTopCallFrameIsBoundary(true);
-
-        if (!topStackTrace)
-            topStackTrace = protocolObject;
-
-        if (previousStackTrace)
-            previousStackTrace-&gt;setParentStackTrace(protocolObject);
-
-        previousStackTrace = protocolObject;
-        stackTrace = stackTrace-&gt;m_parent.get();
-    }
-
-    return topStackTrace;
-}
-
-void AsyncStackTrace::truncate(size_t maxDepth)
-{
-    AsyncStackTrace* lastUnlockedAncestor = nullptr;
-    size_t depth = 0;
-
-    auto* newStackTraceRoot = this;
-    while (newStackTraceRoot) {
-        depth += newStackTraceRoot-&gt;m_callStack-&gt;size();
-        if (depth &gt;= maxDepth)
-            break;
-
-        auto* parent = newStackTraceRoot-&gt;m_parent.get();
-        if (!lastUnlockedAncestor &amp;&amp; parent &amp;&amp; parent-&gt;isLocked())
-            lastUnlockedAncestor = newStackTraceRoot;
-
-        newStackTraceRoot = parent;
-    }
-
-    if (!newStackTraceRoot || !newStackTraceRoot-&gt;m_parent)
-        return;
-
-    if (!lastUnlockedAncestor) {
-        // No locked nodes belong to the trace. The subtree at the new root
-        // is moved to a new tree, and marked as truncated if necessary.
-        newStackTraceRoot-&gt;m_truncated = true;
-        newStackTraceRoot-&gt;remove();
-        return;
-    }
-
-    // The new root has a locked descendent. Since truncating a stack trace
-    // cannot mutate locked nodes or their ancestors, a new tree is created by
-    // cloning the locked portion of the trace (the path from the locked node
-    // to the new root). The subtree rooted at the last unlocked ancestor is
-    // then appended to the new tree.
-    auto* currentNode = lastUnlockedAncestor;
-    while (currentNode-&gt;m_parent) {
-        auto&amp; parentNode = currentNode-&gt;m_parent;
-        currentNode-&gt;m_parent = AsyncStackTrace::create(parentNode-&gt;m_callStack, true, parentNode-&gt;m_parent);
-        currentNode = currentNode-&gt;m_parent.get();
-
-        if (parentNode.get() == newStackTraceRoot)
-            break;
-    }
-
-    currentNode-&gt;m_truncated = true;
-    currentNode-&gt;remove();
-
-    // Decrement the child count of the first locked ancestor after removing its subtree.
-    auto&amp; firstLockedAncestor = lastUnlockedAncestor-&gt;m_parent;
-    firstLockedAncestor-&gt;m_childCount--;
-}
-
-void AsyncStackTrace::remove()
-{
-    auto* stackTrace = m_parent.get();
-    while (stackTrace) {
-        stackTrace-&gt;m_childCount--;
-        if (stackTrace-&gt;m_childCount || stackTrace-&gt;isLocked())
-            break;
-
-        stackTrace = stackTrace-&gt;m_parent.get();
-    }
-
-    m_parent = nullptr;
-}
-
-} // namespace Inspector
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorAsyncStackTraceh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.h (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.h        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/inspector/AsyncStackTrace.h        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,72 +0,0 @@
</span><del>-/*
- * Copyright (C) 2017 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include &quot;InspectorProtocolObjects.h&quot;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/RefCounted.h&gt;
-
-namespace Inspector {
-
-class ScriptCallStack;
-
-class JS_EXPORT_PRIVATE AsyncStackTrace : public RefCounted&lt;AsyncStackTrace&gt; {
-public:
-    enum class State {
-        Pending,
-        Active,
-        Dispatched,
-        Canceled,
-    };
-
-    static RefPtr&lt;AsyncStackTrace&gt; create(RefPtr&lt;ScriptCallStack&gt;, bool singleShot, RefPtr&lt;AsyncStackTrace&gt; parent);
-
-    bool isPending() const;
-    bool isLocked() const;
-
-    void willDispatchAsyncCall(size_t maxDepth);
-    void didDispatchAsyncCall();
-    void didCancelAsyncCall();
-
-    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; buildInspectorObject() const;
-
-    ~AsyncStackTrace();
-
-private:
-    AsyncStackTrace(RefPtr&lt;ScriptCallStack&gt;, bool, RefPtr&lt;AsyncStackTrace&gt;);
-
-    void truncate(size_t maxDepth);
-    void remove();
-
-    RefPtr&lt;ScriptCallStack&gt; m_callStack;
-    RefPtr&lt;AsyncStackTrace&gt; m_parent;
-    unsigned m_childCount { 0 };
-    State m_state { State::Pending };
-    bool m_truncated { false };
-    bool m_singleShot { true };
-};
-
-} // namespace Inspector
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;InspectorDebuggerAgent.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;AsyncStackTrace.h&quot;
</del><span class="cx"> #include &quot;ContentSearchUtilities.h&quot;
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><span class="lines">@@ -213,6 +212,40 @@
</span><span class="cx">     return injectedScript.wrapObject(exception, InspectorDebuggerAgent::backtraceObjectGroup)-&gt;openAccessors();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; InspectorDebuggerAgent::buildAsyncStackTrace(const AsyncCallIdentifier&amp; identifier)
+{
+    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; topStackTrace;
+    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; previousStackTrace;
+
+    auto iterator = m_asyncCallIdentifierToData.find(identifier);
+    auto end = m_asyncCallIdentifierToData.end();
+    while (iterator != end) {
+        const auto&amp; callData = iterator-&gt;value;
+        ASSERT(callData.callStack &amp;&amp; callData.callStack-&gt;size());
+        if (!callData.callStack || !callData.callStack-&gt;size())
+            break;
+
+        RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; stackTrace = Inspector::Protocol::Console::StackTrace::create()
+            .setCallFrames(callData.callStack-&gt;buildInspectorArray())
+            .release();
+
+        if (callData.callStack-&gt;at(0).isNative())
+            stackTrace-&gt;setTopCallFrameIsBoundary(true);
+        if (!topStackTrace)
+            topStackTrace = stackTrace;
+        if (previousStackTrace)
+            previousStackTrace-&gt;setParentStackTrace(stackTrace);
+
+        if (!callData.parentAsyncCallIdentifier)
+            break;
+
+        previousStackTrace = stackTrace;
+        iterator = m_asyncCallIdentifierToData.find(callData.parentAsyncCallIdentifier.value());
+    }
+
+    return topStackTrace;
+}
+
</ins><span class="cx"> void InspectorDebuggerAgent::handleConsoleAssert(const String&amp; message)
</span><span class="cx"> {
</span><span class="cx">     if (!m_scriptDebugServer.breakpointsActive())
</span><span class="lines">@@ -235,17 +268,10 @@
</span><span class="cx">     if (!callStack || !callStack-&gt;size())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;AsyncStackTrace&gt; parentStackTrace;
-    if (m_currentAsyncCallIdentifier) {
-        auto it = m_pendingAsyncCalls.find(m_currentAsyncCallIdentifier.value());
-        ASSERT(it != m_pendingAsyncCalls.end());
-        parentStackTrace = it-&gt;value;
-    }
</del><ins>+    if (m_currentAsyncCallIdentifier)
+        refAsyncCallData(m_currentAsyncCallIdentifier.value());
</ins><span class="cx"> 
</span><del>-    auto identifier = std::make_pair(asyncCallType, callbackIdentifier);
-    auto asyncStackTrace = AsyncStackTrace::create(WTFMove(callStack), singleShot, WTFMove(parentStackTrace));
-
-    m_pendingAsyncCalls.set(identifier, WTFMove(asyncStackTrace));
</del><ins>+    m_asyncCallIdentifierToData.set(std::make_pair(asyncCallType, callbackIdentifier), AsyncCallData(callStack, m_currentAsyncCallIdentifier, singleShot));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::didCancelAsyncCall(int asyncCallType, int callbackIdentifier)
</span><span class="lines">@@ -253,18 +279,8 @@
</span><span class="cx">     if (!m_asyncStackTraceDepth)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto identifier = std::make_pair(asyncCallType, callbackIdentifier);
-    auto it = m_pendingAsyncCalls.find(identifier);
-    if (it == m_pendingAsyncCalls.end())
-        return;
-
-    auto&amp; asyncStackTrace = it-&gt;value;
-    asyncStackTrace-&gt;didCancelAsyncCall();
-
-    if (m_currentAsyncCallIdentifier &amp;&amp; m_currentAsyncCallIdentifier.value() == identifier)
-        return;
-
-    m_pendingAsyncCalls.remove(identifier);
</del><ins>+    const auto asyncCallIdentifier = std::make_pair(asyncCallType, callbackIdentifier);
+    derefAsyncCallData(asyncCallIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::willDispatchAsyncCall(int asyncCallType, int callbackIdentifier)
</span><span class="lines">@@ -277,15 +293,12 @@
</span><span class="cx"> 
</span><span class="cx">     // A call can be scheduled before the Inspector is opened, or while async stack
</span><span class="cx">     // traces are disabled. If no call data exists, do nothing.
</span><del>-    auto identifier = std::make_pair(asyncCallType, callbackIdentifier);
-    auto it = m_pendingAsyncCalls.find(identifier);
-    if (it == m_pendingAsyncCalls.end())
</del><ins>+    auto asyncCallIdentifier = std::make_pair(asyncCallType, callbackIdentifier);
+    if (!m_asyncCallIdentifierToData.contains(asyncCallIdentifier))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto&amp; asyncStackTrace = it-&gt;value;
-    asyncStackTrace-&gt;willDispatchAsyncCall(m_asyncStackTraceDepth);
-
-    m_currentAsyncCallIdentifier = identifier;
</del><ins>+    m_currentAsyncCallIdentifier = WTFMove(asyncCallIdentifier);
+    refAsyncCallData(asyncCallIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::didDispatchAsyncCall()
</span><span class="lines">@@ -296,17 +309,8 @@
</span><span class="cx">     if (!m_currentAsyncCallIdentifier)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto identifier = m_currentAsyncCallIdentifier.value();
-    auto it = m_pendingAsyncCalls.find(identifier);
-    ASSERT(it != m_pendingAsyncCalls.end());
-
-    auto&amp; asyncStackTrace = it-&gt;value;
-    asyncStackTrace-&gt;didDispatchAsyncCall();
-
</del><ins>+    derefAsyncCallData(m_currentAsyncCallIdentifier.value());
</ins><span class="cx">     m_currentAsyncCallIdentifier = std::nullopt;
</span><del>-
-    if (!asyncStackTrace-&gt;isPending())
-        m_pendingAsyncCalls.remove(identifier);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Ref&lt;InspectorObject&gt; buildObjectForBreakpointCookie(const String&amp; url, int lineNumber, int columnNumber, const String&amp; condition, RefPtr&lt;InspectorArray&gt;&amp; actions, bool isRegex, bool autoContinue, unsigned ignoreCount)
</span><span class="lines">@@ -997,11 +1001,8 @@
</span><span class="cx">     m_enablePauseWhenIdle = false;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; asyncStackTrace;
</span><del>-    if (m_currentAsyncCallIdentifier) {
-        auto it = m_pendingAsyncCalls.find(m_currentAsyncCallIdentifier.value());
-        if (it != m_pendingAsyncCalls.end())
-            asyncStackTrace = it-&gt;value-&gt;buildInspectorObject();
-    }
</del><ins>+    if (m_currentAsyncCallIdentifier)
+        asyncStackTrace = buildAsyncStackTrace(m_currentAsyncCallIdentifier.value());
</ins><span class="cx"> 
</span><span class="cx">     m_frontendDispatcher-&gt;paused(currentCallFrames(injectedScript), m_breakReason, m_breakAuxData, asyncStackTrace);
</span><span class="cx"> 
</span><span class="lines">@@ -1137,8 +1138,33 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::clearAsyncStackTraceData()
</span><span class="cx"> {
</span><del>-    m_pendingAsyncCalls.clear();
</del><ins>+    m_asyncCallIdentifierToData.clear();
</ins><span class="cx">     m_currentAsyncCallIdentifier = std::nullopt;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void InspectorDebuggerAgent::refAsyncCallData(const AsyncCallIdentifier&amp; identifier)
+{
+    auto iterator = m_asyncCallIdentifierToData.find(identifier);
+    if (iterator == m_asyncCallIdentifierToData.end())
+        return;
+
+    iterator-&gt;value.referenceCount++;
+}
+
+void InspectorDebuggerAgent::derefAsyncCallData(const AsyncCallIdentifier&amp; identifier)
+{
+    auto iterator = m_asyncCallIdentifierToData.find(identifier);
+    if (iterator == m_asyncCallIdentifierToData.end())
+        return;
+
+    auto&amp; asyncCallData = iterator-&gt;value;
+    asyncCallData.referenceCount--;
+    if (asyncCallData.referenceCount)
+        return;
+
+    if (asyncCallData.parentAsyncCallIdentifier)
+        derefAsyncCallData(asyncCallData.parentAsyncCallIdentifier.value());
+    m_asyncCallIdentifierToData.remove(identifier);
+}
+
</ins><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -44,12 +44,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-class AsyncStackTrace;
</del><span class="cx"> class InjectedScript;
</span><span class="cx"> class InjectedScriptManager;
</span><span class="cx"> class InspectorArray;
</span><span class="cx"> class InspectorObject;
</span><span class="cx"> class ScriptDebugServer;
</span><ins>+struct AsyncCallData;
</ins><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE InspectorDebuggerAgent : public InspectorAgentBase, public ScriptDebugListener, public DebuggerBackendDispatcherHandler {
</span><span class="lines">@@ -164,11 +164,30 @@
</span><span class="cx"> 
</span><span class="cx">     typedef std::pair&lt;int, int&gt; AsyncCallIdentifier;
</span><span class="cx"> 
</span><ins>+    RefPtr&lt;Inspector::Protocol::Console::StackTrace&gt; buildAsyncStackTrace(const AsyncCallIdentifier&amp;);
+    void refAsyncCallData(const AsyncCallIdentifier&amp;);
+    void derefAsyncCallData(const AsyncCallIdentifier&amp;);
+
</ins><span class="cx">     typedef HashMap&lt;JSC::SourceID, Script&gt; ScriptsMap;
</span><span class="cx">     typedef HashMap&lt;String, Vector&lt;JSC::BreakpointID&gt;&gt; BreakpointIdentifierToDebugServerBreakpointIDsMap;
</span><span class="cx">     typedef HashMap&lt;String, RefPtr&lt;InspectorObject&gt;&gt; BreakpointIdentifierToBreakpointMap;
</span><span class="cx">     typedef HashMap&lt;JSC::BreakpointID, String&gt; DebugServerBreakpointIDToBreakpointIdentifier;
</span><span class="cx"> 
</span><ins>+    struct AsyncCallData {
+        AsyncCallData(RefPtr&lt;ScriptCallStack&gt; callStack, std::optional&lt;AsyncCallIdentifier&gt; parentAsyncCallIdentifier, bool singleShot)
+            : callStack(callStack)
+            , parentAsyncCallIdentifier(parentAsyncCallIdentifier)
+            , referenceCount(singleShot ? 0 : 1)
+        {
+        }
+
+        AsyncCallData() = default;
+
+        RefPtr&lt;ScriptCallStack&gt; callStack;
+        std::optional&lt;AsyncCallIdentifier&gt; parentAsyncCallIdentifier { std::nullopt };
+        unsigned referenceCount { 0 };
+    };
+
</ins><span class="cx">     InjectedScriptManager&amp; m_injectedScriptManager;
</span><span class="cx">     std::unique_ptr&lt;DebuggerFrontendDispatcher&gt; m_frontendDispatcher;
</span><span class="cx">     RefPtr&lt;DebuggerBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -185,7 +204,7 @@
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; m_breakAuxData;
</span><span class="cx">     ShouldDispatchResumed m_conditionToDispatchResumed { ShouldDispatchResumed::No };
</span><span class="cx">     bool m_enablePauseWhenIdle { false };
</span><del>-    HashMap&lt;AsyncCallIdentifier, RefPtr&lt;AsyncStackTrace&gt;&gt; m_pendingAsyncCalls;
</del><ins>+    HashMap&lt;AsyncCallIdentifier, AsyncCallData&gt; m_asyncCallIdentifierToData;
</ins><span class="cx">     std::optional&lt;AsyncCallIdentifier&gt; m_currentAsyncCallIdentifier { std::nullopt };
</span><span class="cx">     bool m_enabled { false };
</span><span class="cx">     bool m_javaScriptPauseScheduled { false };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorprotocolConsolejson"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/protocol/Console.json (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/protocol/Console.json        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/JavaScriptCore/inspector/protocol/Console.json        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -40,7 +40,6 @@
</span><span class="cx">             &quot;properties&quot;: [
</span><span class="cx">                 { &quot;name&quot;: &quot;callFrames&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CallFrame&quot; } },
</span><span class="cx">                 { &quot;name&quot;: &quot;topCallFrameIsBoundary&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the first item in &lt;code&gt;callFrames&lt;/code&gt; is the native function that scheduled the asynchronous operation (e.g. setTimeout).&quot; },
</span><del>-                { &quot;name&quot;: &quot;truncated&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether one or more frames have been truncated from the bottom of the stack.&quot; },
</del><span class="cx">                 { &quot;name&quot;: &quot;parentStackTrace&quot;, &quot;$ref&quot;: &quot;StackTrace&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Parent StackTrace.&quot; }
</span><span class="cx">             ]
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/ChangeLog        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2017-01-30  Ryan Haddad  &lt;ryanhaddad@apple.com&gt;
+
+        Unreviewed, rolling out r211345.
+
+        The LayoutTest for this change is failing an assertion.
+
+        Reverted changeset:
+
+        &quot;Web Inspector: Need some limit on Async Call Stacks for async
+        loops (rAF loops)&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=165633
+        http://trac.webkit.org/changeset/211345
+
</ins><span class="cx"> 2017-01-28  Matt Baker  &lt;mattbaker@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Need some limit on Async Call Stacks for async loops (rAF loops)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -125,7 +125,6 @@
</span><span class="cx"> localizedStrings[&quot;Busy&quot;] = &quot;Busy&quot;;
</span><span class="cx"> localizedStrings[&quot;CSP Hash&quot;] = &quot;CSP Hash&quot;;
</span><span class="cx"> localizedStrings[&quot;Cached&quot;] = &quot;Cached&quot;;
</span><del>-localizedStrings[&quot;Call Frames Truncated&quot;] = &quot;Call Frames Truncated&quot;;
</del><span class="cx"> localizedStrings[&quot;Call Stack&quot;] = &quot;Call Stack&quot;;
</span><span class="cx"> localizedStrings[&quot;Call Trees&quot;] = &quot;Call Trees&quot;;
</span><span class="cx"> localizedStrings[&quot;Calls&quot;] = &quot;Calls&quot;;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsStackTracejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/StackTrace.js        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.StackTrace = class StackTrace extends WebInspector.Object
</span><span class="cx"> {
</span><del>-    constructor(callFrames, topCallFrameIsBoundary, truncated, parentStackTrace)
</del><ins>+    constructor(callFrames, topCallFrameIsBoundary)
</ins><span class="cx">     {
</span><span class="cx">         super();
</span><span class="cx"> 
</span><span class="lines">@@ -33,8 +33,7 @@
</span><span class="cx"> 
</span><span class="cx">         this._callFrames = callFrames;
</span><span class="cx">         this._topCallFrameIsBoundary = topCallFrameIsBoundary || false;
</span><del>-        this._truncated = truncated || false;
-        this._parentStackTrace = parentStackTrace || null;
</del><ins>+        this._parentStackTrace = null;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Static
</span><span class="lines">@@ -46,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx">         while (payload) {
</span><span class="cx">             let callFrames = payload.callFrames.map((x) =&gt; WebInspector.CallFrame.fromPayload(target, x));
</span><del>-            let stackTrace = new WebInspector.StackTrace(callFrames, payload.topCallFrameIsBoundary, payload.truncated);
</del><ins>+            let stackTrace = new WebInspector.StackTrace(callFrames, payload.topCallFrameIsBoundary);
</ins><span class="cx">             if (!result)
</span><span class="cx">                 result = stackTrace;
</span><span class="cx">             if (previousStackTrace)
</span><span class="lines">@@ -170,6 +169,5 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     get topCallFrameIsBoundary() { return this._topCallFrameIsBoundary; }
</span><del>-    get truncated() { return this._truncated; }
</del><span class="cx">     get parentStackTrace() { return this._parentStackTrace; }
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsThreadTreeElementcss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.css (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.css        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.css        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -50,18 +50,3 @@
</span><span class="cx"> .tree-outline &gt; .item.thread:hover .status-button.resume {
</span><span class="cx">     display: inline-block;
</span><span class="cx"> }
</span><del>-
-.tree-outline &gt; .item.thread + ol &gt; .item.truncated-call-frames {
-    color: var(--text-color-gray-medium);
-    border-top: dashed 0.5px var(--border-color);
-    margin-left: 31px;
-    margin-right: 6px;
-    padding-left: 0;
-    cursor: default;
-}
-
-.tree-outline &gt; .item.thread + ol &gt; .item.truncated-call-frames .icon {
-    margin-left: 0;
-    content: url(../Images/Function.svg);
-    opacity: 0.6;
-}
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsThreadTreeElementjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.js (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.js        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ThreadTreeElement.js        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -92,12 +92,6 @@
</span><span class="cx">             for (let i = startIndex; i &lt; currentStackTrace.callFrames.length; ++i)
</span><span class="cx">                 this.appendChild(new WebInspector.CallFrameTreeElement(currentStackTrace.callFrames[i]));
</span><span class="cx"> 
</span><del>-            if (currentStackTrace.truncated) {
-                let truncatedTreeElement = new WebInspector.GeneralTreeElement(&quot;truncated-call-frames&quot;, WebInspector.UIString(&quot;Call Frames Truncated&quot;));
-                truncatedTreeElement.selectable = false;
-                this.appendChild(truncatedTreeElement);
-            }
-
</del><span class="cx">             currentStackTrace = currentStackTrace.parentStackTrace;
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIVersionsInspectoriOS103json"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Versions/Inspector-iOS-10.3.json (211380 => 211381)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Versions/Inspector-iOS-10.3.json        2017-01-30 20:05:34 UTC (rev 211380)
+++ trunk/Source/WebInspectorUI/Versions/Inspector-iOS-10.3.json        2017-01-30 20:08:29 UTC (rev 211381)
</span><span class="lines">@@ -587,7 +587,6 @@
</span><span class="cx">             &quot;properties&quot;: [
</span><span class="cx">                 { &quot;name&quot;: &quot;callFrames&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CallFrame&quot; } },
</span><span class="cx">                 { &quot;name&quot;: &quot;topCallFrameIsBoundary&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the first item in &lt;code&gt;callFrames&lt;/code&gt; is the native function that scheduled the asynchronous operation (e.g. setTimeout).&quot; },
</span><del>-                { &quot;name&quot;: &quot;truncated&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether one or more frames have been truncated from the bottom of the stack.&quot; },
</del><span class="cx">                 { &quot;name&quot;: &quot;parentStackTrace&quot;, &quot;$ref&quot;: &quot;StackTrace&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Parent StackTrace.&quot; }
</span><span class="cx">             ]
</span><span class="cx">         }
</span></span></pre>
</div>
</div>

</body>
</html>