<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Web Inspector: Improve handling of Bound functions in samples"
   href="https://bugs.webkit.org/show_bug.cgi?id=155916">155916</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Web Inspector: Improve handling of Bound functions in samples
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>WebKit
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>WebKit Nightly Build
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P2
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Web Inspector
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>webkit-unassigned&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>joepeck&#64;webkit.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>bburg&#64;apple.com, graouts&#64;webkit.org, joepeck&#64;webkit.org, mattbaker&#64;apple.com, nvasilyev&#64;apple.com, sbarati&#64;apple.com, timothy&#64;apple.com, webkit-bug-importer&#64;group.apple.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=274968" name="attach_274968" title="[IMAGE] Call Tree with &quot;bound&quot; clutter">attachment 274968</a> <a href="attachment.cgi?id=274968&amp;action=edit" title="[IMAGE] Call Tree with &quot;bound&quot; clutter">[details]</a></span>
[IMAGE] Call Tree with &quot;bound&quot; clutter

* SUMMARY
Improve handling of Bound functions in samples.

Currently bound functions show up in the sample twice. The &quot;[N] bound foo&quot; and its immediate call to &quot;[ƒ] foo&quot;. Ending up with:

    [ƒ] doStuff
      [N] bound foo
        [ƒ] foo
          [N] bound foo
            [ƒ] foo

Note we do not show these bound functions in our call stack. If we were paused in the inner foo here we would have a call stack like:

    [ƒ] foo
    [ƒ] foo
    [ƒ] doStuff

So the profile here could be:

    [ƒ] doStuff
      [ƒ] foo
        [ƒ] foo

Or:

    [ƒ] doStuff
      [ƒ] bound foo
        [ƒ] bound foo

Removing a bunch of extra, unnecessary duplication in the call tree.

* TEST
&lt;script&gt;
setInterval(function() { // anonymous
    (function foo() { // bound foo =&gt; foo
        var until = Date.now() + 2;
        while (Date.now() &lt;= until);
        console.log(Date.now());
    }).bind(null)()
}, 1000);
&lt;/script&gt;</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>