On 5 April 2010 15:42, David T. Lewis <[email protected]> wrote:
> On Mon, Apr 05, 2010 at 03:13:51PM +0300, Igor Stasenko wrote:
>> Here the proof of concept implementation.
>
>
>> So, here the questions, which i like to be answered:
>> 1. reserve a numbered primitive
>
> Probably a named primitive in the interpreter is best, see comment in
> John's new primitiveMicrosecondClock. I don't think that there is any
> performance implication once the primitive name has been resolved once.
>
this is true, but numbered primitive could be inlined into an interpret() loop.
Then this will make some difference :)

>> 2. discuss the calling convention
>> 3. add a 'platform id' code to VMMaker, and let language side know ,
>> on which platform id VM currently runs on (through additional
>> primitive)
>
> I'm not sure how to handle #3, but there are a lot of different CPUs
> and operating systems out there, not to mention all the different modes
> of say an Intel CPU. So it may not be trivial to answer the question
> "can this snippet of compiled code be executed in my current runtime
> environment".
>
Well, a 2 bytes for code gives us 65536 variants. If this is not
enough, we could use 32 bits for platform id code.
Also, i thinking , maybe we could use masks for platform id,
so, then one could generate/use the same native code for multiple
kinds of OS-es.
But then , a number of variants will be much more limited, because
platform id will be treated as a bit field, instead of integer value.

> Dave
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to