<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@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>rniwa@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 "this", 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.
<rdar://problem/20016842></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>