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