[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: expansion, memoization, and evaluation...

From: Rob Browning
Subject: Re: expansion, memoization, and evaluation...
Date: Tue, 03 Dec 2002 22:07:33 -0600
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/21.2 (i386-pc-linux-gnu)

Mikael Djurfeldt <address@hidden> writes:

> In the on-line (interpreter) case the types are retrieved from the
> arguments and the rewrite rules depend on knowing the bindings of
> variables in the source.  Yes, this is equivalent to what the current
> goops source does, although the only optimization which is done
> currently is supplying a "next-method" efficiently.

You may have already said this, but if the method is called later with
"different types", then does it have to notice that and recompute?

> In the off-line case the types would need to be supplied by
> flow-analysis in the compiler.  This means that just as the
> optimizer needs to be folded into evaluation in the on-line case,
> the optimizer needs to be folded into compilation in the off-line
> case.  That is, the compiler needs to supply the optimizer with
> something equivalent to what compile-method now gets from
> procedure-environment.

Ahh.  Flow-analysis would be great, though I'm not sure we'd be likely
to have it immediately.  Any chance some alternate optimization might
be easier when you're doing offline compilation?  Unfortunately I
don't know enough about what goops is already doing to comment very
concretely yet, but I can imagine that you might be able to get
similar performance with an alternate approach when you can control
the object code you're emitting.

> Does this answer your questions?

I think so, yes, thanks.

Rob Browning
rlb,, and
GPG starting 2002-11-03 = 14DD 432F AE39 534D B592  F9A0 25C8 D377 8C7E 73A4

reply via email to

[Prev in Thread] Current Thread [Next in Thread]