Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / codegen / amd64-codegen / amd64-jump-info.sig
CommitLineData
7f918cf1
CE
1(* Copyright (C) 2009 Matthew Fluet.
2 * Copyright (C) 1999-2007 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10signature AMD64_JUMP_INFO_STRUCTS =
11 sig
12 structure amd64 : AMD64
13 end
14
15signature AMD64_JUMP_INFO =
16 sig
17 include AMD64_JUMP_INFO_STRUCTS
18
19 datatype status = Count of int | None
20 type t
21
22 val newJumpInfo : unit -> t
23
24 val completeJumpInfo : {chunk: amd64.Chunk.t,
25 jumpInfo: t} -> unit
26 val completeJumpInfo_msg : unit -> unit
27 val verifyJumpInfo : {chunk: amd64.Chunk.t,
28 jumpInfo: t} -> bool
29 val verifyJumpInfo_msg : unit -> unit
30
31 val incNear : t * amd64.Label.t -> unit
32 val decNear : t * amd64.Label.t -> unit
33 val getNear : t * amd64.Label.t -> status
34 end