[squeak-dev] [NativeBoost] Need your ideas, what platform-neutral assembler syntax you would like to have

Gerardo Richarte gera at corest.com
Thu May 12 15:22:02 UTC 2011


On 05/10/2011 08:34 PM, Igor Stasenko wrote:
> Things i don't like: register naming.
> In cog you should use following register names:
> 	FPReg := -1.
> 	SPReg := -2.
> 	ReceiverResultReg := GPRegMax := -3.
> 	TempReg := -4.
> 	ClassReg := -5.
> 	SendNumArgsReg := -6.
> 	Arg0Reg := -7.
> 	Arg1Reg := GPRegMin := -8.
> 	DPFPReg0 := -9.
>
> They are mapping 1:1 to real registers on your machine.

"Our" names are pretty similar to those, and I don't really see they are
1:1 mapping to architecture (though at some point you will have that
mapping). The 1:1 mapping is not on names, but latter on implementation,
and I think that has to do with exactly what Cog wants: a fast
implementation.

FP is frame pointer, and it's the generic name for what in intel is BP
(in gdb you can do either $rbp or $fp)
SP is a generic name for the stack pointer (in gdb you can use $sp or $rsp)
ReceiverResult has to do with the use, nothing to do with processor
etc.

not sure what DPFPReg0 stands for.

I think the names are good for a VM implementation. Though maybe not for
a generic assembler. I think the that might be the difference between
Cog's and NativeBoost's needs

    gera



More information about the Squeak-dev mailing list