Chrome and V8

Skip to first unread message

Dave Griswold

Sep 2, 2008, 3:14:32 PM9/2/08
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!
Reply all
Reply to author
0 new messages