Final year university project: a highly experimental JVM bytecode to WebAssembly compiler
Do NOT use this for serious projects yet! It's currently missing support for key features like the Java standard library, garbage collection, strings, arrays and exceptions. For more complete alternatives, see:
Bytecode structuring algorithms in
src/function/structure are based on those described by Cristina Cifuentes in their Reverse Compilation Techniques PhD thesis.
The immediate dominance algorithm in
src/graph/dominators.rs is based on that described by Keith D. Cooper, Timothy J. Harvey, and Ken Kennedy in A Simple, Fast Dominance Algorithm.