On Tuesday, 29 May 2012 at 06:56:40 UTC, Dmitry Olshansky wrote:
On 29.05.2012 10:52, Era Scarecrow wrote:
I considered that, but then you actually limit your address
space to
2^63,
No you don't. Since pointer is already a pointer to word-sized
object. It has 2 last bits == 0. Always. There is no escaping
of this fact. And no your address space is intact. All it has
to do is assuming proper alignment, and you sure have it since
you _allocate_ it.
To be more specific most allocator go even farther and provide
8bytes aligned pointer.
Don't you mean the first 2 bits? (being least significant). Even
so, that seems more like its working out of coincidence, that or
you can never use more than 25% of your memory in a single
address space in your program (ever).