1. OCaml-Java: The Java Virtual Machine as the target of an OCaml compiler.
- Author
-
CLERC, XAVIER
- Subjects
- *
VIRTUAL machine systems , *JAVA programming language , *COMPILERS (Computer programs) , *COMPUTER performance , *GARBAGE collection (Computer science) - Abstract
This article presents how the compiler from the OCaml-Java project generates Java bytecode from OCaml sources. Targeting the Java Virtual Machine (JVM) is a technological challenge, but gives access to a platform where OCaml can leverage multiple cores and access numerous libraries. We present the main design choices regarding the runtime and the various optimizations performed by the compiler that are crucial to get decent performance on a JVM. The challenge is indeed not only to generate bytecode but to generate efficient bytecode, and to provide a runtime library whose memory footprint does not impede the efficiency of the garbage collector. We focus on the strategies that differ from the original OCaml compiler, as the constraints are quite different on the JVM when compared to native code. The level of performance reached by the OCaml-Java compiler is assessed through benchmarks, comparing with both the original OCaml implementation and the Scala language. [ABSTRACT FROM AUTHOR]
- Published
- 2016
- Full Text
- View/download PDF