logo       

Re: Q: newsub opcodes: msg#00646

lang.perl.perl6.internals

Subject: Re: Q: newsub opcodes

Brent 'Dax' Royal-Gordon <brentdax@xxxxxxxxx> 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



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise