Go back to the application

#

About IJVMore

IJVMore is an application to run, explore and debug IJVM binaries in the browser. As a subset of the Java Virtual Machine, IJVM binaries are used in the Systems Programming Project (SyPP) at the Vrije Universiteit Amsterdam. You can find more information about IJVM internals on wikipedia.. This application was developed by me, Elias Groot.

#

Who is this for?

Anyone! Whether you are a (VU) student, TA or just someone interested in the IJVM ISA, you can use this application. Binaries to run with are freely provided by the VU in this repo. Compiling your own binaries is also possible with GoJASM, read more about it here.

#

But we already have WebIJVM...

I know, and it is great. You should definitely use it, especially if you like performance. This application is fully inspired by Jur van der Berg's implementation. However, when I was working on my own IJVM implementation as a student taking the CoPP (now SyPP) course, I found myself wanting to run custom tests the reference implementation (especially for the advanced binaries). Stepping through them in WebIJVM was not feasible and IJVMore is a solution to that.

Even though IJVMore is not as performant as WebIJVM, it provides custom scripting capabilities and allows users to easily download and upload custom scripts and snapshots. Hopefully, this eases the debugging process somewhat.

#

What about the tests?

To serve as a good reference, IJVMore passes all basic and advanced tests as provided by the VU SyPP course. No bonus functionalities (or bonus tests) are implemented at this point.

The specific commit tested against can be found here.

#

Something does not work :(

Hmmm, that's not good. Please reach out to me at elias@ljz.nl and I'll see what I can do. However, I can't help you with debugging your IJVM implementation, there is a friendly TA available for that!

#

Can you add X?

Maybe! I am always open to suggestions. Please reach out to me at elias@ljz.nl. Even better if you want to contribute yourself to make the feature a reality. IJVMore is written in TypeScript with React and uses JS webworkers, if that sounds like something you'd like to work on, let me know :)

#

Version 1.2.0 notes

A lot has happened since I deployed this app in 2022. I updated IJVMore to use the latest tests of the SyPP course (see above for specific commit) and ironed out some bugs. ~ Elias, June 2025