Join us at the Sydney Smalltalk Users Group tonight where Bryce Kampjes will be speaking about the Smalltalk compiler he is working on.
Exupery is a bytecode to machine code compiler for Squeak Smalltalk. The entire compiler is fully written in Smalltalk. It's designed to combine a dynamic type feedback JIT with full traditional optimisation.
The problem with traditional JITs is they try to balance fast compilation for infrequently used methods with generating good code for hot spots. This is a mistake. It's impossible to do both jobs well. An
interpreter will be faster for a method that's only executed once because compile time dominates. If the method is executed a lot, it's a hot-spot, then compilation overhead will be amortised.
A compiler for a multimedia system can not afford delays and should produce high quality code. This rules out compiling just before executing the method, and suggests using a slower compiler running in a background thread. Just the architecture that would suit writing the compiler in Smalltalk... And with time a lot more optimisations are possible.
Date: Monday 15th Nov 2004
Time: 6:00 PM
Venue:
James Squire Brewhouse
22 The Promenade, King Street Wharf
King St Wharf, Sydney
Tel : 02 8270 7999
Head down to the bottom of King st Turn right and it is a few hundred metres past some other restaurants almost opposite the Foxtel sign across the water
We'll be in the Ward room, which is an enclosed boardroom at the back of the James Squire.
Go through the restaurant, past the left hand side of the bar and turn right.
Here is a url for the venue: http://www.malt-shovel.com.au/brewhouse.asp?Sydney=true
Sign up to the Sydney Smalltalk Users Group mailing list here: http://lists.openskills.net/cgi-bin/mailman/listinfo/sydney-stug
I've been to that meeting place (last summer when I visited). It's a great venue - a brewpub with internet access :)