aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMike Pall <mike>2016-11-25 09:23:08 +0100
committerMike Pall <mike>2016-11-25 09:23:08 +0100
commit6538c8a18711a6eb009def36050acd5f02e42aec (patch)
tree9353b68edbb1823a7561224a197d2f526ebc2d26 /doc
parentd7243e1de0cb86608956a9af107aff829ad99aeb (diff)
downloadluajit-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.html11
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
98garbage collector. 98garbage collector.
99</li> 99</li>
100<li>
101LuaJIT on 64 bit systems provides a <b>limited range</b> of 47 bits for the
102<b>legacy <tt>lightuserdata</tt></b> data type.
103This is only relevant on x64 systems which use the negative part of the
104virtual address space in user mode, e.g. Solaris/x64, and on ARM64 systems
105configured with a 48 bit or 52 bit VA.
106Avoid using <tt>lightuserdata</tt> to hold pointers that may point outside
107of that range, e.g. variables on the stack. In general, avoid this data
108type for new code and replace it with (much more performant) FFI bindings.
109FFI 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>