On the 64-bit system, it's not allowing me to use anything that high in the address space. I can request a mmap to 0xfff00000000 and the request will be honored:
I was just reviewing these emails for michael and I don't think I commented on this allocating at 0xfff00000000 would be fine to test the squeak oops space over the 0x8000000000000000 boundary.
It wasn't clear if you were able to allocate below the 0x7FFFFFFFFFFFFFFF boundary to test allocating over that boundary. Also I've never heard if any one has been able to run a Squeak image at say at or near 4GB
Dave: if you look in sqUnixMemory.c you'll see a facility in the memory allocator to artificially skew all oops by a certain amount. If you calculate the amount after the allocation you can place the apparent start of memory at any address you like. There is (or was) some corresponding code in sqMemory.h to allow unskew all oops accordingly to bring them back into the allocated memory, but I've no idea if anyone removed that since (or even if it didn't make it out of the 64-bit prototype sources and into the final repository version). This would seem by far the easiest way to force oops (as seen by the Interpreter) to occupy interesting borderline address ranges.
Cheers, Ian