Bootstrapping "Optimizing Squeak"
mwai at ibm.net
Sun Feb 28 02:10:36 UTC 1999
At 01:35 PM 2/27/99 -0700, you wrote:
>this idea came to me a few minutes ago: how hard would it be, and what kind
>of performance penalty would you have to pay to make the bytecode set a
>property of a method such that the vm would execute different methods
>against different bytecode sets? specifically, i'm thinking it would be
>great to have the vm be able to run both the smalltalk bytecode set and the
>java bytecode set. sure, optimally you would have one universal vm bytecode
>set, but i think i nice intermediate step would be to be able to use both
This had been done by IBM Hursley lab. At one point, the IBM folks from
Hursley has mentioned about an 'official' release of UVM (universal virtual
machine) that will be able to execute both Java and Smalltalk bytecode set
to some of its larger customers in Smalltalk Solution conference.
Subsequently, the release of VisualAge Java V1.0 did just that (at least
the beta version if I remember correctly), although it wasn't mention in
anywhere that the VM is capable of interpreting both bytecode sets. You
can actually write a Smalltalk method in VA Java IDE, save it (i.e. compile
it correctly), and execute it. The performance in VA Java 1.0 was
terrible, however, I don't know how much the bloated VM contributed to the
overall sluggishness of the product. I have not tried this in V2.0.
More information about the Squeak-dev