Last updated at 3:01 pm UTC on 8 March 2007
To do before 1.0:
- DONE Implement more primitives (to provide a noticable real world speed improvement)
- DONE speed up the bytecode compiler
- DONE speed up opening large explorers (slow Morphic code)
- DONE Fix bugs
- DONE Create an ExuperyMethodContext and add decompilation if modified (e.g. if #instVarAt:put: is called).
- DONE Implement interrupt checking so the profiler and Alt-. work.
- Compile in the background.
- DONE Decompile methods if they are changed (track changes)
- Improved profiling for automated method compilation.
- Speed up compilation
- Fix more bugs (I'm sure they're there).
- Compile BlockContext>>value and ExuperyBlockContext>>value
- More primitives and tuning (to provide a practical speed improvement i.e. worth using Exupery)
- Implement cascades
- Release 1.0
Other projects that could be done around a 1.0 (or even started now):
- Compile the call to a C primitive. This is to optimise calls to primitives that are not worth re-implementing in Exupery.
- Port to other OSes
- Port to x86-64
- Other CPU ports
- Floating point (without SSA)
- Fast 32 bit numbers (Roughly the same as floating point numbers, just uses integer instructions rather than floating point ones).
- Refactor the customer tests so they can test the VM as well.
- Compile FFI calls as primitives if possible.