VMKit - Getting Started

Hi all,

I tried the step of the Getting Started page
(http://vmkit.llvm.org/get_started.html) on Linux/x64 but I had no
I could build them. But when I tried to execute J3, it shows like follows,

j3: JavaRuntimeJIT.cpp:367: void* j3StartJNI(uint32*, uint32**, mvm::KnownFrame*): Assertion `th->getLastSP() == th->lastKnownFrame->currentFP' failed.

Does anybody know if the latest LLVM works with the latest VMkit?
Which version of LLVM should I use?
I also tried VMkit with MMtk and I could not let it work...

What is the advantage of using MMtk in VMkit?
I understand that is an accurate garbage collector and it sounds
better than conservative one.
Does anybody have actual comparison about the throughput and the response time?
Which one is more stable?

Thank you.


Hi Shin,

The latest LLVM works with VMKit on a 32bit machine. I don’t have easy access to a 64bit machine to debug your error, so building for 32bit will help you. Besides, the MMTk GC does not work on 64bit.

MMTk has way better performance and scalability than the GC that was originally in VMKit. See the academic papers related to MMTk as references (ICSE’04). The original GC in VMKit did not scale well and was consuming too much memory per object. It also does not work on 64bit.