Skip to content

Version after one year of work on Jacobin

Pre-release
Pre-release
Compare
Choose a tag to compare
@platypusguy platypusguy released this 08 Aug 05:23
· 2416 commits to main since this release

This is a pre-alpha release: a simple proof of concept. This release includes executables for Windows (jacobin.exe) and Mac (jacobin). If you're on other platforms, here's how you build Jacobin: install go (1.18+), download the src directory from this project, run go build and voilà an executable. Jacobin has no other dependencies.

To run Jacobin:

Jacobin expects to find a JDK installation at the location pointed to by the JACOBIN_HOME environment variable. It supports any version of the JDK up through Java 17.

To run a class: jacobin nameOfClass.class (Note that, unlike the JVM, you need to use the .class extension of the file)

At present, Jacobin runs only a few simple classes. Some of them can be downloaded from the testdata folder. They do simple things: print a string 10 times (Hello.class), perform simple computations and print the result (Hello2.class, Hello3.class). If you want to see the Java source code, it's in the comments for each class in the wholeClassTests directory. For example, the Java source code to Hello3.class is in the comments in Hello3_test.go

Jacobin can be run with many command-line options that provide a lot of information about the classes being loaded (there are almost 1500 classes loaded for any given run) and you can even do instruction tracing. Some of those command-line options are explained in this post.