<!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>[163829] trunk/LayoutTests</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/163829">163829</a></dd>
<dt>Author</dt> <dd>mark.lam@apple.com</dd>
<dt>Date</dt> <dd>2014-02-10 15:55:19 -0800 (Mon, 10 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>REGRESSION(<a href="http://trac.webkit.org/projects/webkit/changeset/163660">r163660</a>-<a href="http://trac.webkit.org/projects/webkit/changeset/163664">r163664</a>): js/dom/stack-trace.html fails.
&lt;https://webkit.org/b/128544&gt;

Reviewed by Alexey Proskuryakov.

The failing test is fragile. The test intends to test a recursion pattern
i.e. the top of the stack trace should show a repeated cycle of certain
function calls. However, the test makes a faulty assumption about which
function in that recursion pattern will be the one that overflows the
stack.

The fix is to make the test check for repetition of that recursion pattern
instead of making a specific assumption as to which function within that
recursion pattern will overflow the stack.

* TestExpectations: reverted skipped test.
* js/dom/script-tests/stack-trace.js:
(stackTraceLineFor):
- refactored this code to generated the stack trace line out of printStack.
(printStack):
- updated to use stackTraceLineFor.
(dumpPattern):
- utility function to dump the recursion pattern being matched.
(matchesPatternAtLine):
(matchPattern):
(checkStackForPattern):
- utility functions for testing if the stack trace matches the expected
  recursion pattern. The pattern is an array of stack trace lines that
  we should see repeated in the stack trace starting from the top.

  The top line of the stack trace may match any line in the pattern.
  Thereafter, subsequent lines much patch lines in the pattern starting
  with the line after the first match. When we run out of pattern lines,
  we'll go back to the first pattern line and continue the matching test
  until we run out of stack trace lines to match.

  If any mismatch is found, the test fails.

* js/dom/stack-trace-expected.txt:
- updates baseline for expected results.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsTestExpectations">trunk/LayoutTests/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsjsdomscripttestsstacktracejs">trunk/LayoutTests/js/dom/script-tests/stack-trace.js</a></li>
<li><a href="#trunkLayoutTestsjsdomstacktraceexpectedtxt">trunk/LayoutTests/js/dom/stack-trace-expected.txt</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (163828 => 163829)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-02-10 23:48:24 UTC (rev 163828)
+++ trunk/LayoutTests/ChangeLog        2014-02-10 23:55:19 UTC (rev 163829)
</span><span class="lines">@@ -1,3 +1,46 @@
</span><ins>+2014-02-10  Mark Lam  &lt;mark.lam@apple.com&gt;
+
+        REGRESSION(r163660-r163664): js/dom/stack-trace.html fails.
+        &lt;https://webkit.org/b/128544&gt;
+
+        Reviewed by Alexey Proskuryakov.
+
+        The failing test is fragile. The test intends to test a recursion pattern
+        i.e. the top of the stack trace should show a repeated cycle of certain
+        function calls. However, the test makes a faulty assumption about which
+        function in that recursion pattern will be the one that overflows the
+        stack.
+
+        The fix is to make the test check for repetition of that recursion pattern
+        instead of making a specific assumption as to which function within that
+        recursion pattern will overflow the stack.
+
+        * TestExpectations: reverted skipped test.
+        * js/dom/script-tests/stack-trace.js:
+        (stackTraceLineFor):
+        - refactored this code to generated the stack trace line out of printStack.
+        (printStack):
+        - updated to use stackTraceLineFor.
+        (dumpPattern):
+        - utility function to dump the recursion pattern being matched.
+        (matchesPatternAtLine):
+        (matchPattern):
+        (checkStackForPattern):
+        - utility functions for testing if the stack trace matches the expected
+          recursion pattern. The pattern is an array of stack trace lines that
+          we should see repeated in the stack trace starting from the top.
+
+          The top line of the stack trace may match any line in the pattern.
+          Thereafter, subsequent lines much patch lines in the pattern starting
+          with the line after the first match. When we run out of pattern lines,
+          we'll go back to the first pattern line and continue the matching test
+          until we run out of stack trace lines to match.
+
+          If any mismatch is found, the test fails.
+
+        * js/dom/stack-trace-expected.txt:
+        - updates baseline for expected results.
+
</ins><span class="cx"> 2014-02-10  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html frequently asserts
</span></span></pre></div>
<a id="trunkLayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/TestExpectations (163828 => 163829)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/TestExpectations        2014-02-10 23:48:24 UTC (rev 163828)
+++ trunk/LayoutTests/TestExpectations        2014-02-10 23:55:19 UTC (rev 163829)
</span><span class="lines">@@ -100,5 +100,3 @@
</span><span class="cx"> webkit.org/b/127697 fast/writing-mode/ruby-text-logical-left.html [ Skip ]
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/128537 fast/workers/dedicated-worker-lifecycle.html [ Skip ]
</span><del>-
-webkit.org/b/128544 js/dom/stack-trace.html [ Pass Failure ]
</del></span></pre></div>
<a id="trunkLayoutTestsjsdomscripttestsstacktracejs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/script-tests/stack-trace.js (163828 => 163829)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/script-tests/stack-trace.js        2014-02-10 23:48:24 UTC (rev 163828)
+++ trunk/LayoutTests/js/dom/script-tests/stack-trace.js        2014-02-10 23:55:19 UTC (rev 163829)
</span><span class="lines">@@ -7,21 +7,74 @@
</span><span class="cx"> 'This test checks stack trace corectness in special cases.'
</span><span class="cx"> );
</span><span class="cx"> 
</span><ins>+function stackTraceLineFor(stackTrace, frameIndex) {
+    var i = frameIndex;
+    var indexOfAt = stackTrace[i].indexOf('@')
+    var indexOfLastSlash = stackTrace[i].lastIndexOf('/');
+    if (indexOfLastSlash == -1)
+        indexOfLastSlash = indexOfAt
+    var functionName = stackTrace[i].substring(0, indexOfAt);
+    var fileName = stackTrace[i].substring(indexOfLastSlash + 1);
+    return functionName + &quot; at &quot; + fileName;
+}
+
</ins><span class="cx"> function printStack(stackTrace) {
</span><span class="cx">     debug(&quot;--&gt; Stack Trace:&quot;)
</span><span class="cx">     stackTrace = stackTrace.split(&quot;\n&quot;);
</span><span class="cx">     var length = Math.min(stackTrace.length, 100);
</span><del>-    for (var i = 0; i &lt; length; i++) {
-        var indexOfAt = stackTrace[i].indexOf('@')
-        var indexOfLastSlash = stackTrace[i].lastIndexOf('/');
-        if (indexOfLastSlash == -1)
-            indexOfLastSlash = indexOfAt
-        var functionName = stackTrace[i].substring(0, indexOfAt);
-        var fileName = stackTrace[i].substring(indexOfLastSlash + 1);
-        debug(&quot;    &quot; + i + &quot;   &quot; + functionName + &quot; at &quot; + fileName);
</del><ins>+    for (var i = 0; i &lt; length; i++)
+        debug(&quot;    &quot; + i + &quot;   &quot; + stackTraceLineFor(stackTrace, i));
+    debug('');
+}
+
+function dumpPattern(pattern) {
+    for (var i = 0; i &lt; pattern.length; i++)
+        debug(&quot;    &quot; + i + &quot;   &quot; + pattern[i]);
+}
+
+function matchesPatternAtLine(pattern, patternIndex, traceLine) {
+    var patternLine = pattern[patternIndex];
+    return traceLine.slice(0, patternLine.length) == patternLine;
+}
+
+function matchPattern(pattern, traceLine) {
+    for (var i = 0; i &lt; pattern.length; i++) {
+        if (matchesPatternAtLine(pattern, i, traceLine))
+            return i;
</ins><span class="cx">     }
</span><ins>+    return -1;
+}
+
+function checkStackForPattern(stackTrace, pattern) {
+    stackTrace = stackTrace.split(&quot;\n&quot;);
+    var length = Math.min(stackTrace.length, 100);
+
+    // Get the match in the pattern for the first line:
+    var firstStackTraceLine = stackTraceLineFor(stackTrace, 0);
+    var patternIndex = matchPattern(pattern, firstStackTraceLine);
+    if (patternIndex &lt; 0) {
+        debug(&quot;--&gt; Stack Trace FAILED to match pattern:&quot;)
+        dumpPattern(pattern);
+        debug('');
+        return;
+    }
+
+    for (var i = 1; i &lt; length; i++) {
+        patternIndex = ++patternIndex % pattern.length;
+        var traceLine = stackTraceLineFor(stackTrace, i);
+        if (!matchesPatternAtLine(pattern, patternIndex, traceLine)) {
+            debug(&quot;--&gt; Stack Trace FAILED to match pattern:&quot;)
+            dumpPattern(pattern);
+            debug('');
+            return;
+        }
+    }
+
+    debug(&quot;--&gt; Stack Trace matches pattern:&quot;)
+    dumpPattern(pattern);
</ins><span class="cx">     debug('');
</span><span class="cx"> }
</span><ins>+
</ins><span class="cx"> function hostThrower() { Element.prototype.appendChild.call({ }, [{ }]);  }
</span><span class="cx"> function callbacker(f) { [0].map(f); }
</span><span class="cx"> function outer(errorName) { inner(errorName); }
</span><span class="lines">@@ -69,7 +122,16 @@
</span><span class="cx">     eval(&quot;selfRecursive3()&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-try { selfRecursive3(); } catch (e) { printStack(e.stack) }                   // selfRecursive3 -&gt; eval -&gt; selfRecursive3 -&gt; eval ...
</del><ins>+try {
+    selfRecursive3();
+} catch (e) {
+    var pattern = [
+        &quot; at eval code&quot;,
+        &quot;eval at [native code]&quot;,
+        &quot;selfRecursive3 at stack-trace.js&quot;
+    ];
+    checkStackForPattern(e.stack, pattern);
+}
</ins><span class="cx"> 
</span><span class="cx"> var callCount = 0;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsjsdomstacktraceexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/js/dom/stack-trace-expected.txt (163828 => 163829)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/js/dom/stack-trace-expected.txt        2014-02-10 23:48:24 UTC (rev 163828)
+++ trunk/LayoutTests/js/dom/stack-trace-expected.txt        2014-02-10 23:55:19 UTC (rev 163829)
</span><span class="lines">@@ -4,461 +4,364 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   normalInner at stack-trace.js:31:47
-    1   normalOuter at stack-trace.js:30:37
-    2   global code at stack-trace.js:36:18
</del><ins>+    0   normalInner at stack-trace.js:84:47
+    1   normalOuter at stack-trace.js:83:37
+    2   global code at stack-trace.js:89:18
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inner at stack-trace.js:28:44
</del><ins>+    0   inner at stack-trace.js:81:44
</ins><span class="cx">     1    at eval code
</span><span class="cx">     2   eval at [native code]
</span><del>-    3   evaler at stack-trace.js:29:29
-    4   global code at stack-trace.js:39:13
</del><ins>+    3   evaler at stack-trace.js:82:29
+    4   global code at stack-trace.js:92:13
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inner at stack-trace.js:28:44
-    1   outer at stack-trace.js:27:34
</del><ins>+    0   inner at stack-trace.js:81:44
+    1   outer at stack-trace.js:80:34
</ins><span class="cx">     2    at eval code
</span><span class="cx">     3   eval at [native code]
</span><del>-    4   evaler at stack-trace.js:29:29
-    5   global code at stack-trace.js:40:13
</del><ins>+    4   evaler at stack-trace.js:82:29
+    5   global code at stack-trace.js:93:13
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inner at stack-trace.js:28:44
-    1   global code at stack-trace.js:43:23
</del><ins>+    0   inner at stack-trace.js:81:44
+    1   global code at stack-trace.js:96:23
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inner at stack-trace.js:28:44
-    1   outer at stack-trace.js:27:34
-    2   global code at stack-trace.js:44:23
</del><ins>+    0   inner at stack-trace.js:81:44
+    1   outer at stack-trace.js:80:34
+    2   global code at stack-trace.js:97:23
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><span class="cx">     0   appendChild at [native code]
</span><del>-    1   hostThrower at stack-trace.js:25:60
-    2   global code at stack-trace.js:47:18
</del><ins>+    1   hostThrower at stack-trace.js:78:60
+    2   global code at stack-trace.js:100:18
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><span class="cx">     0   htmlInner at stack-trace.html:10:51
</span><del>-    1   scripterInner at stack-trace.js:32:37
-    2   global code at stack-trace.js:49:20
</del><ins>+    1   scripterInner at stack-trace.js:85:37
+    2   global code at stack-trace.js:102:20
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><span class="cx">     0   htmlInner at stack-trace.html:10:51
</span><span class="cx">     1   htmlOuter at stack-trace.html:11:45
</span><del>-    2   scripterOuter at stack-trace.js:33:37
-    3   global code at stack-trace.js:50:20
</del><ins>+    2   scripterOuter at stack-trace.js:86:37
+    3   global code at stack-trace.js:103:20
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   selfRecursive1 at stack-trace.js:52:43
-    1   selfRecursive1 at stack-trace.js:52:43
-    2   selfRecursive1 at stack-trace.js:52:43
-    3   selfRecursive1 at stack-trace.js:52:43
-    4   selfRecursive1 at stack-trace.js:52:43
-    5   selfRecursive1 at stack-trace.js:52:43
-    6   selfRecursive1 at stack-trace.js:52:43
-    7   selfRecursive1 at stack-trace.js:52:43
-    8   selfRecursive1 at stack-trace.js:52:43
-    9   selfRecursive1 at stack-trace.js:52:43
-    10   selfRecursive1 at stack-trace.js:52:43
-    11   selfRecursive1 at stack-trace.js:52:43
-    12   selfRecursive1 at stack-trace.js:52:43
-    13   selfRecursive1 at stack-trace.js:52:43
-    14   selfRecursive1 at stack-trace.js:52:43
-    15   selfRecursive1 at stack-trace.js:52:43
-    16   selfRecursive1 at stack-trace.js:52:43
-    17   selfRecursive1 at stack-trace.js:52:43
-    18   selfRecursive1 at stack-trace.js:52:43
-    19   selfRecursive1 at stack-trace.js:52:43
-    20   selfRecursive1 at stack-trace.js:52:43
-    21   selfRecursive1 at stack-trace.js:52:43
-    22   selfRecursive1 at stack-trace.js:52:43
-    23   selfRecursive1 at stack-trace.js:52:43
-    24   selfRecursive1 at stack-trace.js:52:43
-    25   selfRecursive1 at stack-trace.js:52:43
-    26   selfRecursive1 at stack-trace.js:52:43
-    27   selfRecursive1 at stack-trace.js:52:43
-    28   selfRecursive1 at stack-trace.js:52:43
-    29   selfRecursive1 at stack-trace.js:52:43
-    30   selfRecursive1 at stack-trace.js:52:43
-    31   selfRecursive1 at stack-trace.js:52:43
-    32   selfRecursive1 at stack-trace.js:52:43
-    33   selfRecursive1 at stack-trace.js:52:43
-    34   selfRecursive1 at stack-trace.js:52:43
-    35   selfRecursive1 at stack-trace.js:52:43
-    36   selfRecursive1 at stack-trace.js:52:43
-    37   selfRecursive1 at stack-trace.js:52:43
-    38   selfRecursive1 at stack-trace.js:52:43
-    39   selfRecursive1 at stack-trace.js:52:43
-    40   selfRecursive1 at stack-trace.js:52:43
-    41   selfRecursive1 at stack-trace.js:52:43
-    42   selfRecursive1 at stack-trace.js:52:43
-    43   selfRecursive1 at stack-trace.js:52:43
-    44   selfRecursive1 at stack-trace.js:52:43
-    45   selfRecursive1 at stack-trace.js:52:43
-    46   selfRecursive1 at stack-trace.js:52:43
-    47   selfRecursive1 at stack-trace.js:52:43
-    48   selfRecursive1 at stack-trace.js:52:43
-    49   selfRecursive1 at stack-trace.js:52:43
-    50   selfRecursive1 at stack-trace.js:52:43
-    51   selfRecursive1 at stack-trace.js:52:43
-    52   selfRecursive1 at stack-trace.js:52:43
-    53   selfRecursive1 at stack-trace.js:52:43
-    54   selfRecursive1 at stack-trace.js:52:43
-    55   selfRecursive1 at stack-trace.js:52:43
-    56   selfRecursive1 at stack-trace.js:52:43
-    57   selfRecursive1 at stack-trace.js:52:43
-    58   selfRecursive1 at stack-trace.js:52:43
-    59   selfRecursive1 at stack-trace.js:52:43
-    60   selfRecursive1 at stack-trace.js:52:43
-    61   selfRecursive1 at stack-trace.js:52:43
-    62   selfRecursive1 at stack-trace.js:52:43
-    63   selfRecursive1 at stack-trace.js:52:43
-    64   selfRecursive1 at stack-trace.js:52:43
-    65   selfRecursive1 at stack-trace.js:52:43
-    66   selfRecursive1 at stack-trace.js:52:43
-    67   selfRecursive1 at stack-trace.js:52:43
-    68   selfRecursive1 at stack-trace.js:52:43
-    69   selfRecursive1 at stack-trace.js:52:43
-    70   selfRecursive1 at stack-trace.js:52:43
-    71   selfRecursive1 at stack-trace.js:52:43
-    72   selfRecursive1 at stack-trace.js:52:43
-    73   selfRecursive1 at stack-trace.js:52:43
-    74   selfRecursive1 at stack-trace.js:52:43
-    75   selfRecursive1 at stack-trace.js:52:43
-    76   selfRecursive1 at stack-trace.js:52:43
-    77   selfRecursive1 at stack-trace.js:52:43
-    78   selfRecursive1 at stack-trace.js:52:43
-    79   selfRecursive1 at stack-trace.js:52:43
-    80   selfRecursive1 at stack-trace.js:52:43
-    81   selfRecursive1 at stack-trace.js:52:43
-    82   selfRecursive1 at stack-trace.js:52:43
-    83   selfRecursive1 at stack-trace.js:52:43
-    84   selfRecursive1 at stack-trace.js:52:43
-    85   selfRecursive1 at stack-trace.js:52:43
-    86   selfRecursive1 at stack-trace.js:52:43
-    87   selfRecursive1 at stack-trace.js:52:43
-    88   selfRecursive1 at stack-trace.js:52:43
-    89   selfRecursive1 at stack-trace.js:52:43
-    90   selfRecursive1 at stack-trace.js:52:43
-    91   selfRecursive1 at stack-trace.js:52:43
-    92   selfRecursive1 at stack-trace.js:52:43
-    93   selfRecursive1 at stack-trace.js:52:43
-    94   selfRecursive1 at stack-trace.js:52:43
-    95   selfRecursive1 at stack-trace.js:52:43
-    96   selfRecursive1 at stack-trace.js:52:43
-    97   selfRecursive1 at stack-trace.js:52:43
-    98   selfRecursive1 at stack-trace.js:52:43
-    99   selfRecursive1 at stack-trace.js:52:43
</del><ins>+    0   selfRecursive1 at stack-trace.js:105:43
+    1   selfRecursive1 at stack-trace.js:105:43
+    2   selfRecursive1 at stack-trace.js:105:43
+    3   selfRecursive1 at stack-trace.js:105:43
+    4   selfRecursive1 at stack-trace.js:105:43
+    5   selfRecursive1 at stack-trace.js:105:43
+    6   selfRecursive1 at stack-trace.js:105:43
+    7   selfRecursive1 at stack-trace.js:105:43
+    8   selfRecursive1 at stack-trace.js:105:43
+    9   selfRecursive1 at stack-trace.js:105:43
+    10   selfRecursive1 at stack-trace.js:105:43
+    11   selfRecursive1 at stack-trace.js:105:43
+    12   selfRecursive1 at stack-trace.js:105:43
+    13   selfRecursive1 at stack-trace.js:105:43
+    14   selfRecursive1 at stack-trace.js:105:43
+    15   selfRecursive1 at stack-trace.js:105:43
+    16   selfRecursive1 at stack-trace.js:105:43
+    17   selfRecursive1 at stack-trace.js:105:43
+    18   selfRecursive1 at stack-trace.js:105:43
+    19   selfRecursive1 at stack-trace.js:105:43
+    20   selfRecursive1 at stack-trace.js:105:43
+    21   selfRecursive1 at stack-trace.js:105:43
+    22   selfRecursive1 at stack-trace.js:105:43
+    23   selfRecursive1 at stack-trace.js:105:43
+    24   selfRecursive1 at stack-trace.js:105:43
+    25   selfRecursive1 at stack-trace.js:105:43
+    26   selfRecursive1 at stack-trace.js:105:43
+    27   selfRecursive1 at stack-trace.js:105:43
+    28   selfRecursive1 at stack-trace.js:105:43
+    29   selfRecursive1 at stack-trace.js:105:43
+    30   selfRecursive1 at stack-trace.js:105:43
+    31   selfRecursive1 at stack-trace.js:105:43
+    32   selfRecursive1 at stack-trace.js:105:43
+    33   selfRecursive1 at stack-trace.js:105:43
+    34   selfRecursive1 at stack-trace.js:105:43
+    35   selfRecursive1 at stack-trace.js:105:43
+    36   selfRecursive1 at stack-trace.js:105:43
+    37   selfRecursive1 at stack-trace.js:105:43
+    38   selfRecursive1 at stack-trace.js:105:43
+    39   selfRecursive1 at stack-trace.js:105:43
+    40   selfRecursive1 at stack-trace.js:105:43
+    41   selfRecursive1 at stack-trace.js:105:43
+    42   selfRecursive1 at stack-trace.js:105:43
+    43   selfRecursive1 at stack-trace.js:105:43
+    44   selfRecursive1 at stack-trace.js:105:43
+    45   selfRecursive1 at stack-trace.js:105:43
+    46   selfRecursive1 at stack-trace.js:105:43
+    47   selfRecursive1 at stack-trace.js:105:43
+    48   selfRecursive1 at stack-trace.js:105:43
+    49   selfRecursive1 at stack-trace.js:105:43
+    50   selfRecursive1 at stack-trace.js:105:43
+    51   selfRecursive1 at stack-trace.js:105:43
+    52   selfRecursive1 at stack-trace.js:105:43
+    53   selfRecursive1 at stack-trace.js:105:43
+    54   selfRecursive1 at stack-trace.js:105:43
+    55   selfRecursive1 at stack-trace.js:105:43
+    56   selfRecursive1 at stack-trace.js:105:43
+    57   selfRecursive1 at stack-trace.js:105:43
+    58   selfRecursive1 at stack-trace.js:105:43
+    59   selfRecursive1 at stack-trace.js:105:43
+    60   selfRecursive1 at stack-trace.js:105:43
+    61   selfRecursive1 at stack-trace.js:105:43
+    62   selfRecursive1 at stack-trace.js:105:43
+    63   selfRecursive1 at stack-trace.js:105:43
+    64   selfRecursive1 at stack-trace.js:105:43
+    65   selfRecursive1 at stack-trace.js:105:43
+    66   selfRecursive1 at stack-trace.js:105:43
+    67   selfRecursive1 at stack-trace.js:105:43
+    68   selfRecursive1 at stack-trace.js:105:43
+    69   selfRecursive1 at stack-trace.js:105:43
+    70   selfRecursive1 at stack-trace.js:105:43
+    71   selfRecursive1 at stack-trace.js:105:43
+    72   selfRecursive1 at stack-trace.js:105:43
+    73   selfRecursive1 at stack-trace.js:105:43
+    74   selfRecursive1 at stack-trace.js:105:43
+    75   selfRecursive1 at stack-trace.js:105:43
+    76   selfRecursive1 at stack-trace.js:105:43
+    77   selfRecursive1 at stack-trace.js:105:43
+    78   selfRecursive1 at stack-trace.js:105:43
+    79   selfRecursive1 at stack-trace.js:105:43
+    80   selfRecursive1 at stack-trace.js:105:43
+    81   selfRecursive1 at stack-trace.js:105:43
+    82   selfRecursive1 at stack-trace.js:105:43
+    83   selfRecursive1 at stack-trace.js:105:43
+    84   selfRecursive1 at stack-trace.js:105:43
+    85   selfRecursive1 at stack-trace.js:105:43
+    86   selfRecursive1 at stack-trace.js:105:43
+    87   selfRecursive1 at stack-trace.js:105:43
+    88   selfRecursive1 at stack-trace.js:105:43
+    89   selfRecursive1 at stack-trace.js:105:43
+    90   selfRecursive1 at stack-trace.js:105:43
+    91   selfRecursive1 at stack-trace.js:105:43
+    92   selfRecursive1 at stack-trace.js:105:43
+    93   selfRecursive1 at stack-trace.js:105:43
+    94   selfRecursive1 at stack-trace.js:105:43
+    95   selfRecursive1 at stack-trace.js:105:43
+    96   selfRecursive1 at stack-trace.js:105:43
+    97   selfRecursive1 at stack-trace.js:105:43
+    98   selfRecursive1 at stack-trace.js:105:43
+    99   selfRecursive1 at stack-trace.js:105:43
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   selfRecursive2 at stack-trace.js:62:27
-    1   selfRecursive2 at stack-trace.js:62:27
-    2   selfRecursive2 at stack-trace.js:62:27
-    3   selfRecursive2 at stack-trace.js:62:27
-    4   selfRecursive2 at stack-trace.js:62:27
-    5   selfRecursive2 at stack-trace.js:62:27
-    6   selfRecursive2 at stack-trace.js:62:27
-    7   selfRecursive2 at stack-trace.js:62:27
-    8   selfRecursive2 at stack-trace.js:62:27
-    9   selfRecursive2 at stack-trace.js:62:27
-    10   selfRecursive2 at stack-trace.js:62:27
-    11   selfRecursive2 at stack-trace.js:62:27
-    12   selfRecursive2 at stack-trace.js:62:27
-    13   selfRecursive2 at stack-trace.js:62:27
-    14   selfRecursive2 at stack-trace.js:62:27
-    15   selfRecursive2 at stack-trace.js:62:27
-    16   selfRecursive2 at stack-trace.js:62:27
-    17   selfRecursive2 at stack-trace.js:62:27
-    18   selfRecursive2 at stack-trace.js:62:27
-    19   selfRecursive2 at stack-trace.js:62:27
-    20   selfRecursive2 at stack-trace.js:62:27
-    21   selfRecursive2 at stack-trace.js:62:27
-    22   selfRecursive2 at stack-trace.js:62:27
-    23   selfRecursive2 at stack-trace.js:62:27
-    24   selfRecursive2 at stack-trace.js:62:27
-    25   selfRecursive2 at stack-trace.js:62:27
-    26   selfRecursive2 at stack-trace.js:62:27
-    27   selfRecursive2 at stack-trace.js:62:27
-    28   selfRecursive2 at stack-trace.js:62:27
-    29   selfRecursive2 at stack-trace.js:62:27
-    30   selfRecursive2 at stack-trace.js:62:27
-    31   selfRecursive2 at stack-trace.js:62:27
-    32   selfRecursive2 at stack-trace.js:62:27
-    33   selfRecursive2 at stack-trace.js:62:27
-    34   selfRecursive2 at stack-trace.js:62:27
-    35   selfRecursive2 at stack-trace.js:62:27
-    36   selfRecursive2 at stack-trace.js:62:27
-    37   selfRecursive2 at stack-trace.js:62:27
-    38   selfRecursive2 at stack-trace.js:62:27
-    39   selfRecursive2 at stack-trace.js:62:27
-    40   selfRecursive2 at stack-trace.js:62:27
-    41   selfRecursive2 at stack-trace.js:62:27
-    42   selfRecursive2 at stack-trace.js:62:27
-    43   selfRecursive2 at stack-trace.js:62:27
-    44   selfRecursive2 at stack-trace.js:62:27
-    45   selfRecursive2 at stack-trace.js:62:27
-    46   selfRecursive2 at stack-trace.js:62:27
-    47   selfRecursive2 at stack-trace.js:62:27
-    48   selfRecursive2 at stack-trace.js:62:27
-    49   selfRecursive2 at stack-trace.js:62:27
-    50   selfRecursive2 at stack-trace.js:62:27
-    51   selfRecursive2 at stack-trace.js:62:27
-    52   selfRecursive2 at stack-trace.js:62:27
-    53   selfRecursive2 at stack-trace.js:62:27
-    54   selfRecursive2 at stack-trace.js:62:27
-    55   selfRecursive2 at stack-trace.js:62:27
-    56   selfRecursive2 at stack-trace.js:62:27
-    57   selfRecursive2 at stack-trace.js:62:27
-    58   selfRecursive2 at stack-trace.js:62:27
-    59   selfRecursive2 at stack-trace.js:62:27
-    60   selfRecursive2 at stack-trace.js:62:27
-    61   selfRecursive2 at stack-trace.js:62:27
-    62   selfRecursive2 at stack-trace.js:62:27
-    63   selfRecursive2 at stack-trace.js:62:27
-    64   selfRecursive2 at stack-trace.js:62:27
-    65   selfRecursive2 at stack-trace.js:62:27
-    66   selfRecursive2 at stack-trace.js:62:27
-    67   selfRecursive2 at stack-trace.js:62:27
-    68   selfRecursive2 at stack-trace.js:62:27
-    69   selfRecursive2 at stack-trace.js:62:27
-    70   selfRecursive2 at stack-trace.js:62:27
-    71   selfRecursive2 at stack-trace.js:62:27
-    72   selfRecursive2 at stack-trace.js:62:27
-    73   selfRecursive2 at stack-trace.js:62:27
-    74   selfRecursive2 at stack-trace.js:62:27
-    75   selfRecursive2 at stack-trace.js:62:27
-    76   selfRecursive2 at stack-trace.js:62:27
-    77   selfRecursive2 at stack-trace.js:62:27
-    78   selfRecursive2 at stack-trace.js:62:27
-    79   selfRecursive2 at stack-trace.js:62:27
-    80   selfRecursive2 at stack-trace.js:62:27
-    81   selfRecursive2 at stack-trace.js:62:27
-    82   selfRecursive2 at stack-trace.js:62:27
-    83   selfRecursive2 at stack-trace.js:62:27
-    84   selfRecursive2 at stack-trace.js:62:27
-    85   selfRecursive2 at stack-trace.js:62:27
-    86   selfRecursive2 at stack-trace.js:62:27
-    87   selfRecursive2 at stack-trace.js:62:27
-    88   selfRecursive2 at stack-trace.js:62:27
-    89   selfRecursive2 at stack-trace.js:62:27
-    90   selfRecursive2 at stack-trace.js:62:27
-    91   selfRecursive2 at stack-trace.js:62:27
-    92   selfRecursive2 at stack-trace.js:62:27
-    93   selfRecursive2 at stack-trace.js:62:27
-    94   selfRecursive2 at stack-trace.js:62:27
-    95   selfRecursive2 at stack-trace.js:62:27
-    96   selfRecursive2 at stack-trace.js:62:27
-    97   selfRecursive2 at stack-trace.js:62:27
-    98   selfRecursive2 at stack-trace.js:62:27
-    99   selfRecursive2 at stack-trace.js:62:27
</del><ins>+    0   selfRecursive2 at stack-trace.js:115:27
+    1   selfRecursive2 at stack-trace.js:115:27
+    2   selfRecursive2 at stack-trace.js:115:27
+    3   selfRecursive2 at stack-trace.js:115:27
+    4   selfRecursive2 at stack-trace.js:115:27
+    5   selfRecursive2 at stack-trace.js:115:27
+    6   selfRecursive2 at stack-trace.js:115:27
+    7   selfRecursive2 at stack-trace.js:115:27
+    8   selfRecursive2 at stack-trace.js:115:27
+    9   selfRecursive2 at stack-trace.js:115:27
+    10   selfRecursive2 at stack-trace.js:115:27
+    11   selfRecursive2 at stack-trace.js:115:27
+    12   selfRecursive2 at stack-trace.js:115:27
+    13   selfRecursive2 at stack-trace.js:115:27
+    14   selfRecursive2 at stack-trace.js:115:27
+    15   selfRecursive2 at stack-trace.js:115:27
+    16   selfRecursive2 at stack-trace.js:115:27
+    17   selfRecursive2 at stack-trace.js:115:27
+    18   selfRecursive2 at stack-trace.js:115:27
+    19   selfRecursive2 at stack-trace.js:115:27
+    20   selfRecursive2 at stack-trace.js:115:27
+    21   selfRecursive2 at stack-trace.js:115:27
+    22   selfRecursive2 at stack-trace.js:115:27
+    23   selfRecursive2 at stack-trace.js:115:27
+    24   selfRecursive2 at stack-trace.js:115:27
+    25   selfRecursive2 at stack-trace.js:115:27
+    26   selfRecursive2 at stack-trace.js:115:27
+    27   selfRecursive2 at stack-trace.js:115:27
+    28   selfRecursive2 at stack-trace.js:115:27
+    29   selfRecursive2 at stack-trace.js:115:27
+    30   selfRecursive2 at stack-trace.js:115:27
+    31   selfRecursive2 at stack-trace.js:115:27
+    32   selfRecursive2 at stack-trace.js:115:27
+    33   selfRecursive2 at stack-trace.js:115:27
+    34   selfRecursive2 at stack-trace.js:115:27
+    35   selfRecursive2 at stack-trace.js:115:27
+    36   selfRecursive2 at stack-trace.js:115:27
+    37   selfRecursive2 at stack-trace.js:115:27
+    38   selfRecursive2 at stack-trace.js:115:27
+    39   selfRecursive2 at stack-trace.js:115:27
+    40   selfRecursive2 at stack-trace.js:115:27
+    41   selfRecursive2 at stack-trace.js:115:27
+    42   selfRecursive2 at stack-trace.js:115:27
+    43   selfRecursive2 at stack-trace.js:115:27
+    44   selfRecursive2 at stack-trace.js:115:27
+    45   selfRecursive2 at stack-trace.js:115:27
+    46   selfRecursive2 at stack-trace.js:115:27
+    47   selfRecursive2 at stack-trace.js:115:27
+    48   selfRecursive2 at stack-trace.js:115:27
+    49   selfRecursive2 at stack-trace.js:115:27
+    50   selfRecursive2 at stack-trace.js:115:27
+    51   selfRecursive2 at stack-trace.js:115:27
+    52   selfRecursive2 at stack-trace.js:115:27
+    53   selfRecursive2 at stack-trace.js:115:27
+    54   selfRecursive2 at stack-trace.js:115:27
+    55   selfRecursive2 at stack-trace.js:115:27
+    56   selfRecursive2 at stack-trace.js:115:27
+    57   selfRecursive2 at stack-trace.js:115:27
+    58   selfRecursive2 at stack-trace.js:115:27
+    59   selfRecursive2 at stack-trace.js:115:27
+    60   selfRecursive2 at stack-trace.js:115:27
+    61   selfRecursive2 at stack-trace.js:115:27
+    62   selfRecursive2 at stack-trace.js:115:27
+    63   selfRecursive2 at stack-trace.js:115:27
+    64   selfRecursive2 at stack-trace.js:115:27
+    65   selfRecursive2 at stack-trace.js:115:27
+    66   selfRecursive2 at stack-trace.js:115:27
+    67   selfRecursive2 at stack-trace.js:115:27
+    68   selfRecursive2 at stack-trace.js:115:27
+    69   selfRecursive2 at stack-trace.js:115:27
+    70   selfRecursive2 at stack-trace.js:115:27
+    71   selfRecursive2 at stack-trace.js:115:27
+    72   selfRecursive2 at stack-trace.js:115:27
+    73   selfRecursive2 at stack-trace.js:115:27
+    74   selfRecursive2 at stack-trace.js:115:27
+    75   selfRecursive2 at stack-trace.js:115:27
+    76   selfRecursive2 at stack-trace.js:115:27
+    77   selfRecursive2 at stack-trace.js:115:27
+    78   selfRecursive2 at stack-trace.js:115:27
+    79   selfRecursive2 at stack-trace.js:115:27
+    80   selfRecursive2 at stack-trace.js:115:27
+    81   selfRecursive2 at stack-trace.js:115:27
+    82   selfRecursive2 at stack-trace.js:115:27
+    83   selfRecursive2 at stack-trace.js:115:27
+    84   selfRecursive2 at stack-trace.js:115:27
+    85   selfRecursive2 at stack-trace.js:115:27
+    86   selfRecursive2 at stack-trace.js:115:27
+    87   selfRecursive2 at stack-trace.js:115:27
+    88   selfRecursive2 at stack-trace.js:115:27
+    89   selfRecursive2 at stack-trace.js:115:27
+    90   selfRecursive2 at stack-trace.js:115:27
+    91   selfRecursive2 at stack-trace.js:115:27
+    92   selfRecursive2 at stack-trace.js:115:27
+    93   selfRecursive2 at stack-trace.js:115:27
+    94   selfRecursive2 at stack-trace.js:115:27
+    95   selfRecursive2 at stack-trace.js:115:27
+    96   selfRecursive2 at stack-trace.js:115:27
+    97   selfRecursive2 at stack-trace.js:115:27
+    98   selfRecursive2 at stack-trace.js:115:27
+    99   selfRecursive2 at stack-trace.js:115:27
</ins><span class="cx"> 
</span><del>---&gt; Stack Trace:
-    0   eval at [native code]
-    1   selfRecursive3 at stack-trace.js:69:9
-    2    at eval code
-    3   eval at [native code]
-    4   selfRecursive3 at stack-trace.js:69:9
-    5    at eval code
-    6   eval at [native code]
-    7   selfRecursive3 at stack-trace.js:69:9
-    8    at eval code
-    9   eval at [native code]
-    10   selfRecursive3 at stack-trace.js:69:9
-    11    at eval code
-    12   eval at [native code]
-    13   selfRecursive3 at stack-trace.js:69:9
-    14    at eval code
-    15   eval at [native code]
-    16   selfRecursive3 at stack-trace.js:69:9
-    17    at eval code
-    18   eval at [native code]
-    19   selfRecursive3 at stack-trace.js:69:9
-    20    at eval code
-    21   eval at [native code]
-    22   selfRecursive3 at stack-trace.js:69:9
-    23    at eval code
-    24   eval at [native code]
-    25   selfRecursive3 at stack-trace.js:69:9
-    26    at eval code
-    27   eval at [native code]
-    28   selfRecursive3 at stack-trace.js:69:9
-    29    at eval code
-    30   eval at [native code]
-    31   selfRecursive3 at stack-trace.js:69:9
-    32    at eval code
-    33   eval at [native code]
-    34   selfRecursive3 at stack-trace.js:69:9
-    35    at eval code
-    36   eval at [native code]
-    37   selfRecursive3 at stack-trace.js:69:9
-    38    at eval code
-    39   eval at [native code]
-    40   selfRecursive3 at stack-trace.js:69:9
-    41    at eval code
-    42   eval at [native code]
-    43   selfRecursive3 at stack-trace.js:69:9
-    44    at eval code
-    45   eval at [native code]
-    46   selfRecursive3 at stack-trace.js:69:9
-    47    at eval code
-    48   eval at [native code]
-    49   selfRecursive3 at stack-trace.js:69:9
-    50    at eval code
-    51   eval at [native code]
-    52   selfRecursive3 at stack-trace.js:69:9
-    53    at eval code
-    54   eval at [native code]
-    55   selfRecursive3 at stack-trace.js:69:9
-    56    at eval code
-    57   eval at [native code]
-    58   selfRecursive3 at stack-trace.js:69:9
-    59    at eval code
-    60   eval at [native code]
-    61   selfRecursive3 at stack-trace.js:69:9
-    62    at eval code
-    63   eval at [native code]
-    64   selfRecursive3 at stack-trace.js:69:9
-    65    at eval code
-    66   eval at [native code]
-    67   selfRecursive3 at stack-trace.js:69:9
-    68    at eval code
-    69   eval at [native code]
-    70   selfRecursive3 at stack-trace.js:69:9
-    71    at eval code
-    72   eval at [native code]
-    73   selfRecursive3 at stack-trace.js:69:9
-    74    at eval code
-    75   eval at [native code]
-    76   selfRecursive3 at stack-trace.js:69:9
-    77    at eval code
-    78   eval at [native code]
-    79   selfRecursive3 at stack-trace.js:69:9
-    80    at eval code
-    81   eval at [native code]
-    82   selfRecursive3 at stack-trace.js:69:9
-    83    at eval code
-    84   eval at [native code]
-    85   selfRecursive3 at stack-trace.js:69:9
-    86    at eval code
-    87   eval at [native code]
-    88   selfRecursive3 at stack-trace.js:69:9
-    89    at eval code
-    90   eval at [native code]
-    91   selfRecursive3 at stack-trace.js:69:9
-    92    at eval code
-    93   eval at [native code]
-    94   selfRecursive3 at stack-trace.js:69:9
-    95    at eval code
-    96   eval at [native code]
-    97   selfRecursive3 at stack-trace.js:69:9
-    98    at eval code
-    99   eval at [native code]
</del><ins>+--&gt; Stack Trace matches pattern:
+    0    at eval code
+    1   eval at [native code]
+    2   selfRecursive3 at stack-trace.js
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   valueOf at stack-trace.js:84:27
-    2   getter1 at stack-trace.js:87:11
-    3   nonInlineable at stack-trace.js:113:17
-    4   inlineable at stack-trace.js:121:27
-    5   yetAnotherInlinedCall at stack-trace.js:126:17
-    6   makeInlinableCall at stack-trace.js:131:34
-    7   g at stack-trace.js:140:34
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   valueOf at stack-trace.js:146:27
+    2   getter1 at stack-trace.js:149:11
+    3   nonInlineable at stack-trace.js:175:17
+    4   inlineable at stack-trace.js:183:27
+    5   yetAnotherInlinedCall at stack-trace.js:188:17
+    6   makeInlinableCall at stack-trace.js:193:34
+    7   g at stack-trace.js:202:34
</ins><span class="cx">     8   map at [native code]
</span><del>-    9   global code at stack-trace.js:143:16
</del><ins>+    9   global code at stack-trace.js:205:16
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   getter2 at stack-trace.js:93:11
-    2   nonInlineable at stack-trace.js:115:17
-    3   inlineable at stack-trace.js:121:27
-    4   yetAnotherInlinedCall at stack-trace.js:126:17
-    5   makeInlinableCall at stack-trace.js:131:34
-    6   g at stack-trace.js:140:34
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   getter2 at stack-trace.js:155:11
+    2   nonInlineable at stack-trace.js:177:17
+    3   inlineable at stack-trace.js:183:27
+    4   yetAnotherInlinedCall at stack-trace.js:188:17
+    5   makeInlinableCall at stack-trace.js:193:34
+    6   g at stack-trace.js:202:34
</ins><span class="cx">     7   map at [native code]
</span><del>-    8   global code at stack-trace.js:143:16
</del><ins>+    8   global code at stack-trace.js:205:16
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   getter3 at stack-trace.js:105:16
-    2   nonInlineable at stack-trace.js:117:17
-    3   inlineable at stack-trace.js:121:27
-    4   yetAnotherInlinedCall at stack-trace.js:126:17
-    5   makeInlinableCall at stack-trace.js:131:34
-    6   g at stack-trace.js:140:34
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   getter3 at stack-trace.js:167:16
+    2   nonInlineable at stack-trace.js:179:17
+    3   inlineable at stack-trace.js:183:27
+    4   yetAnotherInlinedCall at stack-trace.js:188:17
+    5   makeInlinableCall at stack-trace.js:193:34
+    6   g at stack-trace.js:202:34
</ins><span class="cx">     7   map at [native code]
</span><del>-    8   global code at stack-trace.js:143:16
</del><ins>+    8   global code at stack-trace.js:205:16
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   valueOf at stack-trace.js:101:27
-    2   getter3 at stack-trace.js:107:16
-    3   nonInlineable at stack-trace.js:117:17
-    4   inlineable at stack-trace.js:121:27
-    5   yetAnotherInlinedCall at stack-trace.js:126:17
-    6   makeInlinableCall at stack-trace.js:131:34
-    7   g at stack-trace.js:140:34
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   valueOf at stack-trace.js:163:27
+    2   getter3 at stack-trace.js:169:16
+    3   nonInlineable at stack-trace.js:179:17
+    4   inlineable at stack-trace.js:183:27
+    5   yetAnotherInlinedCall at stack-trace.js:188:17
+    6   makeInlinableCall at stack-trace.js:193:34
+    7   g at stack-trace.js:202:34
</ins><span class="cx">     8   map at [native code]
</span><del>-    9   global code at stack-trace.js:143:16
</del><ins>+    9   global code at stack-trace.js:205:16
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   h at stack-trace.js:151:17
</del><ins>+    0   h at stack-trace.js:213:17
</ins><span class="cx">     1   map at [native code]
</span><del>-    2   mapTest at stack-trace.js:158:10
-    3   mapTestDriver at stack-trace.js:164:16
-    4   global code at stack-trace.js:169:18
</del><ins>+    2   mapTest at stack-trace.js:220:10
+    3   mapTestDriver at stack-trace.js:226:16
+    4   global code at stack-trace.js:231:18
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><span class="cx">     0   map at [native code]
</span><del>-    1   h at stack-trace.js:153:21
</del><ins>+    1   h at stack-trace.js:215:21
</ins><span class="cx">     2   map at [native code]
</span><del>-    3   mapTest at stack-trace.js:158:10
-    4   mapTestDriver at stack-trace.js:164:16
-    5   global code at stack-trace.js:175:18
</del><ins>+    3   mapTest at stack-trace.js:220:10
+    4   mapTestDriver at stack-trace.js:226:16
+    5   global code at stack-trace.js:237:18
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   dfgFunction at stack-trace.js:184:19
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   dfgFunction at stack-trace.js:246:19
</ins><span class="cx">     2   map at [native code]
</span><del>-    3   global code at stack-trace.js:193:18
</del><ins>+    3   global code at stack-trace.js:255:18
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   throwError at stack-trace.js:77:13
-    1   dfgFunction at stack-trace.js:184:19
-    2   f at stack-trace.js:202:10
-    3   global code at stack-trace.js:208:6
</del><ins>+    0   throwError at stack-trace.js:139:13
+    1   dfgFunction at stack-trace.js:246:19
+    2   f at stack-trace.js:264:10
+    3   global code at stack-trace.js:270:6
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   willThrow at stack-trace.js:246:21
-    1   dfg1 at stack-trace.js:257:13
-    2   dfg2 at stack-trace.js:261:9
-    3   dfg3 at stack-trace.js:265:9
-    4   dfgTest at stack-trace.js:231:14
-    5   global code at stack-trace.js:304:8
</del><ins>+    0   willThrow at stack-trace.js:308:21
+    1   dfg1 at stack-trace.js:319:13
+    2   dfg2 at stack-trace.js:323:9
+    3   dfg3 at stack-trace.js:327:9
+    4   dfgTest at stack-trace.js:293:14
+    5   global code at stack-trace.js:366:8
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   willThrowFunc at stack-trace.js:251:62
-    1   dfg4 at stack-trace.js:269:27
-    2   dfg5 at stack-trace.js:273:9
-    3   dfg6 at stack-trace.js:277:9
-    4   dfgTest at stack-trace.js:231:14
-    5   global code at stack-trace.js:305:8
</del><ins>+    0   willThrowFunc at stack-trace.js:313:62
+    1   dfg4 at stack-trace.js:331:27
+    2   dfg5 at stack-trace.js:335:9
+    3   dfg6 at stack-trace.js:339:9
+    4   dfgTest at stack-trace.js:293:14
+    5   global code at stack-trace.js:367:8
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inlineableThrow at stack-trace.js:240:33
-    1   willThrowEventually at stack-trace.js:249:24
-    2   dfg7 at stack-trace.js:281:13
-    3   dfg8 at stack-trace.js:285:9
-    4   dfg9 at stack-trace.js:289:9
-    5   dfgTest at stack-trace.js:231:14
-    6   global code at stack-trace.js:306:8
</del><ins>+    0   inlineableThrow at stack-trace.js:302:33
+    1   willThrowEventually at stack-trace.js:311:24
+    2   dfg7 at stack-trace.js:343:13
+    3   dfg8 at stack-trace.js:347:9
+    4   dfg9 at stack-trace.js:351:9
+    5   dfgTest at stack-trace.js:293:14
+    6   global code at stack-trace.js:368:8
</ins><span class="cx"> 
</span><span class="cx"> --&gt; Stack Trace:
</span><del>-    0   inlineableThrow at stack-trace.js:240:33
-    1   willThrowEventuallyFunc at stack-trace.js:252:59
-    2   dfga at stack-trace.js:293:37
-    3   dfgb at stack-trace.js:297:9
-    4   dfgc at stack-trace.js:301:9
-    5   dfgTest at stack-trace.js:231:14
-    6   global code at stack-trace.js:307:8
</del><ins>+    0   inlineableThrow at stack-trace.js:302:33
+    1   willThrowEventuallyFunc at stack-trace.js:314:59
+    2   dfga at stack-trace.js:355:37
+    3   dfgb at stack-trace.js:359:9
+    4   dfgc at stack-trace.js:363:9
+    5   dfgTest at stack-trace.js:293:14
+    6   global code at stack-trace.js:369:8
</ins><span class="cx"> 
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>