Module Js_of_ocaml_compiler.Code
module Addr : sig ... endmodule DebugAddr : sig ... endmodule Var : sig ... endtype cont= Addr.t * Var.t listtype prim=|Vectlength|Array_get|Extern of string|Not|IsInt|Eq|Neq|Lt|Le|Ulttype array_or_not=|Array|NotArray|Unknowntype constant=|String of string|IString of string|Float of float|Float_array of float array|Int64 of int64|Tuple of int * constant array * array_or_not|Int of int32type prim_arg=|Pv of Var.t|Pc of constanttype expr=|Const of int32|Apply of Var.t * Var.t list * bool|Block of int * Var.t array * array_or_not|Field of Var.t * int|Closure of Var.t list * cont|Constant of constant|Prim of prim * prim_arg listtype instr=|Let of Var.t * expr|Set_field of Var.t * int * Var.t|Offset_ref of Var.t * int|Array_set of Var.t * Var.t * Var.ttype cond=|IsTrue|CEq of int32|CLt of int32|CLe of int32|CUlt of int32type last=|Return of Var.t|Raise of Var.t * [ `Normal | `Notrace | `Reraise ]|Stop|Branch of cont|Cond of cond * Var.t * cont * cont|Switch of Var.t * cont array * cont array|Pushtrap of cont * Var.t * cont * Addr.Set.t|Poptrap of cont * Addr.ttype block={params : Var.t list;handler : (Var.t * cont) option;body : instr list;branch : last;}type program= Addr.t * block Addr.Map.t * Addr.ttype xinstr=|Instr of instr|Last of last
val print_var_list : Stdlib.Format.formatter -> Var.t list -> unitval print_instr : Stdlib.Format.formatter -> instr -> unitval print_block : (Addr.Map.key -> xinstr -> string) -> int -> block -> unitval print_program : (Addr.Map.key -> xinstr -> string) -> program -> unitval print_last : Stdlib.Format.formatter -> last -> unitval print_cont : Stdlib.Format.formatter -> cont -> unitval fold_closures : program -> (Var.t option -> Var.t list -> cont -> 'd -> 'd) -> 'd -> 'dval fold_children : block Addr.Map.t -> Addr.t -> (Addr.t -> 'c -> 'c) -> 'c -> 'cval traverse : (block Addr.Map.t -> Addr.t -> (Addr.t -> (Addr.Set.t * 'c) -> Addr.Set.t * 'c) -> (Addr.Set.t * 'c) -> Addr.Set.t * 'c) -> (Addr.t -> 'c -> 'c) -> Addr.t -> block Addr.Map.t -> 'c -> 'cval prepend : program -> instr list -> programval empty : programval eq : program -> program -> boolval invariant : program -> unit