X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2FresJIT.mli;h=a870bc0ac92b5ad50a43a3e15651591a05255aa7;hb=07fb4b54d3bc1e5845f359d2a908d822f0f817f8;hp=fcf38b84d398c71dae98980ffba62dbdca12ee3e;hpb=013ac87b16485acbe56f07d99a810d6364242a9e;p=SXSI%2Fxpathcomp.git diff --git a/src/resJIT.mli b/src/resJIT.mli index fcf38b8..a870bc0 100644 --- a/src/resJIT.mli +++ b/src/resJIT.mli @@ -27,12 +27,18 @@ type opcode = type code = Nil | Cons of State.t * opcode * code val compile : (State.t * instr list) list -> code * bool +type 'a update = 'a -> 'a -> 'a -> Tree.t -> Tree.node -> StateSet.t * 'a +type 'a cache = 'a update Cache.Lvl3.t +val dummy_update : 'a update +val create : unit -> 'a cache module type S = sig module NS : NodeSet.S type t = NS.t array val exec : t -> t -> t -> Tree.node -> code -> unit + val update : t cache -> Ata.t -> Translist.t -> StateSet.t -> StateSet.t -> + t -> t -> t -> Tree.t -> Tree.node -> StateSet.t * t val print : Format.formatter -> t -> unit val var : int -> t -> t val close : ((int*State.t, NS.t) Hashtbl.t) -> t -> t