Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]> wrote:

> ...  We could probably do something very clever to abstract it,
> like load all the constants into a reserved, dynamically-sized set of
> registers starting at [INSP]32.

That doesn't work. Registers are accessed per interpreter/thread and now
per subroutine (with the frame pointer). Constants are always the same
(modulo initialization/fixup phase) during program execution.

> A scheme like this would allow us to consolidate the constant and
> register variants of all the ops,

I'd like to, but the meaning of these 2 kinds is too different. Have a
look at JIT code:

  fldl 0x87652468          # get number from const_table
  stpl 0x88(%ebx)          # store it in Parrot reg N1
  mov 4(%ebx), %eax        # get I1

leo

Reply via email to