New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NaN boxing on 64 bit systems #2476
Comments
It was actually only 32-bit at first. But when was it removed? Looking at the header, NaN boxing seems to be supported by (some) 64-bit architectures, or am I missing something? |
You can't compile NaN boxing on 64-bit right now because of: Lines 32 to 34 in d17506c
|
64bit NaN boxing never had been implemented for mruby, but for LuaJIT which I steal NaN boxing idea. Since I don't have 64bit machine that only use lower 48 bits for sure, it's too hard for me to implement it. If someone comes with the patch, I am happy to merge. |
Oops, I forgot about #1441. I will fix. |
I noticed that NaN boxing was originally supporting 64 bit pointers and later removed. I couldn't find why this was the case but thought maybe it had to do with this:
AMD architecture uses only the lower 48 bits of an address, and bits 48 through 63 must be a copy of bit 47 or the processor raises an exception.
So maybe it's possible to add it back with this knowledge. I don't have an AMD core to test.
The text was updated successfully, but these errors were encountered: