Linear Scan Register Allocator for the OCaml Native Code Compiler
I recently imported the first working version of the Linear Scan Register Allocator for the OCaml Native Code Compiler
ocamlopt into the linear-scan-register-allocator branch of my ocaml-experimental repository. The register allocator was implemented for
ocamlopt by Marcell Fischbach as part of his diploma thesis. It presents a first step towards a (better) native OCaml toplevel
ocamlnat. Use the following command to checkout the source code:
git clone -b linear-scan-register-allocator git://github.com/bmeurer/ocaml-experimental.git ocaml-linscan
The implementation of the linear scan register allocator can be found in
asmcomp/linscan.mli (integrated into
ocamlopt via asmcomp/asmgen.ml).
Some initial timing results are available here, here, and here. See bug 5324 for additional details.