VM improvement: speeding up failing calls of functions in missing modules

Jake Hamby jehamby at anobject.com
Fri Jan 28 23:23:15 UTC 2000


On Fri, 28 Jan 2000, Duane Maxwell wrote:

> If a shared library could be closed and reopened from within the VM, you
> could do some really interesting stuff under certain enlightened platforms,
> such as translate, compile and test a plugin without ever leaving the
> Squeak environment.  Under UNIX the external stuff could be done with a
> plugin that calls "system()", on the Mac this could be done with the
> AppleScript plugin and CodeWarrior.

Hmm, this is one of the things I was thinking about when I posted my last
message about what it would take to translate simple Smalltalk or
subset-of-Smalltalk programs to C using the current translator.  I phrased
it in terms of being able to compile simple stand-alone "Hello world" type
programs to show that you wouldn't need to have the entire Squeak
environment in the runtime, but I was also thinking about the implications
of being able to call the C compiler in the background and reload the
translated version as a module.

If we could do this on the fly, that'd be an excellent compliment to
something like JITter for a really high-performance VM:  do quick
JIT-compiles of everything, then run the C compiler in the background to
do a fully optimized translation of those classes (or individual messages) 
that are run frequently.  Hmm, I wonder if there would be any bad
interactions between GC's on the Smalltalk and C side (assuming the C side
was linked with something like the Boehm GC).

-Jake





More information about the Squeak-dev mailing list