home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sml_nj / 93src.lha / src / boot / assembly.sig next >
Encoding:
Text File  |  1993-01-27  |  1.7 KB  |  60 lines

  1. (* Copyright 1989 by AT&T Bell Laboratories *)
  2.  
  3. signature RUNVEC =
  4.   sig
  5.     val array : int * 'a -> 'a array
  6.     val callc : 'b (* func*)  * 'a -> 'c
  7.     eqtype bytearray
  8.     eqtype realarray
  9.     val create_b : int -> bytearray
  10.     val create_r : int -> realarray
  11.     val create_s : int -> string
  12.     (*eqtype 'a vector*)
  13.     val create_v : int * 'a list -> 'a vector
  14.     val floor : real -> int
  15.     val logb : real -> int
  16.     val scalb : real * int -> real
  17.     type spin_lock
  18.     val try_lock : spin_lock -> bool
  19.     val unlock : spin_lock -> unit
  20.   end (* RUNVEC *)
  21.  
  22. signature ASSEMBLY =
  23.   sig
  24.     datatype datalist = DATANIL | DATACONS of (string * (unit -> unit) * datalist)
  25.     type func
  26.     datatype funclist = FUNCNIL | FUNC of (func * string * funclist)
  27.     type object
  28.     structure A : RUNVEC
  29.     exception Div
  30.     exception Overflow
  31.     exception SysError of (int * string)
  32.     exception UnboundTable
  33.     val active_procs : int ref
  34.     val array0 : 'a array
  35.     val bytearray0 : A.bytearray
  36.     val calleesaves : int
  37.     val collected : int ref
  38.     val collectedfrom : int ref
  39.     val current : int ref
  40.     val datalist : datalist
  41.     val dtablesize : int
  42.     val external : funclist
  43.     val gcmessages : int ref
  44.     val times : int array ref
  45.     val lastratio : int ref
  46.     val machine : string  (* m68, mipsb, mipsl, ns32, sparc or vax *)
  47.     val majorcollections : int ref
  48.     val minorcollections : int ref
  49.     val opsys : int   (* 1 = vax bsd ultrix, 4.2, 4.3
  50.              2 = sunos 3.0, 4.0 
  51.              3 = vax v9 (bell labs), hpux or RISCos *)
  52.     val pstruct : object ref
  53.     val ratio : int ref
  54.     val realarray0 : A.realarray
  55.     val sighandler : ((int * int * unit cont) -> unit cont) ref
  56.     val softmax : int ref
  57.     (*val vector0 : 'a A.vector*)
  58.     val vector0 : 'a vector
  59. end
  60.