<!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>[167036] 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/167036">167036</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2014-04-09 14:41:40 -0700 (Wed, 09 Apr 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Get rid of JITOperationWrappers.h header file.
https://bugs.webkit.org/show_bug.cgi?id=131450

Patch by Julien Brianceau &lt;jbriance@cisco.com&gt; on 2014-04-09
Reviewed by Michael Saboff.

JITOperationWrappers header file contains architecture specific code that is
not needed anymore, so get rid of it.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGOperations.cpp:
* jit/JITOperationWrappers.h: Removed.
* jit/JITOperations.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGOperationscpp">trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOperationscpp">trunk/Source/JavaScriptCore/jit/JITOperations.cpp</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCorejitJITOperationWrappersh">trunk/Source/JavaScriptCore/jit/JITOperationWrappers.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2014-04-09  Julien Brianceau  &lt;jbriance@cisco.com&gt;
+
+        Get rid of JITOperationWrappers.h header file.
+        https://bugs.webkit.org/show_bug.cgi?id=131450
+
+        Reviewed by Michael Saboff.
+
+        JITOperationWrappers header file contains architecture specific code that is
+        not needed anymore, so get rid of it.
+
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * dfg/DFGOperations.cpp:
+        * jit/JITOperationWrappers.h: Removed.
+        * jit/JITOperations.cpp:
+
</ins><span class="cx"> 2014-04-09  Mark Lam  &lt;mark.lam@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Ensure that LLINT accessing of the ProtoCallFrame is big endian friendly.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -1160,7 +1160,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITInlineCacheGenerator.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITInlines.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITOperations.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\jit\JITOperationWrappers.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITStubRoutine.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITStubs.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITStubsX86.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -3303,9 +3303,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\InlineCallFrameSet.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\jit\JITOperationWrappers.h&quot;&gt;
-      &lt;Filter&gt;jit&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\jit\JITOperations.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;jit&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -136,7 +136,6 @@
</span><span class="cx">                 0F24E54417EA9F5900ABB217 /* GPRInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0F24E54C17EE274900ABB217 /* JITOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F24E54517EE274900ABB217 /* JITOperations.cpp */; };
</span><span class="cx">                 0F24E54D17EE274900ABB217 /* JITOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E54617EE274900ABB217 /* JITOperations.h */; };
</span><del>-                0F24E54E17EE274900ABB217 /* JITOperationWrappers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E54717EE274900ABB217 /* JITOperationWrappers.h */; };
</del><span class="cx">                 0F24E54F17EE274900ABB217 /* TempRegisterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E54817EE274900ABB217 /* TempRegisterSet.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0F24E55017EE274900ABB217 /* Repatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F24E54917EE274900ABB217 /* Repatch.cpp */; };
</span><span class="cx">                 0F24E55117EE274900ABB217 /* Repatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E54A17EE274900ABB217 /* Repatch.h */; };
</span><span class="lines">@@ -1665,7 +1664,6 @@
</span><span class="cx">                 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPRInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0F24E54517EE274900ABB217 /* JITOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JITOperations.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0F24E54617EE274900ABB217 /* JITOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITOperations.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                0F24E54717EE274900ABB217 /* JITOperationWrappers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITOperationWrappers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 0F24E54817EE274900ABB217 /* TempRegisterSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TempRegisterSet.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0F24E54917EE274900ABB217 /* Repatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Repatch.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0F24E54A17EE274900ABB217 /* Repatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Repatch.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -3485,7 +3483,6 @@
</span><span class="cx">                                 A71236E41195F33C00BD2174 /* JITOpcodes32_64.cpp */,
</span><span class="cx">                                 0F24E54517EE274900ABB217 /* JITOperations.cpp */,
</span><span class="cx">                                 0F24E54617EE274900ABB217 /* JITOperations.h */,
</span><del>-                                0F24E54717EE274900ABB217 /* JITOperationWrappers.h */,
</del><span class="cx">                                 86CC85C30EE7A89400288682 /* JITPropertyAccess.cpp */,
</span><span class="cx">                                 A7C1E8C8112E701C00A37F98 /* JITPropertyAccess32_64.cpp */,
</span><span class="cx">                                 0F766D2615A8CC1B008F363E /* JITStubRoutine.cpp */,
</span><span class="lines">@@ -5357,7 +5354,6 @@
</span><span class="cx">                                 0FB14E1F18124ACE009B6B4D /* JITInlineCacheGenerator.h in Headers */,
</span><span class="cx">                                 86CC85A10EE79A4700288682 /* JITInlines.h in Headers */,
</span><span class="cx">                                 0F24E54D17EE274900ABB217 /* JITOperations.h in Headers */,
</span><del>-                                0F24E54E17EE274900ABB217 /* JITOperationWrappers.h in Headers */,
</del><span class="cx">                                 0F766D3115AA8112008F363E /* JITStubRoutine.h in Headers */,
</span><span class="cx">                                 0F766D2C15A8CC3A008F363E /* JITStubRoutineSet.h in Headers */,
</span><span class="cx">                                 14C5242B0F5355E900BA3D04 /* JITStubs.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/dfg/DFGOperations.cpp        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> #include &quot;Interpreter.h&quot;
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><span class="cx"> #include &quot;JITExceptions.h&quot;
</span><del>-#include &quot;JITOperationWrappers.h&quot;
</del><span class="cx"> #include &quot;JSActivation.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOperationWrappersh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/jit/JITOperationWrappers.h (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOperationWrappers.h        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/jit/JITOperationWrappers.h        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -1,413 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#ifndef JITOperationWrappers_h
-#define JITOperationWrappers_h
-
-#include &quot;JITOperations.h&quot;
-#include &lt;wtf/Compiler.h&gt;
-#include &lt;wtf/InlineASM.h&gt;
-
-#if COMPILER(MSVC)
-#include &lt;intrin.h&gt;
-#endif
-
-namespace JSC {
-
-#if CPU(MIPS)
-#if WTF_MIPS_PIC
-#define LOAD_FUNCTION_TO_T9(function) \
-        &quot;.set noreorder&quot; &quot;\n&quot; \
-        &quot;.cpload $25&quot; &quot;\n&quot; \
-        &quot;.set reorder&quot; &quot;\n&quot; \
-        &quot;la $t9, &quot; LOCAL_REFERENCE(function) &quot;\n&quot;
-#else
-#define LOAD_FUNCTION_TO_T9(function) &quot;&quot; &quot;\n&quot;
-#endif
-#endif
-
-#if COMPILER(GCC) &amp;&amp; CPU(X86_64)
-
-#define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, register) \
-    asm( \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov (%rsp), %&quot; STRINGIZE(register) &quot;\n&quot; \
-        &quot;jmp &quot; LOCAL_REFERENCE(function##WithReturnAddress) &quot;\n&quot; \
-    );
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rsi)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rsi)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rcx)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, rcx)
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, r8)
-
-#elif COMPILER(GCC) &amp;&amp; CPU(X86)
-
-#define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, offset) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov (%esp), %eax\n&quot; \
-        &quot;mov %eax, &quot; STRINGIZE(offset) &quot;(%esp)\n&quot; \
-        &quot;jmp &quot; LOCAL_REFERENCE(function##WithReturnAddress) &quot;\n&quot; \
-    );
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 8)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 8)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 16)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 20)
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 28)
-
-#elif CPU(ARM64)
-
-#define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, register) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.align 2&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov &quot; STRINGIZE(register) &quot;, lr&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, x1)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)    FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, x1)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, x3)
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, x3)
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, x4)
-
-#elif COMPILER(GCC) &amp;&amp; CPU(ARM_THUMB2)
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.align 2&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    &quot;.thumb&quot; &quot;\n&quot; \
-    &quot;.thumb_func &quot; THUMB_FUNC_PARAM(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov a2, lr&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.align 2&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    &quot;.thumb&quot; &quot;\n&quot; \
-    &quot;.thumb_func &quot; THUMB_FUNC_PARAM(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov a4, lr&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-// EncodedJSValue in JSVALUE32_64 is a 64-bit integer. When being compiled in ARM EABI, it must be aligned even-numbered register (r0, r2 or [sp]).
-// As a result, return address will be at a 4-byte further location in the following cases.
-#if COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;str lr, [sp, #4]&quot;
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;str lr, [sp, #12]&quot;
-#else
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;str lr, [sp, #0]&quot;
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;str lr, [sp, #8]&quot;
-#endif
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.align 2&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    &quot;.thumb&quot; &quot;\n&quot; \
-    &quot;.thumb_func &quot; THUMB_FUNC_PARAM(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.align 2&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    &quot;.thumb&quot; &quot;\n&quot; \
-    &quot;.thumb_func &quot; THUMB_FUNC_PARAM(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#elif COMPILER(GCC) &amp;&amp; CPU(ARM_TRADITIONAL)
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    INLINE_ARM_FUNCTION(function) \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov a2, lr&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    INLINE_ARM_FUNCTION(function) \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;mov a4, lr&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-// EncodedJSValue in JSVALUE32_64 is a 64-bit integer. When being compiled in ARM EABI, it must be aligned even-numbered register (r0, r2 or [sp]).
-// As a result, return address will be at a 4-byte further location in the following cases.
-#if COMPILER_SUPPORTS(EABI) &amp;&amp; CPU(ARM)
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;str lr, [sp, #4]&quot;
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;str lr, [sp, #12]&quot;
-#else
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;str lr, [sp, #0]&quot;
-#define INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;str lr, [sp, #8]&quot;
-#endif
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    INLINE_ARM_FUNCTION(function) \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        INSTRUCTION_STORE_RETURN_ADDRESS_EJI &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-    asm ( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    INLINE_ARM_FUNCTION(function) \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        INSTRUCTION_STORE_RETURN_ADDRESS_EJJI &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#elif COMPILER(GCC) &amp;&amp; CPU(MIPS)
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-    LOAD_FUNCTION_TO_T9(function##WithReturnAddress) \
-        &quot;move $a1, $ra&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-    LOAD_FUNCTION_TO_T9(function##WithReturnAddress) \
-        &quot;move $a3, $ra&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-    LOAD_FUNCTION_TO_T9(function##WithReturnAddress) \
-        &quot;sw $ra, 20($sp)&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-    LOAD_FUNCTION_TO_T9(function##WithReturnAddress) \
-        &quot;sw $ra, 28($sp)&quot; &quot;\n&quot; \
-        &quot;b &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-    );
-
-#elif COMPILER(GCC) &amp;&amp; CPU(SH4)
-
-#define SH4_SCRATCH_REGISTER &quot;r11&quot;
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;sts pr, r5&quot; &quot;\n&quot; \
-        &quot;bra &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress&quot; &quot;\n&quot; \
-        &quot;nop&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;sts pr, r7&quot; &quot;\n&quot; \
-        &quot;mov.l 2f, &quot; SH4_SCRATCH_REGISTER &quot;\n&quot; \
-        &quot;braf &quot; SH4_SCRATCH_REGISTER &quot;\n&quot; \
-        &quot;nop&quot; &quot;\n&quot; \
-        &quot;1: .balign 4&quot; &quot;\n&quot; \
-        &quot;2: .long &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress-1b&quot; &quot;\n&quot; \
-    );
-
-#define FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, offset, scratch) \
-    asm( \
-    &quot;.text&quot; &quot;\n&quot; \
-    &quot;.globl &quot; SYMBOL_STRING(function) &quot;\n&quot; \
-    HIDE_SYMBOL(function) &quot;\n&quot; \
-    SYMBOL_STRING(function) &quot;:&quot; &quot;\n&quot; \
-        &quot;sts pr, &quot; scratch &quot;\n&quot; \
-        &quot;mov.l &quot; scratch &quot;, @(&quot; STRINGIZE(offset) &quot;, r15)&quot; &quot;\n&quot; \
-        &quot;mov.l 2f, &quot; scratch &quot;\n&quot; \
-        &quot;braf &quot; scratch &quot;\n&quot; \
-        &quot;nop&quot; &quot;\n&quot; \
-        &quot;1: .balign 4&quot; &quot;\n&quot; \
-        &quot;2: .long &quot; LOCAL_REFERENCE(function) &quot;WithReturnAddress-1b&quot; &quot;\n&quot; \
-    );
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)  FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 0, SH4_SCRATCH_REGISTER)
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) FUNCTION_WRAPPER_WITH_RETURN_ADDRESS(function, 8, SH4_SCRATCH_REGISTER)
-
-#elif COMPILER(MSVC) &amp;&amp; CPU(X86)
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-__declspec(naked) EncodedJSValue JIT_OPERATION function(ExecState*, EncodedJSValue, StringImpl*) \
-{ \
-    __asm { \
-        __asm mov eax, [esp] \
-        __asm mov [esp + 20], eax \
-        __asm jmp function##WithReturnAddress \
-    } \
-}
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-__declspec(naked) EncodedJSValue JIT_OPERATION function(ExecState*, JSCell*, StringImpl*) \
-{ \
-    __asm { \
-        __asm mov eax, [esp] \
-        __asm mov [esp + 16], eax \
-        __asm jmp function##WithReturnAddress \
-    } \
-}
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJCI(function) \
-__declspec(naked) void JIT_OPERATION function(ExecState*, EncodedJSValue, JSCell*, StringImpl*) \
-{ \
-    __asm { \
-        __asm mov eax, [esp] \
-        __asm mov [esp + 24], eax \
-        __asm jmp function##WithReturnAddress \
-    } \
-}
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-__declspec(naked) void JIT_OPERATION function(ExecState*, EncodedJSValue, EncodedJSValue, StringImpl*) \
-{ \
-    __asm { \
-        __asm mov eax, [esp] \
-        __asm mov [esp + 28], eax \
-        __asm jmp function##WithReturnAddress \
-    } \
-}
-
-#elif COMPILER(MSVC)
-
-#define _P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    void* JIT_OPERATION function(ExecState* exec) { return function##WithReturnAddress(exec, ReturnAddressPtr(*(void**)_AddressOfReturnAddress())); }
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-    EncodedJSValue JIT_OPERATION function(ExecState* exec) { return function##WithReturnAddress(exec, ReturnAddressPtr(*(void**)_AddressOfReturnAddress())); }
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-    EncodedJSValue JIT_OPERATION function(ExecState* exec, JSCell* cell, StringImpl* string) { return function##WithReturnAddress(exec, cell, string, ReturnAddressPtr(*(void**)_AddressOfReturnAddress())); }
-
-#define _J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-    EncodedJSValue JIT_OPERATION function(ExecState* exec, EncodedJSValue value, StringImpl* string) { return function##WithReturnAddress(exec, value, string, ReturnAddressPtr(*(void**)_AddressOfReturnAddress())); }
-
-#define _V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-    void JIT_OPERATION function(ExecState* exec, EncodedJSValue value, EncodedJSValue baseValue, StringImpl* string) { return function##WithReturnAddress(exec, value, baseValue, string, ReturnAddressPtr(*(void**)_AddressOfReturnAddress())); }
-
-#endif
-
-#define P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-void* JIT_OPERATION function##WithReturnAddress(ExecState*, ReturnAddressPtr) REFERENCED_FROM_ASM WTF_INTERNAL; \
-_P_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function) \
-EncodedJSValue JIT_OPERATION function##WithReturnAddress(ExecState*, ReturnAddressPtr) REFERENCED_FROM_ASM WTF_INTERNAL; \
-_J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_E(function)
-
-#define J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function) \
-EncodedJSValue JIT_OPERATION function##WithReturnAddress(ExecState*, JSCell*, StringImpl*, ReturnAddressPtr) REFERENCED_FROM_ASM WTF_INTERNAL; \
-_J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_ECI(function)
-
-#define J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function) \
-EncodedJSValue JIT_OPERATION function##WithReturnAddress(ExecState*, EncodedJSValue, StringImpl*, ReturnAddressPtr) REFERENCED_FROM_ASM WTF_INTERNAL; \
-_J_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJI(function)
-
-#define V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function) \
-void JIT_OPERATION function##WithReturnAddress(ExecState*, EncodedJSValue, EncodedJSValue, StringImpl*, ReturnAddressPtr) REFERENCED_FROM_ASM WTF_INTERNAL; \
-_V_FUNCTION_WRAPPER_WITH_RETURN_ADDRESS_EJJI(function)
-
-} // namespace JSC
-
-#endif // JITOperationWrappers_h
-
</del></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOperations.cpp (167035 => 167036)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-04-09 21:39:27 UTC (rev 167035)
+++ trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2014-04-09 21:41:40 UTC (rev 167036)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> #include &quot;GetterSetter.h&quot;
</span><span class="cx"> #include &quot;HostCallReturnValue.h&quot;
</span><span class="cx"> #include &quot;JIT.h&quot;
</span><del>-#include &quot;JITOperationWrappers.h&quot;
</del><span class="cx"> #include &quot;JITToDFGDeferredCompilationCallback.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObjectFunctions.h&quot;
</span><span class="cx"> #include &quot;JSNameScope.h&quot;
</span><span class="lines">@@ -52,6 +51,7 @@
</span><span class="cx"> #include &quot;JSCInlines.h&quot;
</span><span class="cx"> #include &quot;Repatch.h&quot;
</span><span class="cx"> #include &quot;RepatchBuffer.h&quot;
</span><ins>+#include &lt;wtf/InlineASM.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="lines">@@ -1873,6 +1873,17 @@
</span><span class="cx"> );
</span><span class="cx"> 
</span><span class="cx"> #elif COMPILER(GCC) &amp;&amp; CPU(MIPS)
</span><ins>+
+#if WTF_MIPS_PIC
+#define LOAD_FUNCTION_TO_T9(function) \
+        &quot;.set noreorder&quot; &quot;\n&quot; \
+        &quot;.cpload $25&quot; &quot;\n&quot; \
+        &quot;.set reorder&quot; &quot;\n&quot; \
+        &quot;la $t9, &quot; LOCAL_REFERENCE(function) &quot;\n&quot;
+#else
+#define LOAD_FUNCTION_TO_T9(function) &quot;&quot; &quot;\n&quot;
+#endif
+
</ins><span class="cx"> asm (
</span><span class="cx"> &quot;.text&quot; &quot;\n&quot;
</span><span class="cx"> &quot;.globl &quot; SYMBOL_STRING(getHostCallReturnValue) &quot;\n&quot;
</span><span class="lines">@@ -1884,6 +1895,9 @@
</span><span class="cx"> );
</span><span class="cx"> 
</span><span class="cx"> #elif COMPILER(GCC) &amp;&amp; CPU(SH4)
</span><ins>+
+#define SH4_SCRATCH_REGISTER &quot;r11&quot;
+
</ins><span class="cx"> asm (
</span><span class="cx"> &quot;.text&quot; &quot;\n&quot;
</span><span class="cx"> &quot;.globl &quot; SYMBOL_STRING(getHostCallReturnValue) &quot;\n&quot;
</span></span></pre>
</div>
</div>

</body>
</html>