Dreams - things we would like to find time (and financing) to work on
There are a bunch of ideas which are waiting to be implemented:
- Redesigning the VM
using a more flexible (and language independent) object layout, to
allow for easier integration of alien languages, to support the idea
of a global (world-wide) Smalltalk image (without a need for ugly corba,
to talk to other objects).
- Redesigning the VM,
trying new memory management algorithms (train)
- exposing the semantics of bytecodes
All of the bytecode compilation, interpretation and jitting should be
done on the Smalltalk class level; in fact, all of the above should be
user-modifyable code in Method (or subclasses).
This would enable everybody to tune the virtual machine to personal needs,
and to use Smalltalk to explore new languages (at full speed).
Late note: we started the OpenVM project at CS6 - this will get rid of bytecodes alltogether.
(bytecodes are not very object oriented and should be removed - much more reflection is
possible if we go the lisp way...)
Ongoing work - things we are working on
- Finishing the Smalltalk/Java integration
The second part will allow recompilation (i.e. 'accepting') java
methods within the Smalltalk browser.
- Add dynamic customization to the JIT compiler
This will boost the performance of JIT compiled code.
However, a trade has to be made between recompilation speed
and execution speed - to avoid spending a lot of time in
the JIT compiler for methods which are seldom invoked.
- image interchange between different platforms
- different GC algorithms for special needs (plug-in GC modules, realtime support)
- multiple oldSpaces
- shared object spaces, attach/detach to shared spaces
- support for continuations
Doc $Revision: 1.13 $ $Date: 2016/09/14 09:41:12 $