Dreams - things we would like to find time (and financing) to work on
There are a bunch of ideas which a 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
od 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
used 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).
Ongoing work - things we are working on
- Finishing the Windows-NT / Windows-95 port
This is almost finished and currently being beta tested.
(well, it is already delivered - and may never get out of beta test,
until Windows shows up as being as stable as Unix systems have always been ...-)
- Finishing the Smalltalk/Java integration
The second part will allow recompilation (i.e. 'accepting') java
methods within the smalltalk browser.
- Converting tools to make use of the GUI Painter
All new tools are developed using the GUI Painter;
old tools are converted over time.
(the FileBrowser is now using a MenuBuilders menu)
- 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.
- pool dictionaries
(well - you can easily life without them ...)
- image interchange between different platforms
- different GC algorithms for special needs (plug-in GC modules, realtime support)
(real time support is now available as an option)
- multiple oldSpaces
- shared object spaces, attach/detach to shared spaces
Doc $Revision: 1.4 $ $Date: 2000/04/07 08:18:15 $