From 557c5a2938f16c0601f5a0323c66b78d2da01ee9 Mon Sep 17 00:00:00 2001 From: Maxime Dénès Date: Fri, 16 Feb 2018 17:53:12 +0100 Subject: New IR in VM: Clambda. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This intermediate representation serves two purposes: 1- It is a preliminary step for primitive machine integers, as iterators will be compiled to Clambda. 2- It makes the VM compilation passes closer to the ones of native_compute. Once we unifiy the representation of values, we should be able to factorize the lambda-code generation between the two compilers, as well as the reification code. This code was written by Benjamin Grégoire and myself. --- lib/flags.ml | 4 ++++ lib/flags.mli | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'lib') diff --git a/lib/flags.ml b/lib/flags.ml index 415e4399a..5da131020 100644 --- a/lib/flags.ml +++ b/lib/flags.ml @@ -170,3 +170,7 @@ let profile_ltac_cutoff = ref 2.0 let dump_bytecode = ref false let set_dump_bytecode = (:=) dump_bytecode let get_dump_bytecode () = !dump_bytecode + +let dump_lambda = ref false +let set_dump_lambda = (:=) dump_lambda +let get_dump_lambda () = !dump_lambda diff --git a/lib/flags.mli b/lib/flags.mli index c82410f07..bc07dec80 100644 --- a/lib/flags.mli +++ b/lib/flags.mli @@ -132,3 +132,8 @@ val profile_ltac_cutoff : float ref val dump_bytecode : bool ref val set_dump_bytecode : bool -> unit val get_dump_bytecode : unit -> bool + +(** Dump the VM lambda code after compilation (for debugging purposes) *) +val dump_lambda : bool ref +val set_dump_lambda : bool -> unit +val get_dump_lambda : unit -> bool -- cgit v1.2.3