[self-interest] Performance?
Jecel Assumpcao Jr
jecel at merlintec.com
Mon Jul 5 17:14:34 UTC 2004
A page with lots of meaningless numbers to add to our meaningless
numbers: http://minnow.cc.gatech.edu/squeak/768
David Ungar mentioned:
> And SPARC should be better than PPC: those wonderful register windows.
Interesting! People keep complaining about register windows in my
designs and quoting the ECOOP'95 paper by Urs and you as proof that
this is a bad idea. Of course, that was before the UltraSparc.
Mario Wolczko listed among Self's advantages over HotSpot:
> - has a much faster bytecode verifier ;-)
I understood that to mean "none", but have never actually tried
generating some bogus bytecodes sequences to see what the compilers
would do.
On Sunday 04 July 2004 14:38, Jakob Praher wrote:
> * how would you design a self vm from scratch these days?
As you mentioned below, doing it in Self would be the best approach
(though I am doing it in hardware). Here is a very old message listing
some objections to doing things this way:
http://www.merlintec.com/old-self-interest/msg00016.html
> * what are the things, learned?
> -> for instance the heap word structure, with the
> two bit tag fields, were they big problems when introducing 64 bit
> support?
There isn't any 64 bit support, yet. But it should work just fine with
the two bit tag fields. Of course, it is extremely tempting to use all
these extra bits to expand the tag to 8 bits (or even more). There was
an interesting discussion about this in the Squeak VM list since they
are currently working on a 64 bit port.
> * self-in-self would be interesting (I know the jikes rmv design,
> which is a java vm in java, they use some kind of runtime
> image, which must be created with a java vm once and then gets
> dumped to a file. they use a simple image loader, which produces
> all the runtime data structures for the vm to launch it).
> -> what are design issues here
Little Smalltalk and the current version of Slate have a similar scheme
where they have a special "initial image" generation.
Bootstrapping by starting with something that runs on top of Self (like
my old tinySelf 1) allows you to avoid having to deal with these kind
of issue until near the very end. You need some planning to be sure
that you will be able to replace piece by piece the whole underlying
system to the point of running as a stand alone system.
> I could imagine that a self vm could lay the ground for a vm that is
> capable of different language/runtime systems, like the paper that
> implemented java on top of the self vm. This would especially be
> valuable, given the soup of different languages/runtimes we have today
> (java,python,.net, ... )
I imagine you are talking about this paper (and not the Pepe one):
http://www.merlintec.com/vmworkshop99/sub.pdf
> Are you serious about relaunching a self project
> again? It could be rather interesting...
Don't you consider the release of Self 4.1 back in 2000 after the
project had been officially closed in 1995 as a relaunch?
In fact, by looking at the O'Reilly programming languages poster you
would think that Smalltalk is totally dead and has been replaced by
Self:
http://www.oreilly.com/pub/a/oreilly/news/languageposter_0504.html
-- Jecel
More information about the Self-interest
mailing list