G'day all.

On Fri, Apr 19, 2002 at 12:44:49AM -0400, Dan Sugalski wrote:

> Ah. Hmmm. Well, we're already attaching some metadata to ops in a 
> different way--that's what the op and inline keywords are doing. For 
> metadata that use parameters I can see a scheme like you're 
> proposing, though for others it doesn't work.

The reason I tried a general mechanism is that I didn't know exactly
what the optimizer would need before I started.  I still don't.  I
probably won't even when the optimizer is working.  A general approach
gives people a way to experiment, though admittedly little else.

Personally, I'm not sold on the idea either.  (My last attempt to send
out feelers on the issue succumbed to Warnock's dilemma.)

> So things like the potential exception-thrower, dead-end, or 
> deprecated probably ought to be done the way we're doing now, with 
> things that take parameters done differently. (Though I can see 
> parenthesized parameters--branch(3), say)

You could always use a Perl 5 modifier-like syntax:

        inline op eq(in PMC, in PMC, inconst INT : branch_target)
                        : throws(strict_refs), alters_state {
                # ... insert code here ...
        }

Considered it but didn't want to write the parser given that it was a
quick hack.

Cheers,
Andrew Bromage

Reply via email to