From 6b908b5185a55a27a82c2b0fce4713812adde156 Mon Sep 17 00:00:00 2001 From: mdenes Date: Tue, 22 Jan 2013 17:37:00 +0000 Subject: New implementation of the conversion test, using normalization by evaluation to native OCaml code. Warning: the "retroknowledge" mechanism has not been ported to the native compiler, because integers and persistent arrays will ultimately be defined as primitive constructions. Until then, computation on numbers may be faster using the VM, since it takes advantage of machine integers. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16136 85f007b7-540e-0410-9357-904b9bb8a0f7 --- kernel/nativecode.mli | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 kernel/nativecode.mli (limited to 'kernel/nativecode.mli') diff --git a/kernel/nativecode.mli b/kernel/nativecode.mli new file mode 100644 index 000000000..0f01ae80e --- /dev/null +++ b/kernel/nativecode.mli @@ -0,0 +1,66 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* global -> unit + +val mk_open : string -> global + +type symbol + +val get_value : symbol array -> int -> Nativevalues.t + +val get_sort : symbol array -> int -> sorts + +val get_name : symbol array -> int -> name + +val get_const : symbol array -> int -> constant + +val get_match : symbol array -> int -> Nativevalues.annot_sw + +val get_ind : symbol array -> int -> inductive + +val get_symbols_tbl : unit -> symbol array + +type code_location_update +type code_location_updates +type linkable_code = global list * code_location_updates + +val empty_updates : code_location_updates + +val register_native_file : string -> unit + +val compile_constant_field : env -> string -> constant -> + global list * symbol list * code_location_updates -> + constant_body -> + global list * symbol list * code_location_updates + +val compile_mind_field : string -> module_path -> label -> + global list * symbol list * code_location_updates -> + mutual_inductive_body -> + global list * symbol list * code_location_updates + +val mk_conv_code : env -> string -> constr -> constr -> linkable_code +val mk_norm_code : env -> string -> constr -> linkable_code + +val mk_library_header : dir_path -> global list + +val mod_uid_of_dirpath : dir_path -> string + +val update_locations : code_location_updates -> unit -- cgit v1.2.3