8 maintainer: lewurm@gmail.com, haraldsteinlechner@gmail.com
9 build-depends: base -any,
27 description: MateVM is a Java JIT compiler written in Haskell, using already existing
28 libaries, namly `harpy' [1] and `hs-java' [2].
30 We use `hs-java' to parse Java Classfiles in order to get a Java Bytecode
31 representation. Afterwards we perform a basic-block analysis and generate a
32 control-flow-graph (CFG). We apply several program-analyses, transformations
33 and optimizations. Given the annotated CFG we emit native code with `harpy'
34 (i386) in an on demand manner.
36 At the moment we try to minimize effort, by focusing on essential features of
37 the JVM, e.g. no exception handling.
38 Performance will be evaluated using a dedicated testsuite which can be handeld
39 in our limited implementation.
42 [1] http://hackage.haskell.org/package/harpy
43 [2] http://hackage.haskell.org/package/hs-java
45 author: Bernhard Urban, Harald Steinlechner
51 exposed-modules: Mate.BasicBlocks Mate.ClassPool Mate.Debug
52 Mate.GarbageAlloc Mate.MethodPool Mate.RegisterAllocation
53 Mate.Strings Mate.Types Mate.Utilities Mate.X86CodeGen
77 ghc-options: -dynamic -Wall -O0 -fno-warn-unused-do-bind
91 c-sources: ffi/trap.c ffi/native.c
106 ghc-options: -dynamic -Wall -O0 -fno-warn-unused-do-bind
112 -- o atm it's building twice. why?
113 -- o although `cabal install' copies the binary, the java boot class files arn't copied.
114 -- o fill it with more information (e.g. stability)