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

SCM Repository

[smlnj] View of /sml/trunk/src/runtime/include/ml-globals.h
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (download) (as text) (annotate)
Thu Jun 1 18:34:03 2000 UTC (19 years, 3 months ago) by monnier
File size: 2137 byte(s)
bring revisions from the vendor branch to the trunk
/* ml-globals.h
 *
 * COPYRIGHT (c) 1992 AT&T Bell Laboratories
 *
 * These are global reference variables allocated in the run-time system that
 * are visible to the ML tasks.
 */

#ifndef _ML_GLOBALS_
#define ML_GLOBALS_

#ifndef _ML_VALUES_
#include "ml-values.h"
#endif

extern ml_val_t	*CRoots[];
extern int	NumCRoots;

/* "current function" hook for profiling */
extern ml_val_t	_ProfCurrent[];
#define ProfCurrent PTR_CtoML(_ProfCurrent+1)

extern ml_val_t	_PervStruct[];		/* Pointer to the pervasive structure */
#define PervStruct PTR_CtoML(_PervStruct+1)

extern ml_val_t _MLSignalHandler[];
#define MLSignalHandler PTR_CtoML(_MLSignalHandler+1)

extern ml_val_t SysErr_id0[];
#define SysErrId PTR_CtoML(SysErr_id0+1)

extern ml_val_t RunTimeCompUnit;
#ifdef ASM_MATH
extern ml_val_t MathVec;
#endif

extern ml_val_t _Div_id0[];
#define DivId		PTR_CtoML(_Div_id0+1)

extern ml_val_t _Overflow_id0[];
#define OverflowId	PTR_CtoML(_Overflow_id0+1)

#if defined(ASM_MATH)
extern ml_val_t _Ln_id0[];
#define LnId PTR_CtoML(_Ln_id0+1)
extern ml_val_t _Sqrt_id0[];
#define SqrtId PTR_CtoML(_Sqrt_id0+1)
#endif

extern ml_val_t sigh_resume[];
extern ml_val_t *sigh_return_c;
extern ml_val_t pollh_resume[];
extern ml_val_t *pollh_return_c;
extern ml_val_t callc_v[];
extern ml_val_t handle_v[];
extern ml_val_t *return_c;

extern ml_val_t _MLPollHandler[];
#define MLPollHandler PTR_CtoML(_MLPollHandler+1)

/** polling and MP references **/
extern ml_val_t _PollFreq0[];
#define PollFreq PTR_CtoML(_PollFreq0+1)
extern ml_val_t _PollEvent0[];
#define PollEvent PTR_CtoML(_PollEvent0+1)
extern ml_val_t _ActiveProcs0[];
#define ActiveProcs PTR_CtoML(_ActiveProcs0+1)

/* Initialize the C function list */
extern void InitCFunList ();
/* Record the C symbols that are visible to SML */
extern void RecordGlobals ();
/* Initialize the ML globals that are supported by the runtime system */
extern void AllocGlobals (ml_state_t *msp);
/* Bind a C function */
extern ml_val_t BindCFun (char *moduleName, char *funName);

#ifdef SIZES_C64_ML32
/* patch the 32-bit addresses */
extern void PatchAddrs ();
#endif

#endif /* !_ML_GLOBALS_ */

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