<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 - REGRESSION(r180595): same-callee profiling no longer works"
   href="https://bugs.webkit.org/show_bug.cgi?id=144787">144787</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>REGRESSION(r180595): same-callee profiling no longer works
          </td>
        </tr>

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

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

        <tr>
          <th>Version</th>
          <td>528+ (Nightly build)
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Unspecified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Unspecified
          </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>JavaScriptCore
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>rniwa&#64;webkit.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>3/2/15, 6:56 PM Phil Pizlo:
It used to be the case that if you had a constructor that wasn't inlined, we'd be able to infer that the constructor's callee was a constant if it always was the same.  This was an important optimization because it allowed us to strength-reduce CreateThis into NewObject for constructors that couldn't be inlined for whatever reason.

r180595 broke this, because it removed the use of op_get_callee.  op_get_callee was primarily there to profile whether the callee happened to always be the same.  Now, because we get the callee from &quot;this&quot;, we have no such profiling.

Worse, that change left op_get_callee in the codebase despite it being unused.

The right solution is probably to have create_this profile whether it always sees the same callee or not.

&lt;rdar://problem/20016842&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>