From f02e6260f1cf1f49121860cfd95b6adb97db48ee Mon Sep 17 00:00:00 2001 From: Maxime Dénès Date: Thu, 1 Mar 2018 14:43:07 +0100 Subject: [VM] Move structured_constant to Vmvalues --- kernel/vmvalues.mli | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'kernel/vmvalues.mli') diff --git a/kernel/vmvalues.mli b/kernel/vmvalues.mli index 6eedcf1d37..2604d50fe6 100644 --- a/kernel/vmvalues.mli +++ b/kernel/vmvalues.mli @@ -9,7 +9,7 @@ (************************************************************************) open Names -open Cbytecodes +open Constr (** Values *) @@ -25,6 +25,40 @@ type arguments type vstack = values array type to_update +type tag = int + +val accu_tag : tag + +val type_atom_tag : tag +val max_atom_tag : tag +val proj_tag : tag +val fix_app_tag : tag +val switch_tag : tag +val cofix_tag : tag +val cofix_evaluated_tag : tag + +val last_variant_tag : tag + +type structured_constant = + | Const_sort of Sorts.t + | Const_ind of inductive + | Const_b0 of tag + | Const_bn of tag * structured_constant array + | Const_univ_level of Univ.Level.t + +val pp_struct_const : structured_constant -> Pp.t + +type reloc_table = (tag * int) array + +type annot_switch = + {ci : case_info; rtbl : reloc_table; tailcall : bool; max_stack_size : int} + +val eq_structured_constant : structured_constant -> structured_constant -> bool +val hash_structured_constant : structured_constant -> int + +val eq_annot_switch : annot_switch -> annot_switch -> bool +val hash_annot_switch : annot_switch -> int + val fun_val : vfun -> values val fix_val : vfix -> values val cofix_upd_val : to_update -> values @@ -158,4 +192,4 @@ val bfield : vblock -> int -> values (** Switch *) val check_switch : vswitch -> vswitch -> bool -val branch_arg : int -> Cbytecodes.tag * int -> values +val branch_arg : int -> tag * int -> values -- cgit v1.2.3