"Manu" <[email protected]> wrote in message 
news:[email protected]...
> On 30 March 2014 13:39, Walter Bright <[email protected]> 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.


Reply via email to