On 10/20/2015 05:12 PM, Jeff Law wrote:
> On 10/20/2015 10:05 AM, Andrew Haley wrote:
>> On 10/20/2015 05:00 PM, Jeff Law wrote:
>>> But the technical reality is I can't see a use outside the extended asm.
>>
>> I can.  In the past (and probably still today) GCC did an awful job of
>> allocating registers in a large function.  This was visible in a
>> bytecode interpreter, where the programmer knows that the virtual PC
>> and SP should live in a register.  GCC does not know this and is
>> forever spilling them.  Explicit local reg vars fixed this nicely.
>
> But in that case, what do we guarantee.
> 
> We certainly don't guarantee that those objects will be in their 
> requested register at any point other than at the asm statements.

OK, but this usage did work in the past: that it now doesn't is a
regression.  GCC was quite useful (unique, really) in that it provided
a way to write a decent bytecode interpreter in a HLL.  The world has
lost something significant if this no longer works.

Andrew.

Reply via email to