Proposed doc update for Explicit Reg Vars 3/3

Jeff Law law@redhat.com
Tue Oct 20 16:55:00 GMT 2015


On 10/20/2015 10:39 AM, Andrew Haley wrote:
> On 10/20/2015 05:22 PM, Jeff Law wrote:
>> On 10/20/2015 10:15 AM, Andrew Haley wrote:
>>>> 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.
>>
>> It still works, but again, it's not a guarantee, never has been.
>
> I hear you, but what always mattered most was what happened in
> practice, and in practice it worked rather nicely.  The question,
> then, isn't what we can guarantee but what usually works.
I would disagree.  What's documented is essentially what we are 
committing to.

Given the way the optimizers and register allocation work, I don't think 
we can make guarantees around this use of the feature.  It happens to 
still work and may work forever, but I'm not going to set it in stone.


>
> And as we know, the behaviour of GCC isn't driven by the whim of the
> maintainers but by the needs of our users, especially kernel
> programmers!  Authors of interpreters don't have quite so much
> influence.
Actually interpreters have had a fair amount of influence through the 
years.  Sadly, it's usually been focused on avoiding pathological 
behaviour because of the highly connected CFGs we get in interpreter 
engines ;(

jeff



More information about the Gcc mailing list