Getting Involved with the vmkit Project
Once you have checked out and built vmkit and played around with it, you might be wondering what you can do to make it better and contribute to its development. Alternatively, maybe you just want to follow the development of the project to see it progress.
Follow what's going on
VMKit is a subproject of the LLVM Project, and uses llvm dev mailing list for development question and the vmkit-commits mailing list for patches:
- vmkit-commits - This list is for patch submission/discussion.
- llvmdev - This list is for everything else llvm/vmkit related (questions and answers, bug reports, etc).
The best way to talk with other developers on the project is through the llvm-dev mailing list.
Open Projects
Here are a few tasks that are available for newcomers to work on, depending on what your interests are. This list is provided to generate ideas, it is not intended to be comprehensive. Please ask on llvm-dev for more specifics or to verify that one of these isn't already completed. :)
- Write a test-suite and nightly tester for vmkit: vmkit needs it!
- Port vmkit to new architectures: currently, vmkit runs on linux/x86, MacOSX/x86 and has some floating point issues on linux/powerpc . See PR642.
- Implement a generational GC in llvm/vmkit: llvm has the interface for GC support for static compilation, but not just in time. And since llvm is object layout-agnostic, vmkit needs to plug in its object layout somewhere.
- Improve LLVM with non-calls exceptions: This is work-in-progress see PR1269.
- Investigate hotspot-ing in llvm/vmkit: vmkit has a compile-only approach. This resuts in a high startup penalty.
- Implement a llvm/clang/vmkit 'libgcc': vmkit uses the unwinding runtime of GCC. So it is strongly dependent on GCC. Implementing the unwind functions in llvm will help port vmkit to other compilers.
If you hit a bug with vmkit, it is very useful for us if you reduce the code that demonstrates the problem down to something small. There are many ways to do this; ask on llvm-dev for advice.