This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 10/20/2015 10:39 AM, Andrew Haley wrote:
I would disagree. What's documented is essentially what we are committing to.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.
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.
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 ;(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.
jeff
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |