------------------------------------------ Author: Magnus Myreen, 2009

Run 'make' to compile the JIT compiler jit and the C version of gcd:

    make

Two new files appear: jit and gcd. The examples mentioned in the paper
submitted to POPL can be run by typing:

    time ./jit "=6<4-j0sj0." 135 345

    time ./jit "=6<4-j0sj0." 2 200000000

    time ./gcd 200000000 2

Feel free to try other bytecode programs than just "=6<4-j0sj0."

Use verbose mode ./jit -v instead of ./jit to have the C-wrapper
program produce some more informative output:

    ./jit -v "=6<4-j0sj0." 2 200000000

Also use the flag "-i" to try the incremental version of JIT
compiler. Notice, for instance, that these three commands generate
different code due to the on-demand nature of code generation of "-i":

    ./jit -iv "=6<4-j0sj0." 2 2

    ./jit -iv "=6<4-j0sj0." 2 4

    ./jit -iv "=6<4-j0sj0." 4 2

The arguments provided after the bytecode program are put on the JIT
compilers stack, the top of the stack is the last element of this
list, as can be seen when trying just the swap instruction, encoded as
"s", with verbose mode switched on:

    ./jit -v "s." 1 2 3

The C-wrapper builds correctly using the following version of GCC on
Mac OS X Version 10.5.8:

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5490~1/src/configure
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man
--enable-languages=c,objc,c++,obj-c++
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib
--build=i686-apple-darwin9 --with-arch=apple --with-tune=generic
--host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5490)
