On Tue, 27 Aug 2002, Jason Gloudon wrote: > Dan Sugalski wrote: > > This includes all forms of assignment, not just the ASSIGN op kind. > > When we do an ADD Px, Py, Pz, we're calling Px's set_pmc vtable entry > > with a PMC that represents the addition of Y and Z. Whether X changes > > its type is entirely up to it, as that's what it's supposed to > > determine. > > So this means that ADD will have to create a temporary PMC to hold the > result which it then passes to set_pmc ?
I would hope that in the case of ADD, this can (usually) be a temporary integer, float, or bignum, which will then be passed to the destination's set_integer_native. It seems like we may also want to be able to do pointer assignment as we do now if the destination is undef (i.e. "put the result in that register in its `natural' PMC type"). > What does set_pmc then do, in the case of a normal assignment with no > magic or fixed type in order to perform the assignment ? I'll vote for "morph" here. /s