[self-interest] Re: Self bytecodes

Stefan Matthias Aust sma at netsurf.de
Sat Jun 5 14:11:03 UTC 1999

At 08:58 AM 6/1/99 -0300, Douglas Atique wrote:

>The Self Group has already done a lot to prove Self to be efficient. Now
>someone should make it portable. This won't be straightforward if one
wants to
>incorporate all the benefits of the adaptive compilation, so I want to make
>Self run slowly on an x86-platform in a way such that the VM code can be
>compiled for SPARC, MIPS, Acorn, etc. Of course, the FIRST step is to
>neutralize the processor dependency, so after that we'll have code that is
>still dependent on the operating system.

It's an interesting project and a well apreciated idea.  However I'd think
it might be easier to start with a new portable VM from scratch.  If you
then provide the same set of primitives, it should be able to run all the
Self code.

Whatever approach you follow, you can internally transform the "offical"
set bytecode set into something that can be interpreted more efficient.
This is similar to Squeaks Jitter technology. That Just In Time compiler
takes the original Squeak instructions and transforms them into a new
stream of threaded code instructions that can be interpreted with less
overhead and is therefore faster.

Instead of dealing with extension instructions and the unknown number of
argumens, the problem whether return values are needed or not and implicit
method returns, a new instruction set could make all of this explicit.  I'd
suggest to use a direct or indirect threaded code approach here.

As a second step could could inline condition and looping instructions and
then you should get a similar performance as Squeak which is quite
aceptable for an interpreted system.

>You can see the example of Java, they have first provided a UI class 
>library that was specially written for each platform (the heavyweight
>components), then they evolved by providing Swing

I think, that was more a political decision than a technical.  Both
VisualWorks Smalltalk and Squeak started with an emulated GUI just because
that was easier to create.  Java also could have started with a non-native
GUI from the beginning.  IMHO they underestimated the problems of a cross
platform native GUI.  With the decay of ParcPlace a lot of Smalltalk
programmers with experiences of VW's GUI joined Sun and they could do Swing.

>In fact, before that I would like to study more carefully the primitives
>available to define a minimal primitive set, perhaps a "microkernel VM" :-)

That's a good idea.

>Jecel's ideas about the Squeak Smalltalk system, in which much more is
>implemented in the language itself than in Self, make much sense to the
>evolution of Self in my opinion.


Stefan Matthias Aust // Truth Until Paradox!


eGroups.com home: http://www.egroups.com/group/self-interest
http://www.egroups.com - Simplifying group communications

More information about the Self-interest mailing list