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/trunk/src/runtime/include/ml-globals.h
ViewVC logotype

Annotation of /sml/trunk/src/runtime/include/ml-globals.h

Parent Directory Parent Directory | Revision Log Revision Log


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

1 : monnier 2 /* ml-globals.h
2 :     *
3 :     * COPYRIGHT (c) 1992 AT&T Bell Laboratories
4 :     *
5 :     * These are global reference variables allocated in the run-time system that
6 :     * are visible to the ML tasks.
7 :     */
8 :    
9 :     #ifndef _ML_GLOBALS_
10 :     #define ML_GLOBALS_
11 :    
12 :     #ifndef _ML_VALUES_
13 :     #include "ml-values.h"
14 :     #endif
15 :    
16 :     extern ml_val_t *CRoots[];
17 :     extern int NumCRoots;
18 :    
19 :     /* "current function" hook for profiling */
20 :     extern ml_val_t _ProfCurrent[];
21 :     #define ProfCurrent PTR_CtoML(_ProfCurrent+1)
22 :    
23 :     extern ml_val_t _PervStruct[]; /* Pointer to the pervasive structure */
24 :     #define PervStruct PTR_CtoML(_PervStruct+1)
25 :    
26 :     extern ml_val_t _MLSignalHandler[];
27 :     #define MLSignalHandler PTR_CtoML(_MLSignalHandler+1)
28 :    
29 :     extern ml_val_t SysErr_id0[];
30 :     #define SysErrId PTR_CtoML(SysErr_id0+1)
31 :    
32 :     extern ml_val_t RunTimeCompUnit;
33 :     #ifdef ASM_MATH
34 :     extern ml_val_t MathVec;
35 :     #endif
36 :    
37 :     extern ml_val_t _Div_e0[];
38 :     #define DivExn PTR_CtoML(_Div_e0+1)
39 :     extern ml_val_t _Overflow_e0[];
40 :     #define OverflowExn PTR_CtoML(_Overflow_e0+1)
41 :    
42 :     #if defined(ASM_MATH)
43 :     extern ml_val_t _Ln_e0[];
44 :     #define LnExn PTR_CtoML(_Ln_e0+1)
45 :     extern ml_val_t _Sqrt_e0[];
46 :     #define SqrtExn PTR_CtoML(_Sqrt_e0+1)
47 :     #endif
48 :    
49 :     extern ml_val_t sigh_resume[];
50 :     extern ml_val_t *sigh_return_c;
51 :     extern ml_val_t pollh_resume[];
52 :     extern ml_val_t *pollh_return_c;
53 :     extern ml_val_t callc_v[];
54 :     extern ml_val_t handle_v[];
55 :     extern ml_val_t *return_c;
56 :    
57 :     extern ml_val_t _MLPollHandler[];
58 :     #define MLPollHandler PTR_CtoML(_MLPollHandler+1)
59 :    
60 :     /** polling and MP references **/
61 :     extern ml_val_t _PollFreq0[];
62 :     #define PollFreq PTR_CtoML(_PollFreq0+1)
63 :     extern ml_val_t _PollEvent0[];
64 :     #define PollEvent PTR_CtoML(_PollEvent0+1)
65 :     extern ml_val_t _ActiveProcs0[];
66 :     #define ActiveProcs PTR_CtoML(_ActiveProcs0+1)
67 :    
68 :     /* Initialize the C function list */
69 :     extern void InitCFunList ();
70 :     /* Record the C symbols that are visible to SML */
71 :     extern void RecordGlobals ();
72 :     /* Initialize the ML globals that are supported by the runtime system */
73 :     extern void AllocGlobals (ml_state_t *msp);
74 :     /* Bind a C function */
75 :     extern ml_val_t BindCFun (char *moduleName, char *funName);
76 :    
77 :     #ifdef SIZES_C64_ML32
78 :     /* patch the 32-bit addresses */
79 :     extern void PatchAddrs ();
80 :     #endif
81 :    
82 :     #endif /* !_ML_GLOBALS_ */

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