forked from ocaml-flambda/flambda-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpolling.mli
59 lines (42 loc) · 2.24 KB
/
polling.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
(**************************************************************************)
(* *)
(* OCaml *)
(* *)
(* Xavier Leroy and Damien Doligez, projet Cambium, INRIA Paris *)
(* Sadiq Jaffer, OCaml Labs Consultancy Ltd *)
(* Stephen Dolan and Mark Shinwell, Jane Street Europe *)
(* *)
(* Copyright 2021 Institut National de Recherche en Informatique et *)
(* en Automatique. *)
(* Copyright 2021 OCaml Labs Consultancy Ltd *)
(* Copyright 2021 Jane Street Group LLC *)
(* *)
(* All rights reserved. This file is distributed under the terms of *)
(* the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
(** Analyses related to the insertion of [Ipoll] operations. *)
val function_is_assumed_to_never_poll : string -> bool
val is_disabled : string -> bool
type polling_point = Alloc | Poll | Function_call | External_call
type error = Poll_error of (polling_point * Debuginfo.t) list
exception Error of error
type unsafe_or_safe = Unsafe | Safe
module Unsafe_or_safe : sig
type t = unsafe_or_safe
val bot : t
val join : t -> t -> t
val lessequal : t -> t -> bool
end
type polls_before_prtc = Might_not_poll | Always_polls
module Polls_before_prtc : sig
type t = polls_before_prtc
val bot : t
val join : t -> t -> t
val lessequal : t -> t -> bool
end
val instrument_fundecl : future_funcnames:Misc.Stdlib.String.Set.t
-> Mach.fundecl -> Mach.fundecl
val requires_prologue_poll : future_funcnames:Misc.Stdlib.String.Set.t
-> fun_name:string -> Mach.instruction -> bool