diff options
| author | Mike Pall <mike> | 2017-01-17 12:21:12 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2017-01-17 12:21:12 +0100 |
| commit | c94b921f924c1b37fea52e34f4e01ba8b37d77d0 (patch) | |
| tree | b02593a07489fe04092ecc03a1e7d30c2a36af90 /doc | |
| parent | c1981676907cedde9ffe2bbdfb28d2f786ff69d9 (diff) | |
| download | luajit-c94b921f924c1b37fea52e34f4e01ba8b37d77d0.tar.gz luajit-c94b921f924c1b37fea52e34f4e01ba8b37d77d0.tar.bz2 luajit-c94b921f924c1b37fea52e34f4e01ba8b37d77d0.zip | |
LJ_GC64: Add build options and install instructions.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/extensions.html | 3 | ||||
| -rw-r--r-- | doc/install.html | 15 |
2 files changed, 12 insertions, 6 deletions
diff --git a/doc/extensions.html b/doc/extensions.html index b048f137..cb9be3f4 100644 --- a/doc/extensions.html +++ b/doc/extensions.html | |||
| @@ -210,7 +210,8 @@ bytecode (e.g. from Lua 5.1) is incompatible and cannot be loaded. | |||
| 210 | <p> | 210 | <p> |
| 211 | Note: <tt>LJ_GC64</tt> mode requires a different frame layout, which implies | 211 | Note: <tt>LJ_GC64</tt> mode requires a different frame layout, which implies |
| 212 | a different, incompatible bytecode format for ports that use this mode (e.g. | 212 | a different, incompatible bytecode format for ports that use this mode (e.g. |
| 213 | ARM64). This may be rectified in the future. | 213 | ARM64 or MIPS64) or when explicitly enabled for x64. This may be rectified |
| 214 | in the future. | ||
| 214 | </p> | 215 | </p> |
| 215 | 216 | ||
| 216 | <h3 id="table_new"><tt>table.new(narray, nhash)</tt> allocates a pre-sized table</h3> | 217 | <h3 id="table_new"><tt>table.new(narray, nhash)</tt> allocates a pre-sized table</h3> |
diff --git a/doc/install.html b/doc/install.html index efeda33c..230e9386 100644 --- a/doc/install.html +++ b/doc/install.html | |||
| @@ -175,6 +175,14 @@ MSVC or WinSDK.</li> | |||
| 175 | Please read the instructions given in these files, before changing | 175 | Please read the instructions given in these files, before changing |
| 176 | any settings. | 176 | any settings. |
| 177 | </p> | 177 | </p> |
| 178 | <p> | ||
| 179 | LuaJIT on x64 currently uses 32 bit GC objects by default. | ||
| 180 | <tt>LJ_GC64</tt> mode may be explicitly enabled: | ||
| 181 | add <tt>XCFLAGS=-DLUAJIT_ENABLE_GC64</tt> to the make command or run | ||
| 182 | <tt>msvcbuild gc64</tt> for MSVC/WinSDK. Please check the note | ||
| 183 | about the <a href="extensions.html#string_dump">bytecode format</a> | ||
| 184 | differences, too. | ||
| 185 | </p> | ||
| 178 | 186 | ||
| 179 | <h2 id="posix">POSIX Systems (Linux, OSX, *BSD etc.)</h2> | 187 | <h2 id="posix">POSIX Systems (Linux, OSX, *BSD etc.)</h2> |
| 180 | <h3>Prerequisites</h3> | 188 | <h3>Prerequisites</h3> |
| @@ -584,14 +592,11 @@ intend to load Lua/C modules at runtime. | |||
| 584 | </li> | 592 | </li> |
| 585 | <li> | 593 | <li> |
| 586 | If you're building a 64 bit application on OSX which links directly or | 594 | If you're building a 64 bit application on OSX which links directly or |
| 587 | indirectly against LuaJIT, you need to link your main executable | 595 | indirectly against LuaJIT which is not built for <tt>LJ_GC64</tt> mode, |
| 588 | with these flags: | 596 | you need to link your main executable with these flags: |
| 589 | <pre class="code"> | 597 | <pre class="code"> |
| 590 | -pagezero_size 10000 -image_base 100000000 | 598 | -pagezero_size 10000 -image_base 100000000 |
| 591 | </pre> | 599 | </pre> |
| 592 | Also, it's recommended to <tt>rebase</tt> all (self-compiled) shared libraries | ||
| 593 | which are loaded at runtime on OSX/x64 (e.g. C extension modules for Lua). | ||
| 594 | See: <tt>man rebase</tt> | ||
| 595 | </li> | 600 | </li> |
| 596 | </ul> | 601 | </ul> |
| 597 | <p>Additional hints for initializing LuaJIT using the C API functions:</p> | 602 | <p>Additional hints for initializing LuaJIT using the C API functions:</p> |
