Dynamically choosing a register

Igor Stasenko siguctua at gmail.com
Tue Jul 24 17:37:12 UTC 2007


On 24/07/07, J J <azreal1977 at hotmail.com> wrote:
>
>  Hello list,
>
> I have a question that is probably silly, but I couldn't find anything on
> the internet that answered it exactly.
>
> I am looking at a register machine version of Squeak, and one thought I had
> to make the number of operations per method even less was that the send
> opcode would put the location that the result should be stored into a
> variable in the new active context.
>
> My question was, in some cases I would like this to be a literal hardware,
> but is that even possible?  Do all register names have to already be in code
> or can a memory location refer to a register and the CPU use it (e.g.
> x86store_op [some memory location that points to a register]  ; double
> indirection)?

i designed a bytecode, and interpreter which puts message results in
#result register.
this simply reduces a stack operations by a half maybe.

as i understood, you want to do similar by telling a send oop, where
to store a result.
well, you may point to stack index, or point to address of memory with
given stack index.
but i'm unsure, is stack in squeak are subject for GC relocations. if
so, then better use index rather than pointers.

>
> Thanks,
> Jason
>
> ________________________________
> PC Magazine's 2007 editors' choice for best web mail—award-winning Windows
> Live Hotmail. Check it out!
> _______________________________________________
> Exupery mailing list
> Exupery at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery
>
>


-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Exupery mailing list