On Jun 3, 2006, at 23:45, Charles Reiss wrote:
<stm_frontend.pod>
<cite>
=item new Px, .STMRef
Creates a new transactionally managed variable which initially
contains
a clone of Px.
</cite>
The C<new> opcode is defined as:
new(out PMC, in INT)
That means that it is creating ("out") a new destination variable. it
can't take an existing C<Px> PMC, because the register allocator
diregards any existing register Px due to the "out" semantics of the
opcode.
The 3-arg constructor is ok though.
I'd propose to change the stm opocode syntax to that one used in Parrot
ops files, as e.g. in:
$ perldoc src/ops/pmc.ops
leo