<!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>[202131] trunk/Source/JavaScriptCore</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/202131">202131</a></dd>
<dt>Author</dt> <dd>mark.lam@apple.com</dd>
<dt>Date</dt> <dd>2016-06-16 11:25:54 -0700 (Thu, 16 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add collecting of LLINT slow path stats.
https://bugs.webkit.org/show_bug.cgi?id=158829

Reviewed by Keith Miller.

* llint/LLIntData.cpp:
(JSC::LLInt::Data::dumpStats):
* llint/LLIntData.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntDatacpp">trunk/Source/JavaScriptCore/llint/LLIntData.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntDatah">trunk/Source/JavaScriptCore/llint/LLIntData.h</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntSlowPathscpp">trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntSlowPathsh">trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreterasm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreter32_64asm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLowLevelInterpreter64asm">trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2016-06-16  Mark Lam  &lt;mark.lam@apple.com&gt;
+
+        Add collecting of LLINT slow path stats.
+        https://bugs.webkit.org/show_bug.cgi?id=158829
+
+        Reviewed by Keith Miller.
+
+        * llint/LLIntData.cpp:
+        (JSC::LLInt::Data::dumpStats):
+        * llint/LLIntData.h:
+        * llint/LLIntSlowPaths.cpp:
+        (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+        * llint/LLIntSlowPaths.h:
+        * llint/LowLevelInterpreter.asm:
+        * llint/LowLevelInterpreter32_64.asm:
+        * llint/LowLevelInterpreter64.asm:
+
</ins><span class="cx"> 2016-06-15  Keith Miller  &lt;keith_miller@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add support for Symbol.isConcatSpreadable (round 2)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntData.cpp (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntData.cpp        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LLIntData.cpp        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -236,14 +236,18 @@
</span><span class="cx"> 
</span><span class="cx">     auto statsCopy = *s_opcodeStatsArray;
</span><span class="cx">     std::sort(statsCopy.begin(), statsCopy.end(), [] (OpcodeStats&amp; a, OpcodeStats&amp; b) -&gt; bool {
</span><del>-        return a.count &gt; b.count;
</del><ins>+        if (a.count &gt; b.count)
+            return true;
+        if (a.count &lt; b.count)
+            return false;
+        return a.slowPathCount &gt; b.slowPathCount;
</ins><span class="cx">     });
</span><span class="cx">     
</span><span class="cx">     dataLog(&quot;Opcode stats:\n&quot;);
</span><span class="cx">     unsigned i = 0;
</span><span class="cx">     for (auto&amp; stats : statsCopy) {
</span><span class="cx">         if (stats.count)
</span><del>-            dataLog(&quot;   [&quot;, i++, &quot;]: fast:&quot;, stats.count, &quot; &quot;, opcodeNames[stats.id], &quot;\n&quot;);
</del><ins>+            dataLog(&quot;   [&quot;, i++, &quot;]: fast:&quot;, stats.count, &quot; slow:&quot;, stats.slowPathCount, &quot; &quot;, opcodeNames[stats.id], &quot;\n&quot;);
</ins><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntData.h (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntData.h        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LLIntData.h        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx"> struct OpcodeStats {
</span><span class="cx">     OpcodeID id;
</span><span class="cx">     size_t count { 0 };
</span><ins>+    size_t slowPathCount { 0 };
</ins><span class="cx"> };
</span><span class="cx"> typedef std::array&lt;OpcodeStats, numOpcodeIDs&gt; OpcodeStatsArray;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -1655,6 +1655,13 @@
</span><span class="cx">     LLINT_END_IMPL();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+LLINT_SLOW_PATH_DECL(count_opcode_slow_path)
+{
+    OpcodeID opcodeID = exec-&gt;vm().interpreter-&gt;getOpcodeID(pc[0].u.opcode);
+    Data::opcodeStats(opcodeID).slowPathCount++;
+    LLINT_END_IMPL();
+}
+
</ins><span class="cx"> #endif // ENABLE(LLINT_STATS)
</span><span class="cx"> 
</span><span class="cx"> } } // namespace JSC::LLInt
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntSlowPathsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.h        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -55,6 +55,7 @@
</span><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(trace);
</span><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(special_trace);
</span><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode);
</span><ins>+LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode_slow_path);
</ins><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr);
</span><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr_function_for_call);
</span><span class="cx"> LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr_function_for_construct);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreterasm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -735,6 +735,17 @@
</span><span class="cx">     end
</span><span class="cx"> end
</span><span class="cx"> 
</span><ins>+macro traceSlowPathExecution()
+    if COLLECT_STATS
+        callSlowPath(_llint_count_opcode_slow_path)
+    end
+end
+
+macro callOpcodeSlowPath(slowPath)
+    traceSlowPathExecution()
+    callSlowPath(slowPath)
+end
+
</ins><span class="cx"> macro callTargetFunction(callee)
</span><span class="cx">     if C_LOOP
</span><span class="cx">         cloopCallJSFunction callee
</span><span class="lines">@@ -799,6 +810,7 @@
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="cx"> macro slowPathForCall(slowPath, prepareCall)
</span><ins>+    traceSlowPathExecution()
</ins><span class="cx">     callCallSlowPath(
</span><span class="cx">         slowPath,
</span><span class="cx">         # Those are r0 and r1
</span><span class="lines">@@ -839,7 +851,7 @@
</span><span class="cx">     checkSwitchToJIT(
</span><span class="cx">         10,
</span><span class="cx">         macro ()
</span><del>-            callSlowPath(_llint_replace)
</del><ins>+            callOpcodeSlowPath(_llint_replace)
</ins><span class="cx">         end)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1222,162 +1234,162 @@
</span><span class="cx"> # Value-representation-agnostic code.
</span><span class="cx"> _llint_op_create_direct_arguments:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_create_direct_arguments)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_direct_arguments)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_create_scoped_arguments:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_create_scoped_arguments)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_scoped_arguments)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_create_cloned_arguments:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_create_cloned_arguments)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_cloned_arguments)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_func:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_func)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_func)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_generator_func:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_generator_func)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_generator_func)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_array:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_array)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_array)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_array_with_size:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_array_with_size)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_array_with_size)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_array_buffer:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_array_buffer)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_array_buffer)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_regexp:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_regexp)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_regexp)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_less:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_less)
</del><ins>+    callOpcodeSlowPath(_slow_path_less)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_lesseq:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_lesseq)
</del><ins>+    callOpcodeSlowPath(_slow_path_lesseq)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_greater:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_greater)
</del><ins>+    callOpcodeSlowPath(_slow_path_greater)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_greatereq:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_greatereq)
</del><ins>+    callOpcodeSlowPath(_slow_path_greatereq)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_mod:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_mod)
</del><ins>+    callOpcodeSlowPath(_slow_path_mod)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_typeof:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_typeof)
</del><ins>+    callOpcodeSlowPath(_slow_path_typeof)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_is_object_or_null:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_is_object_or_null)
</del><ins>+    callOpcodeSlowPath(_slow_path_is_object_or_null)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_is_function:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_is_function)
</del><ins>+    callOpcodeSlowPath(_slow_path_is_function)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_in:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_in)
</del><ins>+    callOpcodeSlowPath(_slow_path_in)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_try_get_by_id:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_try_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_try_get_by_id)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_del_by_id:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_del_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_del_by_id)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_del_by_val:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_del_by_val)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_del_by_val)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_by_index:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_by_index)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_by_index)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_getter_by_id:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_getter_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_getter_by_id)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_setter_by_id:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_setter_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_setter_by_id)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_getter_setter_by_id:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_getter_setter_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_getter_setter_by_id)
</ins><span class="cx">     dispatch(6)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_getter_by_val:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_getter_by_val)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_getter_by_val)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_setter_by_val:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_put_setter_by_val)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_setter_by_val)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1496,23 +1508,23 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_switch_string:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_switch_string)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_switch_string)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_func_exp:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_func_exp)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_func_exp)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_new_generator_func_exp:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_new_generator_func_exp)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_generator_func_exp)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_set_function_name:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_set_function_name)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_set_function_name)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_call:
</span><span class="lines">@@ -1531,7 +1543,7 @@
</span><span class="cx">     doCall(_llint_slow_path_construct, prepareForRegularCall)
</span><span class="cx"> 
</span><span class="cx"> macro doCallVarargs(frameSlowPath, slowPath, prepareCall)
</span><del>-    callSlowPath(frameSlowPath)
</del><ins>+    callOpcodeSlowPath(frameSlowPath)
</ins><span class="cx">     branchIfException(_llint_throw_from_slow_path_trampoline)
</span><span class="cx">     # calleeFrame in r1
</span><span class="cx">     if JSVALUE64
</span><span class="lines">@@ -1618,49 +1630,49 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_strcat:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_strcat)
</del><ins>+    callOpcodeSlowPath(_slow_path_strcat)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_push_with_scope:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_push_with_scope)
</del><ins>+    callOpcodeSlowPath(_slow_path_push_with_scope)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_assert:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_assert)
</del><ins>+    callOpcodeSlowPath(_slow_path_assert)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_save:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_save)
</del><ins>+    callOpcodeSlowPath(_slow_path_save)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_resume:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_resume)
</del><ins>+    callOpcodeSlowPath(_slow_path_resume)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_create_lexical_environment:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_create_lexical_environment)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_lexical_environment)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_throw:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_throw)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_throw)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_throw_static_error:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_throw_static_error)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_throw_static_error)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1669,7 +1681,7 @@
</span><span class="cx">     loadp CodeBlock[cfr], t0
</span><span class="cx">     loadi CodeBlock::m_debuggerRequests[t0], t0
</span><span class="cx">     btiz t0, .opDebugDone
</span><del>-    callSlowPath(_llint_slow_path_debug)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_debug)
</ins><span class="cx"> .opDebugDone:                    
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="lines">@@ -1683,77 +1695,77 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_get_enumerable_length:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_get_enumerable_length)
</del><ins>+    callOpcodeSlowPath(_slow_path_get_enumerable_length)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_has_indexed_property:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_has_indexed_property)
</del><ins>+    callOpcodeSlowPath(_slow_path_has_indexed_property)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_has_structure_property:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_has_structure_property)
</del><ins>+    callOpcodeSlowPath(_slow_path_has_structure_property)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_has_generic_property:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_has_generic_property)
</del><ins>+    callOpcodeSlowPath(_slow_path_has_generic_property)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_get_direct_pname:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_get_direct_pname)
</del><ins>+    callOpcodeSlowPath(_slow_path_get_direct_pname)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_get_property_enumerator:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_get_property_enumerator)
</del><ins>+    callOpcodeSlowPath(_slow_path_get_property_enumerator)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_enumerator_structure_pname:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_next_structure_enumerator_pname)
</del><ins>+    callOpcodeSlowPath(_slow_path_next_structure_enumerator_pname)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_enumerator_generic_pname:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_next_generic_enumerator_pname)
</del><ins>+    callOpcodeSlowPath(_slow_path_next_generic_enumerator_pname)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_to_index_string:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_to_index_string)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_index_string)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_copy_rest:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_copy_rest)
</del><ins>+    callOpcodeSlowPath(_slow_path_copy_rest)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_instanceof:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_instanceof)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_instanceof)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_get_by_id_with_this:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_get_by_id_with_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_get_by_id_with_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_get_by_val_with_this:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_get_by_val_with_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_get_by_val_with_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_by_id_with_this:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_put_by_id_with_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_put_by_id_with_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> _llint_op_put_by_val_with_this:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_slow_path_put_by_val_with_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_put_by_val_with_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> # Lastly, make sure that we can link even though we don't support all opcodes.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreter32_64asm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -673,7 +673,7 @@
</span><span class="cx">     addi 1, t2
</span><span class="cx">     btinz t2, .opEnterLoop
</span><span class="cx"> .opEnterDone:
</span><del>-    callSlowPath(_slow_path_enter)
</del><ins>+    callOpcodeSlowPath(_slow_path_enter)
</ins><span class="cx">     dispatch(1)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -719,7 +719,7 @@
</span><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> .opCreateThisSlow:
</span><del>-    callSlowPath(_slow_path_create_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -734,7 +734,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opToThisSlow:
</span><del>-    callSlowPath(_slow_path_to_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_this)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -750,7 +750,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opNewObjectSlow:
</span><del>-    callSlowPath(_llint_slow_path_new_object)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_object)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -759,7 +759,7 @@
</span><span class="cx">     loadisFromInstruction(1, t0)
</span><span class="cx">     loadConstantOrVariableTag(t0, t1)
</span><span class="cx">     bineq t1, EmptyValueTag, .opNotTDZ
</span><del>-    callSlowPath(_slow_path_throw_tdz_error)
</del><ins>+    callOpcodeSlowPath(_slow_path_throw_tdz_error)
</ins><span class="cx"> 
</span><span class="cx"> .opNotTDZ:
</span><span class="cx">     dispatch(2)
</span><span class="lines">@@ -787,7 +787,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opNotSlow:
</span><del>-    callSlowPath(_slow_path_not)
</del><ins>+    callOpcodeSlowPath(_slow_path_not)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -807,7 +807,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opEqSlow:
</span><del>-    callSlowPath(_slow_path_eq)
</del><ins>+    callOpcodeSlowPath(_slow_path_eq)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -854,7 +854,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opNeqSlow:
</span><del>-    callSlowPath(_slow_path_neq)
</del><ins>+    callOpcodeSlowPath(_slow_path_neq)
</ins><span class="cx">     dispatch(4)
</span><span class="cx">     
</span><span class="cx"> 
</span><span class="lines">@@ -903,7 +903,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -927,7 +927,7 @@
</span><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> .opIncSlow:
</span><del>-    callSlowPath(_slow_path_inc)
</del><ins>+    callOpcodeSlowPath(_slow_path_inc)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -941,7 +941,7 @@
</span><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> .opDecSlow:
</span><del>-    callSlowPath(_slow_path_dec)
</del><ins>+    callOpcodeSlowPath(_slow_path_dec)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -958,7 +958,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToNumberSlow:
</span><del>-    callSlowPath(_slow_path_to_number)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_number)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -975,7 +975,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToStringSlow:
</span><del>-    callSlowPath(_slow_path_to_string)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_string)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -998,7 +998,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opNegateSlow:
</span><del>-    callSlowPath(_slow_path_negate)
</del><ins>+    callOpcodeSlowPath(_slow_path_negate)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1040,7 +1040,7 @@
</span><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1121,7 +1121,7 @@
</span><span class="cx">     dispatch(advance)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(advance)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1159,7 +1159,7 @@
</span><span class="cx">     storei Int32Tag, TagOffset[cfr, t0, 8]
</span><span class="cx">     dispatch(3)
</span><span class="cx"> .opUnsignedSlow:
</span><del>-    callSlowPath(_slow_path_unsigned)
</del><ins>+    callOpcodeSlowPath(_slow_path_unsigned)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1219,7 +1219,7 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_instanceof_custom:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_instanceof_custom)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1382,7 +1382,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1402,7 +1402,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdProtoSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1419,7 +1419,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdUnsetSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1442,7 +1442,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetArrayLengthSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1573,7 +1573,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opPutByIdSlow:
</span><del>-    callSlowPath(_llint_slow_path_put_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1627,7 +1627,7 @@
</span><span class="cx">     loadpFromInstruction(4, t0)
</span><span class="cx">     storeb 1, ArrayProfile::m_outOfBounds[t0]
</span><span class="cx"> .opGetByValSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_val)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_val)
</ins><span class="cx">     dispatch(6)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1719,7 +1719,7 @@
</span><span class="cx">     loadpFromInstruction(4, t0)
</span><span class="cx">     storeb 1, ArrayProfile::m_outOfBounds[t0]
</span><span class="cx"> .opPutByValSlow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1744,7 +1744,7 @@
</span><span class="cx">     dispatchBranch(8[PC])
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slow)
</del><ins>+    callOpcodeSlowPath(slow)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1842,7 +1842,7 @@
</span><span class="cx">     dispatchBranch(12[PC])
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1871,7 +1871,7 @@
</span><span class="cx">     dispatchBranch(8[PC])
</span><span class="cx"> 
</span><span class="cx"> .opSwitchImmSlow:
</span><del>-    callSlowPath(_llint_slow_path_switch_imm)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_switch_imm)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1908,7 +1908,7 @@
</span><span class="cx">     dispatchBranch(8[PC])
</span><span class="cx"> 
</span><span class="cx"> .opSwitchOnRope:
</span><del>-    callSlowPath(_llint_slow_path_switch_char)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_switch_char)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1967,7 +1967,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToPrimitiveSlowCase:
</span><del>-    callSlowPath(_slow_path_to_primitive)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_primitive)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1987,7 +1987,7 @@
</span><span class="cx"> 
</span><span class="cx">     loadi VM::targetInterpreterPCForThrow[t3], PC
</span><span class="cx"> 
</span><del>-    callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
</ins><span class="cx">     bpeq r1, 0, .isCatchableException
</span><span class="cx">     jmp _llint_throw_from_slow_path_trampoline
</span><span class="cx"> 
</span><span class="lines">@@ -2182,7 +2182,7 @@
</span><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> .rDynamic:
</span><del>-    callSlowPath(_slow_path_resolve_scope)
</del><ins>+    callOpcodeSlowPath(_slow_path_resolve_scope)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2282,7 +2282,7 @@
</span><span class="cx">     dispatch(8)
</span><span class="cx"> 
</span><span class="cx"> .gDynamic:
</span><del>-    callSlowPath(_llint_slow_path_get_from_scope)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_from_scope)
</ins><span class="cx">     dispatch(8)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2393,11 +2393,11 @@
</span><span class="cx"> 
</span><span class="cx"> .pModuleVar:
</span><span class="cx">     bineq t0, ModuleVar, .pDynamic
</span><del>-    callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
</del><ins>+    callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> .pDynamic:
</span><del>-    callSlowPath(_llint_slow_path_put_to_scope)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_to_scope)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2477,7 +2477,7 @@
</span><span class="cx"> 
</span><span class="cx">     loadp TypeProfilerLog::m_logEndPtr[t1], t1
</span><span class="cx">     bpneq t2, t1, .opProfileTypeDone
</span><del>-    callSlowPath(_slow_path_profile_type_clear_log)
</del><ins>+    callOpcodeSlowPath(_slow_path_profile_type_clear_log)
</ins><span class="cx"> 
</span><span class="cx"> .opProfileTypeDone:
</span><span class="cx">     dispatch(6)
</span><span class="lines">@@ -2524,7 +2524,7 @@
</span><span class="cx">     storep t1, ShadowChicken::Packet::scope[t0]
</span><span class="cx">     dispatch(2)
</span><span class="cx"> .opLogShadowChickenPrologueSlow:
</span><del>-    callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2544,5 +2544,5 @@
</span><span class="cx">     storei PC, ShadowChicken::Packet::callSiteIndex[t0]
</span><span class="cx">     dispatch(3)
</span><span class="cx"> .opLogShadowChickenTailSlow:
</span><del>-    callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
</ins><span class="cx">     dispatch(3)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLowLevelInterpreter64asm"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm (202130 => 202131)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm        2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm        2016-06-16 18:25:54 UTC (rev 202131)
</span><span class="lines">@@ -580,7 +580,7 @@
</span><span class="cx">     addq 1, t2
</span><span class="cx">     btqnz t2, .opEnterLoop
</span><span class="cx"> .opEnterDone:
</span><del>-    callSlowPath(_slow_path_enter)
</del><ins>+    callOpcodeSlowPath(_slow_path_enter)
</ins><span class="cx">     dispatch(1)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -623,7 +623,7 @@
</span><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> .opCreateThisSlow:
</span><del>-    callSlowPath(_slow_path_create_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_create_this)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -639,7 +639,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opToThisSlow:
</span><del>-    callSlowPath(_slow_path_to_this)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_this)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -654,7 +654,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .opNewObjectSlow:
</span><del>-    callSlowPath(_llint_slow_path_new_object)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_new_object)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -663,7 +663,7 @@
</span><span class="cx">     loadisFromInstruction(1, t0)
</span><span class="cx">     loadConstantOrVariable(t0, t1)
</span><span class="cx">     bqneq t1, ValueEmpty, .opNotTDZ
</span><del>-    callSlowPath(_slow_path_throw_tdz_error)
</del><ins>+    callOpcodeSlowPath(_slow_path_throw_tdz_error)
</ins><span class="cx"> 
</span><span class="cx"> .opNotTDZ:
</span><span class="cx">     dispatch(2)
</span><span class="lines">@@ -690,7 +690,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opNotSlow:
</span><del>-    callSlowPath(_slow_path_not)
</del><ins>+    callOpcodeSlowPath(_slow_path_not)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -707,7 +707,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -782,7 +782,7 @@
</span><span class="cx">     dispatch(4)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(4)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -809,7 +809,7 @@
</span><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -837,7 +837,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToNumberSlow:
</span><del>-    callSlowPath(_slow_path_to_number)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_number)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -853,7 +853,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToStringSlow:
</span><del>-    callSlowPath(_slow_path_to_string)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_string)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -875,7 +875,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opNegateSlow:
</span><del>-    callSlowPath(_slow_path_negate)
</del><ins>+    callOpcodeSlowPath(_slow_path_negate)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -924,7 +924,7 @@
</span><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -996,7 +996,7 @@
</span><span class="cx">             macro (left, right) divd left, right end,
</span><span class="cx">             _slow_path_div)
</span><span class="cx">     else
</span><del>-        callSlowPath(_slow_path_div)
</del><ins>+        callOpcodeSlowPath(_slow_path_div)
</ins><span class="cx">         dispatch(5)
</span><span class="cx">     end
</span><span class="cx"> 
</span><span class="lines">@@ -1015,7 +1015,7 @@
</span><span class="cx">     dispatch(advance)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(advance)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1052,7 +1052,7 @@
</span><span class="cx">     storeq t2, [cfr, t0, 8]
</span><span class="cx">     dispatch(3)
</span><span class="cx"> .opUnsignedSlow:
</span><del>-    callSlowPath(_slow_path_unsigned)
</del><ins>+    callOpcodeSlowPath(_slow_path_unsigned)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1105,7 +1105,7 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_instanceof_custom:
</span><span class="cx">     traceExecution()
</span><del>-    callSlowPath(_llint_slow_path_instanceof_custom)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1253,7 +1253,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1273,7 +1273,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdProtoSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1290,7 +1290,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetByIdUnsetSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1313,7 +1313,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opGetArrayLengthSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1452,7 +1452,7 @@
</span><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> .opPutByIdSlow:
</span><del>-    callSlowPath(_llint_slow_path_put_by_id)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_by_id)
</ins><span class="cx">     dispatch(9)
</span><span class="cx"> 
</span><span class="cx"> macro finishGetByVal(result, scratch)
</span><span class="lines">@@ -1589,7 +1589,7 @@
</span><span class="cx">     finishDoubleGetByVal(ft0, t0, t1)
</span><span class="cx"> 
</span><span class="cx"> .opGetByValSlow:
</span><del>-    callSlowPath(_llint_slow_path_get_by_val)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_by_val)
</ins><span class="cx">     dispatch(6)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1677,7 +1677,7 @@
</span><span class="cx">     loadpFromInstruction(4, t0)
</span><span class="cx">     storeb 1, ArrayProfile::m_outOfBounds[t0]
</span><span class="cx"> .opPutByValSlow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(5)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1705,7 +1705,7 @@
</span><span class="cx">     dispatchIntIndirect(2)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slow)
</del><ins>+    callOpcodeSlowPath(slow)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1804,7 +1804,7 @@
</span><span class="cx">     dispatchIntIndirect(3)
</span><span class="cx"> 
</span><span class="cx"> .slow:
</span><del>-    callSlowPath(slowPath)
</del><ins>+    callOpcodeSlowPath(slowPath)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="lines">@@ -1833,7 +1833,7 @@
</span><span class="cx">     dispatchIntIndirect(2)
</span><span class="cx"> 
</span><span class="cx"> .opSwitchImmSlow:
</span><del>-    callSlowPath(_llint_slow_path_switch_imm)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_switch_imm)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1870,7 +1870,7 @@
</span><span class="cx">     dispatchIntIndirect(2)
</span><span class="cx"> 
</span><span class="cx"> .opSwitchOnRope:
</span><del>-    callSlowPath(_llint_slow_path_switch_char)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_switch_char)
</ins><span class="cx">     dispatch(0)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1927,7 +1927,7 @@
</span><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> .opToPrimitiveSlowCase:
</span><del>-    callSlowPath(_slow_path_to_primitive)
</del><ins>+    callOpcodeSlowPath(_slow_path_to_primitive)
</ins><span class="cx">     dispatch(3)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -1951,7 +1951,7 @@
</span><span class="cx">     subp PB, PC
</span><span class="cx">     rshiftp 3, PC
</span><span class="cx"> 
</span><del>-    callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
</ins><span class="cx">     bpeq r1, 0, .isCatchableException
</span><span class="cx">     jmp _llint_throw_from_slow_path_trampoline
</span><span class="cx"> 
</span><span class="lines">@@ -2129,7 +2129,7 @@
</span><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> .rDynamic:
</span><del>-    callSlowPath(_slow_path_resolve_scope)
</del><ins>+    callOpcodeSlowPath(_slow_path_resolve_scope)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2225,7 +2225,7 @@
</span><span class="cx">     dispatch(8)
</span><span class="cx"> 
</span><span class="cx"> .gDynamic:
</span><del>-    callSlowPath(_llint_slow_path_get_from_scope)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_get_from_scope)
</ins><span class="cx">     dispatch(8)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2346,11 +2346,11 @@
</span><span class="cx"> 
</span><span class="cx"> .pModuleVar:
</span><span class="cx">     bineq t0, ModuleVar, .pDynamic
</span><del>-    callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
</del><ins>+    callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> .pDynamic:
</span><del>-    callSlowPath(_llint_slow_path_put_to_scope)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_put_to_scope)
</ins><span class="cx">     dispatch(7)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2420,7 +2420,7 @@
</span><span class="cx"> 
</span><span class="cx">     loadp TypeProfilerLog::m_logEndPtr[t1], t1
</span><span class="cx">     bpneq t2, t1, .opProfileTypeDone
</span><del>-    callSlowPath(_slow_path_profile_type_clear_log)
</del><ins>+    callOpcodeSlowPath(_slow_path_profile_type_clear_log)
</ins><span class="cx"> 
</span><span class="cx"> .opProfileTypeDone:
</span><span class="cx">     dispatch(6)
</span><span class="lines">@@ -2461,7 +2461,7 @@
</span><span class="cx">     storep t1, ShadowChicken::Packet::scope[t0]
</span><span class="cx">     dispatch(2)
</span><span class="cx"> .opLogShadowChickenPrologueSlow:
</span><del>-    callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -2479,5 +2479,5 @@
</span><span class="cx">     storei PC, ShadowChicken::Packet::callSiteIndex[t0]
</span><span class="cx">     dispatch(3)
</span><span class="cx"> .opLogShadowChickenTailSlow:
</span><del>-    callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
</del><ins>+    callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
</ins><span class="cx">     dispatch(3)
</span></span></pre>
</div>
</div>

</body>
</html>