aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-28 21:45:38 +0100
committerMike Pall <mike>2010-02-28 21:51:01 +0100
commit2e22d33d9d256e9a1551229f1b51e2a6f02da2f6 (patch)
tree55c51dd77b08afd7044a046cb3b037106285000c /doc
parent956065fd047de66aab31cd4336f3e663e87db3e3 (diff)
downloadluajit-2e22d33d9d256e9a1551229f1b51e2a6f02da2f6.tar.gz
luajit-2e22d33d9d256e9a1551229f1b51e2a6f02da2f6.tar.bz2
luajit-2e22d33d9d256e9a1551229f1b51e2a6f02da2f6.zip
Enable JIT compiler for x64.
Only works on Linux/x64 and Windows/x64 right now. Force an x64 build on Linux/x64 with: make CC="gcc -m64" NYI: handle on-trace OOM errors. NYI: improve register allocation for x64.
Diffstat (limited to 'doc')
-rw-r--r--doc/changes.html3
-rw-r--r--doc/faq.html5
-rw-r--r--doc/install.html19
-rw-r--r--doc/luajit.html5
-rw-r--r--doc/status.html7
5 files changed, 16 insertions, 23 deletions
diff --git a/doc/changes.html b/doc/changes.html
index 7f2da0a8..33c3f317 100644
--- a/doc/changes.html
+++ b/doc/changes.html
@@ -58,7 +58,7 @@ to see whether newer versions are available.
58<li>CPU support: 58<li>CPU support:
59<ul> 59<ul>
60<li>Port integrated memory allocator to Linux/x64 and Windows/x64.</li> 60<li>Port integrated memory allocator to Linux/x64 and Windows/x64.</li>
61<li>Port the interpreter to x64.</li> 61<li>Port interpreter and JIT compiler to x64.</li>
62<li>Port DynASM to x64.</li> 62<li>Port DynASM to x64.</li>
63<li>Many 32/64 bit cleanups in the VM.</li> 63<li>Many 32/64 bit cleanups in the VM.</li>
64<li>Allow building the interpreter with either x87 or SSE2 arithmetics.</li> 64<li>Allow building the interpreter with either x87 or SSE2 arithmetics.</li>
@@ -80,6 +80,7 @@ to see whether newer versions are available.
80</ul></li> 80</ul></li>
81<li>Structural and performance enhancements: 81<li>Structural and performance enhancements:
82<ul> 82<ul>
83<li>Improve heuristics for bytecode penalties and blacklisting.</li>
83<li>Split CALL/FUNC recording and clean up fast function call semantics.</li> 84<li>Split CALL/FUNC recording and clean up fast function call semantics.</li>
84<li>Major redesign of internal function call handling.</li> 85<li>Major redesign of internal function call handling.</li>
85<li>Improve FOR loop const specialization and integerness checks.</li> 86<li>Improve FOR loop const specialization and integerness checks.</li>
diff --git a/doc/faq.html b/doc/faq.html
index 15632eae..6d724325 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -137,9 +137,8 @@ The compiler will happily optimize away such indirections.</dd>
137machine code. This means the code generator must be ported to each 137machine code. This means the code generator must be ported to each
138architecture. And the fast interpreter is written in assembler and 138architecture. And the fast interpreter is written in assembler and
139must be ported, too. This is quite an undertaking.<br> Currently only 139must be ported, too. This is quite an undertaking.<br> Currently only
140x86 CPUs are supported. x64 support is in the works. Other 140x86 and x64 CPUs are supported. Other architectures will follow based
141architectures will follow with sufficient demand and/or 141on sufficient user demand and/or sponsoring.</dd>
142sponsoring.</dd>
143</dl> 142</dl>
144 143
145<dl> 144<dl>
diff --git a/doc/install.html b/doc/install.html
index 605f954d..102f3417 100644
--- a/doc/install.html
+++ b/doc/install.html
@@ -54,16 +54,10 @@ LuaJIT currently builds out-of-the box on all popular x86 systems
54(Linux, Windows, OSX etc.). It builds and runs fine as a 32&nbsp;bit 54(Linux, Windows, OSX etc.). It builds and runs fine as a 32&nbsp;bit
55application under x64-based systems, too. 55application under x64-based systems, too.
56</p> 56</p>
57<p class="indent" style="color: #00a000;"> 57<p style="color: #00a000;">
58The x64 port of LuaJIT is still experimental and not enabled by default. 58The x64 port of LuaJIT is still preliminary and not enabled by default.
59It only contains the interpreter and only builds on Linux/x64 and WIN64 59It only builds on Linux/x64 and Windows/x64 right now. If you want to
60right now. If you want to give it a try, follow the special build instructions 60give it a try, please follow the special build instructions below.
61below.
62</p>
63<p class="indent" style="color: #00a000;">
64Note that the pure interpreter is quite a bit faster than Lua, but of
65course not as fast as the x86 JIT compiler. Work on the x64 JIT compiler
66is still ongoing.
67</p> 61</p>
68 62
69<h2>Configuring LuaJIT</h2> 63<h2>Configuring LuaJIT</h2>
@@ -119,8 +113,7 @@ make
119</pre> 113</pre>
120<div style="color: #00a000;"> 114<div style="color: #00a000;">
121<p> 115<p>
122You can force a build of the x64 interpreter on Linux/x64 with the 116You can force a native x64 build on Linux/x64 with the following command:
123following command:
124</p> 117</p>
125<pre class="code"> 118<pre class="code">
126make CC="gcc -m64" 119make CC="gcc -m64"
@@ -212,7 +205,7 @@ setenv /release /x86
212</pre> 205</pre>
213<div style="color: #00a000;"> 206<div style="color: #00a000;">
214<p> 207<p>
215Or select the x64 compiler (this only builds the interpreter right now): 208Or select the x64 compiler:
216</p> 209</p>
217<pre class="code"> 210<pre class="code">
218setenv /release /x64 211setenv /release /x64
diff --git a/doc/luajit.html b/doc/luajit.html
index 58dfa32e..66032fdf 100644
--- a/doc/luajit.html
+++ b/doc/luajit.html
@@ -63,8 +63,9 @@ standard Lua interpreter and can be deployed as a drop-in replacement.
63<p> 63<p>
64LuaJIT offers more performance, at the expense of portability. It 64LuaJIT offers more performance, at the expense of portability. It
65currently runs on all popular operating systems based on <b>x86 CPUs</b> 65currently runs on all popular operating systems based on <b>x86 CPUs</b>
66(Linux, Windows, OSX etc.). A port to x64 CPUs is currently ongoing &mdash; 66(Linux, Windows, OSX etc.). A preliminary port to Linux/x64 and Windows/x64
67you can follow its progress in the <a href="http://luajit.org/download.html"><span class="ext">&raquo;</span>&nbsp;git repository</a>. 67is already available (follow the <a href="install.html">build instructions</a>
68to enable it).
68Other platforms will be supported in the future, based on user demand 69Other platforms will be supported in the future, based on user demand
69and sponsoring. 70and sponsoring.
70</p> 71</p>
diff --git a/doc/status.html b/doc/status.html
index 23847da9..d7cdffb5 100644
--- a/doc/status.html
+++ b/doc/status.html
@@ -148,9 +148,8 @@ trace linking heuristics prevent this, but in the worst case this
148means the code always falls back to the interpreter. 148means the code always falls back to the interpreter.
149</li> 149</li>
150<li> 150<li>
151<b>Trace management</b> needs more tuning: better blacklisting of aborted 151<b>Trace management</b> needs more tuning: less drastic countermeasures
152traces, less drastic countermeasures against trace explosion and better 152against trace explosion and better heuristics in general.
153heuristics in general.
154</li> 153</li>
155<li> 154<li>
156Some checks are missing in the JIT-compiled code for obscure situations 155Some checks are missing in the JIT-compiled code for obscure situations
@@ -199,7 +198,7 @@ Nonetheless, it compiles to native code and needs to be adapted to each
199architecture. Porting the compiler backend is probably the easier task, 198architecture. Porting the compiler backend is probably the easier task,
200but a key element of its design is the fast interpreter, written in 199but a key element of its design is the fast interpreter, written in
201machine-specific assembler.<br> 200machine-specific assembler.<br>
202An x64 port is already in the works, thanks to the 201A preliminary x64 port is already available, thanks to the
203<a href="sponsors.html">LuaJIT sponsorship program</a>. 202<a href="sponsors.html">LuaJIT sponsorship program</a>.
204Other ports will follow &mdash; companies which are 203Other ports will follow &mdash; companies which are
205interested in sponsoring a port to a particular architecture, please 204interested in sponsoring a port to a particular architecture, please