Dave Mitchell wrote:
> The Perl equivalent $a = $a + $a*$b requires a
> temporary PMC to store the intermediate result ($a*$b). I'm asking
> where this tmp PMC comes from.

The PMC will stashed in a register. The PMC's value will be
stored either on the heap or in a special memory pool reserved
for temps. (I'm guessing we won't have a real generational
garbage collector, but we will be able to know when/if a temp
is destroyed at block exit.)

Dan can say for sure since he's read the code. (nudge, nudge ;).

BTW, I think we will be able to optimize this code in some
instances to use the floating point registers instead of the
PMC registers. (This is the main reason I'm totally against
run-time modification of the current scope -- essentially
we'd have to treat *everything* as a PMC and we lose all of
our optimization possibilities.)

- Ken

Reply via email to