My
understanding is that this limitation is on virtual addresses
(physical
addresses are often even _more_limited).
-miles
Thats physical addresses
.. I think the poster was talking about virtual addresses (that is,
before the virtual address translation).
--Tim
On Sat, Jun 15, 2013 at 10:35 PM, Miles Bader <miles@gnu.org> wrote:
Coda Highland <chighland@gmail.com> writes:
The problem is that on modern OSes, you can't assume that you can
fit a 64-bit pointer in 48 bits.
My impression was that current implementations of the x86-64
architecture only use 48 bits of addresses, requiring the upper 16
bits to be identical. Has this changed with very recent
implementations?
Unless I'm wrong, ASLR isn't restricted to 48 bits. Virtual memory
allocation can use whatever addresses it wants.
This is (part of) why LuaJIT demands to use the low 2GB.
Yeah the 2GB limitation is a huge lose... but that's obviously a lot
more restrictive than necessary...
Well, there are ways around it in LuaJIT.
/s/ Adam
Coda Highland <chighland@gmail.com> writes:
The problem is that on modern OSes, you can't assume that you can
fit a 64-bit pointer in 48 bits.
My impression was that current implementations of the x86-64
architecture only use 48 bits of addresses, requiring the upper 16
bits to be identical. Has this changed with very recent
implementations?
This is (part of) why LuaJIT demands to use the low 2GB.
Yeah the 2GB limitation is a huge lose... but that's obviously a lot
more restrictive than necessary...
-miles