Dave Griswold
unread,Sep 2, 2008, 3:14:32 PM9/2/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Strongtalk-general
Hi everyone,
It's been a while, but now that Google has announced Chrome and V8, I
can finally make a little clearer a major reason why I haven't been
pushing Strongtalk development for quite a while: Chrome's new
JavaScript engine V8.
The V8 development team has multiple members of the original
Animorphic team; it is headed by Lars Bak, who was the technical lead
for both Strongtalk and the HotSpot Java VM (as well as a huge
contributor to the original Self VM). I think that you will find
that V8 has a lot of the creamy goodness of the Strongtalk and Self
VMs, with many big architectural improvements:
* open source
* will run (eventually) on Windows, Linux, and Mac
* dynamically JITs to native code
* can run completely independently from the browser
* generates hidden classes behind the scenes, since javascript doesn't
have them (very reminiscent of the 'maps' used in the Self VM).
* is multi-threaded from the ground up, with the ability to share VM
overhead between different OS processes.
* has even smaller object headers than in Strongtalk, making small
object overhead even smaller
* kick-ass compacting, non-conservative garbage collector
The really big deal here is the fundamentally multi-threaded, multi-
process nature of the VM. That is something that we don't really have
the ability to just hack into the Strongtalk VM; it would involve
practically an entire rewrite. Plus, expect a lot of architectural
improvements in the source code based on experience with Self,
Strongtalk and Java Hotspot VMs.
I think these properties will rapidly make V8 the dominant VM for
dynamic languages. It ought to make a great platform for Smalltalk.
Since I am not a Googler, and they are so secretive, I am not yet
privy to all the gory details, but I suspect that it probably won't
use type-feedback like Strongtalk, which would be the one big negative
(and would mean that it wouldn't be as fast as Strongtalk). However I
don't know that for sure, and in any case it will be open source,
which means that it might be a nice platform to add type-feedback-
based inlining to if they don't do it. At any rate, it *does* JIT to
native code, so it will be far faster than Squeak, and probably a lot
faster than Visualworks as well.
We'll have to see what the details are when the code comes out, but
the release of the V8 VM is the beginning of a whole new era for
dynamic languages (Smalltalk, Ruby, Python, etc).
Let the flood of fast new dynamic language implementations begin!