www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - x32-abi + D = fat pointers?

reply "Tove" <tove fransson.se> writes:
I just stumbled upon this:
https://sites.google.com/site/x32abi/home

/rant

I remember back in the glorious MC68000 days(24bit addressing)... 
leaving 8bits for creative optimizations... until 68020 took away 
all the fun that is.

So... I was kinda upset that x86-64 was explicitly designed not 
to permit such tricks despite having a 48bit addressing mode... 
hmpf shooting oneself in the foot is the fun part of programming.

/end rant

Anyway... x32-abi to the rescue, access to 64bit registers just 
as normal... but using efficient 32bit pointers, suddenly there 
are 32 bits free to play with, D-slices passed around in a single 
normal 64bit register anyone? actually 32bits is a lot... one 
could also possibly imagine creative flags for the GC.
Apr 08 2012
parent Kevin Cox <kevincox.ca gmail.com> writes:
On Apr 8, 2012 6:24 PM, "Tove" <tove fransson.se> wrote:
 I just stumbled upon this:
 https://sites.google.com/site/x32abi/home

 /rant

 I remember back in the glorious MC68000 days(24bit addressing)... leaving
8bits for creative optimizations... until 68020 took away all the fun that is.
 So... I was kinda upset that x86-64 was explicitly designed not to permit
such tricks despite having a 48bit addressing mode... hmpf shooting oneself in the foot is the fun part of programming.
 /end rant

 Anyway... x32-abi to the rescue, access to 64bit registers just as
normal... but using efficient 32bit pointers, suddenly there are 32 bits free to play with, D-slices passed around in a single normal 64bit register anyone? actually 32bits is a lot... one could also possibly imagine creative flags for the GC.

There could also be a mode where if you need more than 32bits you could use
slow odd-sized pointers.
Apr 08 2012