What would be the consequence of implementing interfaces as fat pointers ?

dajones dajones at hotmail.com
Tue Apr 1 01:33:05 PDT 2014


"Manu" <turkeyman at gmail.com> wrote in message 
news:mailman.122.1396231817.25518.digitalmars-d at puremagic.com...
> On 30 March 2014 13:39, Walter Bright <newshound2 at digitalmars.com> wrote:
>>>
>>> Two pointers structs are passed in register, which is fast. If that
>>> spill, that
>>> spill on stack, which is hot, and prefetcher friendly.
>>>
>>
>> That underestimates how precious register real estate is on the x86.
>
>
> This is only a concern when passing args. x86 has huge internal register
> files and uses aggressive register renaming,

If we could use them that would be great but we cant. We have to store/load 
to memory, and that means aprox 3 cycle latency each way. The cpu cant guess 
that we're only saving it for later, it has to do the memory write, and even 
with the store to load forwarding mechanism, spilling and reloading is 
expensive.




More information about the Digitalmars-d mailing list