JLang
JLang copied to clipboard
JLang: Ahead-of-time compilation of Java programs to LLVM
The current runtime source generates a lot of warnings when being compiled. We should go through and fix the ones we can and suppress the ones we think are OK.
Class Load checks are dynamically inserted wherever necessary (e.g. before accessing a static variable); however this does actually lead to many redundant class load checks. Some of these checks are...
There are the barebones of the signal handling apis implemented in jvm.cpp We will need to implement the others. (e.g. JVM_RaiseSignal)
Some of the JNI methods related to UTF characters are only partially implemented. E.g. jni_GetStringUTFChars only works when the argument Java String only consists of UTF-8 characters (even though it...
Runtime class loading has been implemented in class.cpp; however it will only search the linked libjdk or libjvm for the class binary. The jni_FindClass function is supposed to load the...
Many of the JNI APIs can throw exceptions; however we have not implemented this behavior in most cases yet. There is an example for how to do this in: jvm.cpp:...
The current runtime implementation (and JDK support) assumes that the target host is a *nix host. This is relevant in two major places: 1) The particular JDK system specific classes...
_From @gharrma on May 25, 2018 18:58_ I don't have any experience with this, but hosting a Javadoc/doxygen page would allow us to link directly to source classes within the...
_From @gharrma on May 25, 2018 18:52_ Since we have a fairly extensive unit test suite, it would be nice to run tests after every commit to the `master` branch....
_From @gharrma on May 24, 2018 21:20_ The git repo is unnecessarily large, for historical reasons. We can make is smaller by using [Git LFS](https://git-lfs.github.com) to track the large `.jar`...