8 maintainer: lewurm@gmail.com, haraldsteinlechner@gmail.com
9 build-depends: base -any,
26 description: MateVM is a Java JIT compiler written in Haskell, using already existing
27 libaries, namly `harpy' [1] and `hs-java' [2].
29 We use `hs-java' to parse Java Classfiles in order to get a Java Bytecode
30 representation. Afterwards we perform a basic-block analysis and generate a
31 control-flow-graph (CFG). We apply several program-analyses, transformations
32 and optimizations. Given the annotated CFG we emit native code with `harpy'
33 (i386) in an on demand manner.
35 At the moment we try to minimize effort, by focusing on essential features of
36 the JVM, e.g. no exception handling.
37 Performance will be evaluated using a dedicated testsuite which can be handeld
38 in our limited implementation.
41 [1] http://hackage.haskell.org/package/harpy
42 [2] http://hackage.haskell.org/package/hs-java
44 author: Bernhard Urban, Harald Steinlechner
50 exposed-modules: Mate.BasicBlocks Mate.ClassPool Mate.Debug
51 Mate.GarbageAlloc Mate.MethodPool Mate.RegisterAllocation
52 Mate.Strings Mate.Types Mate.Utilities Mate.X86CodeGen
76 ghc-options: -dynamic -Wall -O0 -fno-warn-unused-do-bind
105 ghc-options: -dynamic -Wall -O0 -fno-warn-unused-do-bind