I did some preliminary work to provide the Jainja Java Virtual Machine [1] for Redox. I just got an Hello World currently.
The JVM supports Java 5 features and will be provided with the standard Java libraries.
Some work has to be done yet:
An accurate time is required because threads are implemented in the VM itself. So the VM will not really work while the kernel doesn’t provide that. A millisecond granularity should be ok.
Do I understand it correctly: you have a compiler, which is written in Java, performing the following transpilation: java → C. You use this to bootstrap your compiler and the JVM, which you have written. This yield C source code, which is cross-compiled to target Redox.
You’re right, except that the custom/embedded C compiler is not ready yet. So, as for now, I only use mainstream C compilers like GCC or clang to compile/cross-compile the VM.