Jonathan Sillito wrote:
> So does that mean, the only set ops will be those that take two registers
of
> the same type?
>
> set_p_p
> set_i_i
> set_s_s
> set_n_n

Anything with a destination register type other than P will remain
'set', as the contents of the register itself are being changed
(e.g. set_i_ic, set_n_i) (This is of course based on my
interpretation of Dan's original posting)

An interesting question, not discussed when the change was
initiated, relates to property assignments eg
  new P0, .PerlArray
  set P0, 6
This most certainly does not set register P0 to six, so the 'set'
opcode should not apply, but it is also not really an assignment
either. Any thoughts?

The primary goal of the exercise was to be able to distinguish
between 'set P0, P1' which simply sets the P0 register equal to
the P1 register, and 'assign P0, P1' which would, somehow,
cause the existing PMC referenced by P0 to acquire the value
of the PMC referenced by P1 (via the vtable method set_pmc).
How to achieve this has never been resolved. The changes of
the other 'set P0, xxx' opcodes to 'assign' are basically for
consistency.
--
Peter Gibbs
EmKel Systems

Reply via email to