codegen: handle exceptions of a method
[mate.git] / doc / README
1 ==== MateVM ====
2
3 MateVM is a Java JIT compiler written in Haskell, using already existing
4 libaries, namly `harpy' [1] and `hs-java' [2].
5
6 We use `hs-java' to parse Java Classfiles in order to get a Java Bytecode
7 representation. Afterwards we perform a basic-block analysis and generate a
8 control-flow-graph (CFG). We apply several program-analyses, transformations
9 and optimizations. Given the annotated CFG we emit native code with `harpy'
10 (i386) in an on demand manner.
11
12 At the moment we try to minimize effort, by focusing on essential features of
13 the JVM, e.g. no exception handling. 
14 Performance will be evaluated using a dedicated testsuite which can be handeld
15 in our limited implementation.
16
17
18 [1] http://hackage.haskell.org/package/harpy
19 [2] http://hackage.haskell.org/package/hs-java