//===---------------------------------------------------------------------===//
// General notes
//===---------------------------------------------------------------------===//

VMKit is the composition of three libraries:
1) MVM: mostly a garbage collector
2) JnJVM: a Java Virtual Machine implemented with MVM and LLVM
3) N3: a CLI implementation with MVM and LLVM

JnJVM and N3 work on Linux/x86 (note that you may have to disable SSE on some 
architecture), and mostly work on Linux/PPC (there are some errors with
floating points). Portage to Darwin has been done some time ago, so it should
not be too hard.

JnJVM and N3 use GCC's unwinding library (libgcc_s.so).

There are mainly two options in the ./configure script
--with-gnu-classpath-local-prefix: the local build of GNU classpath
--with-pnet-local-prefix: the local build of PNET
--with-llvm: the local build of LLVM
--with-gc: user either boehm or single-mmap

Running make on the root tree will produce three executables:
1) lib/Mvm/main: a command line tool to load virtual machines dynamically
2) lib/JnJVM/main: running the JnJVM like any other JVM
3) lib/N3/main: running N3 like CLR

JnJVM and N3 have their own README notes.


//===---------------------------------------------------------------------===//
// Target specific LLVM patches (not required)
//===---------------------------------------------------------------------===//

If you experience problems, you can apply the patches for your corresponding 
arch. I'd be interested to get some info on your specific problem if the 
patch fixes it.

Patch for PowerPC:
- Bugfix for handling some external symbols (FIXME: does this still happen?)
- Thread safety when doing native code patching (TODO: submit to llvm-dev)
- CFI instructions for callbacks (TODO: find a correct macro to enable this)
- Emit a hand-made frame table for stubs (TODO: submit to llvm-dev)

Patch for X86
- Disable SSE (It can sigsegv on some x86 archs. Having test cases would be 
  nice)
- Enable CFI instructions for callbacks (TODO: find a correct macro to enable
  by default)


//===---------------------------------------------------------------------===//
// TODOs
//===---------------------------------------------------------------------===//

- A compiler/system dependency interface
- A better autoconf support
- Remove old, historical references and files
- Currently old object are allocated by MVM'GC. Make some classes 
  hand-allocated.
- Port to Darwin
- Improve exception handling performance: it's currently ugly and inefficient

//===---------------------------------------------------------------------===//
// Disclaimer
//===---------------------------------------------------------------------===//

JnJVM, N3 and MVM were developed with "having functional virtual machines as 
quick as possible" in mind. The usage of mixed  C/C++ and the absence of clean 
interfaces, is due to the initial developers lazyness. But now that the VMs
run, things should go better.

