-
-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pack200 native implemention #370
Conversation
…d up replaced with libjava. Unsure. New libjvm project to produce jvm.dll and libjvm.so. This mimics the same on OpenJDK. Contains exported functions that need to be initialized by the runtime.
…native lib. Added libunpack. Need to clear up symbols still. Loading libjvm and initializing in JNIVM. Might not be the best place for it.
libverify added. libjava added.
Remove NativeUnpack extern, replace with libunpack. Crazy town.
libjvm is basically hotspot. It will largely consist of hand-written functions that are not part of OpenJDK, but instead short trampolines that simply call into .NET code, and manipulate IKVM structures. This should be good in the short term, as long as libjvm is loaded up at IKVM startup: as long as .NET is already running. However, long term, libjvm should more properly implement the actual libjvm API: the ability to link against it to actually host a full VM. This would potentially allow Java applications which make use of libjvm.so, etc, directly, to instead link against the IKVM VM, spawn .NET, etc. To do this, libjvm is going to need to have .NET Core and Framework hosting code, to spawn up the CLR. |
… should search for their dependencies in the same directory. Because runtimes/rid/native isn't part of the LD_LIBRARY_PATH, it's just handled by managed code. C++ standard needs to be C++11 for the CRT thing.
…s search logic, which works on Framework too.
Enable pack200 tests.
…o feature/pack200
…ntation presently.
Allow scope to initialize without writer, but ultimately scope results in nothing.
Disable some warnings.
…e can load libjvm up front without going through Java logic.
Add a fake JNI_OnLoad and JNI_OnUnload method to libunpack and libsunec. What happens here is that these depend on libjava, and dlsym(3) on Linux returns the JNI_OnLoad from libjava when looking for the function from the top library. OpenJDK avoids this because libjava loads first. Add libfdlibm to output. Use RUNPATH. It's technically better. Remove quotes.
…ust do it by hand.
… GC of the static type and the delegates.
In an effort to get Pack200 working for #364, this PR implements P2P references for ClangProjects, implements libverify #368, libjvm #366, libjava #367 and libunpack.