At 09:10 AM 8/4/00 -0600, Tom Christiansen wrote:
> >At 12:47 AM 8/4/00 -0400, Ken Fox wrote:
> >>John Tobey wrote:
> >> > The Perl 5 (and older) behavior may preclude some optimizations.
> >>
> >>I can't think of any optimizations @_ assignment precludes.
> >>If we don't analyze dataflow to figure out if a sub modifies its
> >>args, then we just assume it will.
>
> >If we know how a sub accesses @_, we can optimize appropriately. If we
> >don't know, odds are we're not doing the sorts of optimizations that would
> >need the information.
>
>And to know whether you can know, there should be disqualifiers, like
>
> do FILE
> eval STRING
> &fnaddr
> &$fnname
Anything that hits the lexer's problematic with the optimizer, as is
anything that hits C code that's not ours, depending on what we allow it to
do. (And as I'm up for extensions to do whatever the heck they want, that's
pretty much anything)
Indirect calls might not be a problem, depending on how much flow analysis
we can do in the optimizer. While that won't be much in the
on-the-fly-compile version (a 10s runtime with a 50s compile time's not a
good thing...) I'm hoping the optimizer will be able to get darned
aggressive when given free rein.
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk