Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/branches/FLINT/src/compiler/PervEnv/Boot/assembly.sig
ViewVC logotype

Annotation of /sml/branches/FLINT/src/compiler/PervEnv/Boot/assembly.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 90 - (view) (download) (as text)

1 : monnier 89 (* Copyright 1996 by AT&T Bell Laboratories *)
2 :     (* assembly.sig *)
3 :    
4 :     (*
5 :     * This file provides the interface to the structures provied by the runtime
6 :     * system. The BOXED version is supposed to correspond to the assembly and
7 :     * the C code that implement the functions using the boxed calling
8 :     * conventions. Right now, we tried hard to eliminate the polymorphic type
9 :     * in the BOXED version because they are interpreted differently across
10 :     * different versions of the compilers. In "core.sml", we use the magic
11 :     * (and "dirty") cast to force them into the right ML types. (ZHONG)
12 :     *)
13 :    
14 :     signature ASSEMBLY =
15 :     sig
16 :     type object
17 :     datatype 'a option = NONE | SOME of 'a
18 :    
19 :     structure A :
20 :     sig
21 :     type c_function
22 :     eqtype word8array
23 :     eqtype real64array
24 :     type spin_lock
25 :    
26 :     val array : int * 'a -> 'a array
27 :     val bind_cfun : (string * string) -> c_function
28 :     val callc : (c_function * 'a) -> 'c
29 :     val create_b : int -> word8array
30 :     val create_r : int -> real64array
31 :     val create_s : int -> string
32 :     val create_v : int * 'a list -> 'a vector
33 :     val floor : real -> int
34 :     val logb : real -> int
35 :     val scalb : real * int -> real
36 :     val try_lock : spin_lock -> bool
37 :     val unlock : spin_lock -> unit
38 :     end
39 :    
40 :     exception Div
41 :     exception Overflow
42 :     exception SysErr of (string * int option)
43 :    
44 :     val array0 : 'a array
45 :     val word8array0 : A.word8array
46 :     val profCurrent : int ref
47 :     val pollEvent : bool ref
48 :     val pollFreq : int ref
49 :     val pollHandler : (unit cont -> unit cont) ref
50 :     val activeProcs : int ref
51 :     val pstruct : object ref
52 :     val real64array0 : A.real64array
53 :     val sighandler : ((int * int * unit cont) -> unit cont) ref
54 :     val vector0 : 'a vector
55 :     end
56 :    
57 :    
58 :     signature ASSEMBLYBOXED =
59 :     sig
60 :     type object
61 :     datatype 'a option = NONE | SOME of 'a
62 :    
63 :     structure A :
64 :     sig
65 :     type c_function
66 :     eqtype word8array
67 :     eqtype real64array
68 :     type spin_lock
69 :    
70 :     val array : object -> object
71 :     val bind_cfun : object -> object
72 :     val callc : object -> object
73 :     val create_b : object -> word8array
74 :     val create_r : object -> real64array
75 :     val create_s : object -> string
76 :     val create_v : object -> object
77 :     val floor : object -> object
78 :     val logb : object -> object
79 :     val scalb : object -> object
80 :     val try_lock : spin_lock -> object
81 :     val unlock : spin_lock -> object
82 :     end
83 :    
84 :     exception Div
85 :     exception Overflow
86 :     exception SysErr of (string * int option)
87 :    
88 :     val array0 : object array
89 :     val word8array0 : A.word8array
90 :     val profCurrent : int ref
91 :     val pollEvent : bool ref
92 :     val pollFreq : int ref
93 :     val pollHandler : (unit cont -> unit cont) ref
94 :     val activeProcs : int ref
95 :     val pstruct : object ref
96 :     val real64array0 : A.real64array
97 :     val sighandler : ((int * int * unit cont) -> unit cont) ref
98 :     val vector0 : object vector
99 :     end
100 :    
101 :     (*
102 :     * $Log: assembly.sig,v $
103 :     * Revision 1.1.1.1 1998/04/08 18:40:05 george
104 :     * Version 110.5
105 :     *
106 :     *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0