links to this page:
Exupery
Swiki Page List
ExuperysToDo
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.