/*$Header: /a/rathlin/disk/src/master/edml/EDML4/fam.src/UPTODATE/RCS/globvals.h,v 5.1 91/09/05 18:24:05 edml Exp $*/
/*$Log:	globvals.h,v $
 * Revision 5.1  91/09/05  18:24:05  edml
 * Version 4.2 of EdML
 * This version does not yet work on machines with large pointers
 * (e.g. DECmips / SGI) - conficts between ASSIGNED/ZERO/MARKBIT macros
 * 
 * Revision 4.4  90/07/04  11:10:49  rjg
 * Readline version 4.1.00
 * New bytecode OpPrompt 
 * 
 * Revision 4.0  89/09/20  13:33:00  rjg
 * incorporated RCS
 * */
/* globvals.h - to be included in interp.c for efficiency on some machines.
   Keep in step with globvars.h.
*/

#ifndef INTZERO
#include "globdefs.h"
#include "structs.h"
#endif


#ifdef READLINE
#include <readline/readline.h>
#define PROMPTWIDTH 80
char rl_fam_prompt[PROMPTWIDTH];
#endif

int IntFlag  = 0 ,
           FloatExc = 0 ,
           TimeOut  = 0 ;

LWord HeapSize =  0x200000 ;    /* default heap size now 2 Mbytes */

LWord *BegOfASpace =  0 ,
      *MidOfASpace =  0 ,
      *EndOfASpace =  0 ,
      *BegOfBSpace =  0 ,
      *EndOfBSpace =  0 ,
      *Wall        =  0 ,        /* GMK 89 - 90. Marks top of first */
                                 /* generation.                     */
      *BegOfRefs   =  0 ,        /* Marks start of Refs area.       */
      *Refs        =  0 ;        /* GMK 90 - 90                     */


LWord *FAM_AP, *FAM_CP, *FAM_TrapTop;
Byte  *FAM_PC;
Closure *FAM_FP;

State   *CurrentState  =  0 ;
Process *CurrentProcess=  0 ;

LWord   Seed = 0 ,
               TimeSlice = 10 ;

String  *EmptyString   =  0 ;
Ref     *ProfRef       =  0 ;
Closure *StartupClosure=  0 ;
Closure *FunIdClos     =  0 ;
Text    *FunCompText   =  0 ;
Text    *XConText      =  0 ;

LWord     FAM_TEMPORARY;
/*
 * Added a harmless flag to remember whether or not we're tricking SML into
 * running normally down a pipe or not...
 *
 * Sam Nelson, Stirling Univ., 20.1.88.
 */
int faketty=0;

/* native code additions */

int dynamicprof = 0;  /* [AJG] for if the dynamic stuff is switched on */
int nativeok = 0; /* [AJG] set 1 iff native code is a vaild option */

/* End of global variables */


