diff options
author | Mike Pall <mike> | 2016-11-25 09:23:08 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2016-11-25 09:23:08 +0100 |
commit | 6538c8a18711a6eb009def36050acd5f02e42aec (patch) | |
tree | 9353b68edbb1823a7561224a197d2f526ebc2d26 /doc | |
parent | d7243e1de0cb86608956a9af107aff829ad99aeb (diff) | |
download | luajit-6538c8a18711a6eb009def36050acd5f02e42aec.tar.gz luajit-6538c8a18711a6eb009def36050acd5f02e42aec.tar.bz2 luajit-6538c8a18711a6eb009def36050acd5f02e42aec.zip |
Document 47 bit limit for lightuserdata.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/status.html | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/status.html b/doc/status.html index d10033b0..0acf78c9 100644 --- a/doc/status.html +++ b/doc/status.html | |||
@@ -97,6 +97,17 @@ handled correctly. The error may fall through an on-trace | |||
97 | <tt>lua_atpanic</tt> on x64. This issue will be fixed with the new | 97 | <tt>lua_atpanic</tt> on x64. This issue will be fixed with the new |
98 | garbage collector. | 98 | garbage collector. |
99 | </li> | 99 | </li> |
100 | <li> | ||
101 | LuaJIT on 64 bit systems provides a <b>limited range</b> of 47 bits for the | ||
102 | <b>legacy <tt>lightuserdata</tt></b> data type. | ||
103 | This is only relevant on x64 systems which use the negative part of the | ||
104 | virtual address space in user mode, e.g. Solaris/x64, and on ARM64 systems | ||
105 | configured with a 48 bit or 52 bit VA. | ||
106 | Avoid using <tt>lightuserdata</tt> to hold pointers that may point outside | ||
107 | of that range, e.g. variables on the stack. In general, avoid this data | ||
108 | type for new code and replace it with (much more performant) FFI bindings. | ||
109 | FFI cdata pointers can address the full 64 bit range. | ||
110 | </li> | ||
100 | </ul> | 111 | </ul> |
101 | <br class="flush"> | 112 | <br class="flush"> |
102 | </div> | 113 | </div> |