On 5/31/10 6:51 AM, Peter Lobsinger wrote:
To address this, the constant_unfolding branch adds a step to IMCC
instruction selection to check for non-const variants of an
as-of-yet-unfound op. If found, this op is used and constant arguments
are handled by assignments to temporary registers. This is the
opposite direction of constant folding, so I have named it constant
unfolding. Anyone familiar with what this is actually called, please
chime in.
Sounds like a good idea.
The closest term I can think of is "boxing", but that tends to be used
for creating an object wrapper for a variable/constant value. It still
might be appropriate, though, if we extend the idea to include being
able to call PMC variants of ops with int/num/string constant or
register arguments. (Which would even further drop the number of op
variants we need, at the cost of additional PMC headers being created
for ops where we consider the int/num/string variants to be rare.)
Allison
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev