Hi again,

For VM issues below are some more info about the Animorphic VM from
Gilad Bracha at Sun. (His answers to my follow-up q's)

BTW, since we have David Simmons 'on the hook', could you comment on how
the AOS VM would compare performance-wise to Self and/or AMV? I guess
difficult for AVM but based on the techniques used (esp. dynamic
profile-guided compilation).

Cheers,

Robert

---------- Forwarded message ----------
Date: Mon, 22 Oct 2001 11:40:15 -0700
From: Gilad Bracha <gilad.bracha / sun.com>
To: Robert Feldt <feldt / ce.chalmers.se>
Subject: Re: Info/papers on Animorphic VM tech?

At 01:43 AM 10/21/01, you wrote:
>On Sat, 20 Oct 2001, Gilad Bracha wrote:
>
>Ok, so AVM was not simply a combination of you and your fellow resarchers
>previous work on self etc. So I couldn't read up on the techniques used
>from the papers published prior to te AVM?! I guess there has been a lot
>of work on dynamic compilation after that though.

I think reading the Self research is extremely valuable. The various papers 
by David Ungar, Craig Chambers and especially Urs Hoelzle are very 
relevant. There has been a lot of work on dynamic compilation after that, 
but the Self work was so far ahead that it is still worth reading. Much of 
the later work was Java specific. It often assumes a static type system, or 
focuses on Java features like precise exceptions. You still should 
follow  all that, it's just that a lot may not be relevant to a dynamic 
language like Ruby.

> > We are currently engaged in an effort to release Animorphic Smalltalk.
> > Unfortunately,
> > the source is restricted to the Smalltalk code; the VM was written in C++,
> > and will be released as a binary only.
> > The release will most likely be governed by a Berkeley style license 
> (i.e.,
> > very liberal). I hope we can get a release out soon, but cannot give a 
> firm
> > time table.
> >
>Ok, sounds interesting but do you think AVM has a future without
>the VM sources released?

No, I don't think AVM has a future per se. However, it is important to 
release it for a number of reasons.

>I mean even if its still fast compared to
>present-day ST's it would not evolve as tech develops.

It is still very fast compared to existing Smalltalks.
I know Cincom has made some improvements to their VM, including the use of 
PICs, which has had a dramatic effect in certain cases. But overall, not 
much progress has happened on the Smalltalk VM front in recent years, 
because of the focus on, and ascendance of, Java.

The important think is to demonstrate what can be achieved, to give a 
impetus for future work on dynamic languages.

>And since the
>dyncompiler will have to emit machine code it is sparc-specific?


The system runs on Windows NT/2000. In fact, it does not run well on 
Win95/98 due to thread scheduling problems that we never investigated. I've 
never tried it on Me or XP.
There are both OS and machine dependencies. This is an interactive system. 
The GUI especially has Windows dependencies. The dynamic compiler generates 
Pentium code. Also, the interpreter is dynamically generated assembler.

>Is this
>release primarily of historical/academic interest or do you anticipate
>real usage?
>
>(Sorry if this is naive; I haven't studied the ST-specific stuff related
>to AVM; maybe there's a lot there that is important to the ST
>community.)

There is a lot that is of interest to the Smalltalk community. We have had 
repeated requests from the Smalltalk community to release this.


> > When the release comes out, there may be some more documentation  which
> > might be very interesting to you. However, that documentation does not
> > exist at the moment - someone needs to write it. It isn't clear if some 
> one
> > really will. At the moment, all the documentation that exists is on my web
> > page.  You've probably looked at it. It isn't much, and it may not be
> > entirely accurate.
> >
>IMHO, it seems you'd be better of releasing it as-is and then
>answer any qeuries that arises. Then you'd get the docs
>"written" in a demand-driven fashion... ;-)

The main issue with the release is actually legalisms.


Cheers,  Gilad

*********************************************
Gilad Bracha
Computational Theologist
Sun Java Software
http://java.sun.com/people/gbracha/