Linking, preparation, and initialization -- minimally and only as needed at execution time
To do:
Verification
Robust preparation and initialization
Execution
Execution of bytecode ✏️ The primary focus of current coding work
190 bytecodes fully operational, including one- and multi-dimensional arrays
To do:
invokedynamic
Calls to superclasses
Inner and nested classes
Exception-tree walking
Annotations
Instrumentation
Instruction-level tracing (use -trace:inst to enable this feature)
Extensive logging data (use -verbose:finest to enable. Caveat: this produces a lot of data)
To do:
Emit instrumented data to a port, for reading/display by a separate program.
Garbage Collection
GC is handled by the golang runtime, which has its own GC
Understanding the Code
A detailed roadmap to the code base can be found in the wiki.
Thanks
The project's home page carries a lengthy note at the bottom that expresses our thanks to vendors and programmers who have made the Jacobin project possible. They are many and we are deeply grateful to them.