summaryrefslogtreecommitdiff
path: root/kernel/cbytegen.mli
diff options
context:
space:
mode:
authorGravatar Samuel Mimram <smimram@debian.org>2008-07-25 15:12:53 +0200
committerGravatar Samuel Mimram <smimram@debian.org>2008-07-25 15:12:53 +0200
commita0cfa4f118023d35b767a999d5a2ac4b082857b4 (patch)
treedabcac548e299fee1da464c93b3dba98484f45b1 /kernel/cbytegen.mli
parent2281410e38ef99d025ea77194585a9bc019fdaa9 (diff)
Imported Upstream version 8.2~beta3+dfsgupstream/8.2.beta3+dfsg
Diffstat (limited to 'kernel/cbytegen.mli')
-rw-r--r--kernel/cbytegen.mli25
1 files changed, 24 insertions, 1 deletions
diff --git a/kernel/cbytegen.mli b/kernel/cbytegen.mli
index f761e4f6..dfdcb074 100644
--- a/kernel/cbytegen.mli
+++ b/kernel/cbytegen.mli
@@ -6,7 +6,6 @@ open Declarations
open Pre_env
-
val compile : env -> constr -> bytecodes * bytecodes * fv
(* init, fun, fv *)
@@ -15,3 +14,27 @@ val compile_constant_body :
(* opaque *) (* boxed *)
+(* spiwack: this function contains the information needed to perform
+ the static compilation of int31 (trying and obtaining
+ a 31-bit integer in processor representation at compile time) *)
+val compile_structured_int31 : bool -> constr array ->
+ structured_constant
+
+(* this function contains the information needed to perform
+ the dynamic compilation of int31 (trying and obtaining a
+ 31-bit integer in processor representation at runtime when
+ it failed at compile time *)
+val dynamic_int31_compilation : bool -> comp_env ->
+ block array ->
+ int -> bytecodes -> bytecodes
+
+(*spiwack: template for the compilation n-ary operation, invariant: n>=1.
+ works as follow: checks if all the arguments are non-pointers
+ if they are applies the operation (second argument) if not
+ all of them are, returns to a coq definition (third argument) *)
+val op_compilation : int -> instruction -> constant -> bool -> comp_env ->
+ constr array -> int -> bytecodes-> bytecodes
+
+(*spiwack: compiling function to insert dynamic decompilation before
+ matching integers (in case they are in processor representation) *)
+val int31_escape_before_match : bool -> bytecodes -> bytecodes