X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2Foptions.h;h=7993101b28a6d50aaf357c38897d60afef6ec684;hb=ac476ed9a8786f58f1bbc5132a017a63eb9b0c3e;hp=2f1e9da5322cf5e6852c9570c292a3249b68fb67;hpb=32a1da7bf566a9a97369f29e48517cfbf6ec7717;p=ghc-hetmet.git diff --git a/ghc/includes/options.h b/ghc/includes/options.h index 2f1e9da..7993101 100644 --- a/ghc/includes/options.h +++ b/ghc/includes/options.h @@ -1,20 +1,14 @@ -/* ../options.h. Generated automatically by configure. */ + /* -------------------------------------------------------------------------- * Configuration options * - * Most configuration options are arguments to the configure script - * (try running "configure --help"). The following options are either - * experimental or require changes to "Prelude.hs", the standard libraries - * and demos and therefore cannot be modified using the configure script. - * Most users should leave them alone! - * * Copyright (c) The University of Nottingham and Yale University, 1994-1997. * All rights reserved. See NOTICE for details and conditions of use etc... * Hugs version 1.4, December 1997 * * $RCSfile: options.h,v $ - * $Revision: 1.10 $ - * $Date: 1999/11/01 12:12:58 $ + * $Revision: 1.29 $ + * $Date: 2000/05/10 09:00:20 $ * ------------------------------------------------------------------------*/ @@ -61,11 +55,6 @@ * User interface options * ------------------------------------------------------------------------*/ -/* Define if you want to use the "Hugs for Windows" GUI. - * (Windows 3.1 and compatibles only) - */ -#define HUGS_FOR_WINDOWS 0 - /* Define if you want filenames to be converted to normal form by: * o replacing relative pathnames with absolute pathnames and * eliminating .. and . where possible. @@ -73,102 +62,56 @@ */ #define PATH_CANONICALIZATION 0 -/* Define if a command line editor is available and should be used. - * There are two choices of command line editor that can be used with Hugs: - * GNU readline and editline (from comp.sources.misc, vol 31, issue 71) - */ -#define USE_READLINE 0 - /* Define if you want the small startup banner. */ #define SMALL_BANNER 0 -/* Define if you want to be able to redirect stdout/stderr to a buffer. - * Only necessary for the Hugs server interface (which is used in the - * Netscape plugin and the standalone evaluator "runhugs"). - */ -#define REDIRECT_OUTPUT (!HUGS_FOR_WINDOWS) - /* -------------------------------------------------------------------------- - * Making Hugs smaller + * Language extensions * ------------------------------------------------------------------------*/ -/* Define one of these to select overall size of Hugs - * SMALL_HUGS for 16 bit operation on a limited memory PC. - * REGULAR_HUGS for 32 bit operation using largish default table sizes. - * LARGE_HUGS for 32 bit operation using larger default table sizes. - */ -#define SMALL_HUGS 0 -#define REGULAR_HUGS 0 -#define LARGE_HUGS 1 +/* Define if T-REX; Typed Rows and EXtension should be enabled */ +/* Doesn't work in current system - I don't know what the primops do */ +#define TREX 0 + +/* Implicit Parameters */ +#define IPARAM 1 + +/* Multi-instance resolution */ +#define MULTI_INST 0 + + +/* -------------------------------------------------------------------------- + * Various table sizes + * ------------------------------------------------------------------------*/ -#define NUM_SYNTAX 100 -#define NUM_TUPLES 20 -#define NUM_OFFSETS 1024 +#define NUM_TUPLES 37 #define NUM_CHARS 256 #if TREX #define NUM_EXT 100 #endif #define CHAR_MASK 0xff -#if SMALL_HUGS /* the McDonalds mentality :-) */ -#define Pick(s,r,l) s -#endif -#if REGULAR_HUGS -#define Pick(s,r,l) r -#endif -#if LARGE_HUGS -#define Pick(s,r,l) l -#endif +#define MINIMUMHEAP 19000 +#define MAXIMUMHEAP 0 +#define DEFAULTHEAP 320000 -#define MINIMUMHEAP Pick(7500, 19000, 19000) -#define MAXIMUMHEAP Pick(32765, 0, 0) -#define DEFAULTHEAP Pick(28000, 50000, 650000) - -#define NUM_SCRIPTS Pick(64, 100, 100) -#define NUM_MODULE NUM_SCRIPTS -#define NUM_TYCON Pick(60, 160, 400) -#define NUM_NAME Pick(1000, 2000, 16000) -#define NUM_CLASSES Pick(30, 40, 80) -#define NUM_INSTS Pick(200, 300, 600) -#define NUM_TEXT Pick(12000, 20000, 100000) -#define NUM_TEXTH Pick(1, 10, 10) -#define NUM_TYVARS Pick(800, 2000, 4000) -#define NUM_STACK Pick(1800, 12000, 16000) -#define NUM_DTUPLES Pick(3, 5, 5) +#define TEXT_SIZE 100000 +#define NUM_TEXTH 10 +#define NUM_TYVARS 4000 +#define NUM_STACK 16000 +#define NUM_DTUPLES 5 +#define NUM_MSTACK 2000 #define MAXPOSINT 0x7fffffff #define MINNEGINT (-MAXPOSINT-1) #define MAXHUGSWORD 0xffffffffU -#define BIGBASE Pick(100, 10000, 10000) -#define BIGEXP Pick(2, 4, 4) - -#define minRecovery Pick(1000, 1000, 1000) -#define bitsPerWord Pick(16, 32, 32) -#define wordShift Pick(4, 5, 5) -#define wordMask Pick(15, 31, 31) - -/* Define to force a fixed size (NUM_TYVARS) for the current substitution. - * Setting this flag places a limit on the maximum complexity of - * expressions handled by the typechecker. It is normally turned off - * but may be required for small machines/configurations. - */ -#define FIXED_SUBST 0 - -/* Define this to allocate tables dynamically. - * This is currently just a memory saving trick, but this may be - * extended at a later stage to allow at least some of the tables - * to be extended dynamically at run-time to avoid exhausted space errors. - */ -#define DYN_TABLES SMALL_HUGS - -/* Define this to include support for storing pointers in the heap. - * This is required by the code generator (which has to store - * pointers to AsmObjects). - */ -#define PTR_ON_HEAP 1 +#define minRecovery 1000 +#define bitsPerWord 32 +#define wordShift 5 +#define wordMask 31 /* Should quantifiers be displayed in error messages. * Warning: not consistently used. @@ -183,48 +126,13 @@ * without attention. However, standard Haskell 98 is supported * is supported without needing them. */ -#undef PROVIDE_STABLE -#undef PROVIDE_FOREIGN #undef PROVIDE_WEAK -#undef PROVIDE_CONCURRENT -#undef PROVIDE_PTREQUALITY -#undef PROVIDE_COERCE - -/* Set to 1 to use a non-GMP implementation of integer, in the - standalone Hugs. Set to 0 in the combined GHC-Hugs system, - in which case GNU MP will be used. -*/ -#define STANDALONE_INTEGER 1 - -/* Enable a crude profiler which counts BCO entries, bytes allocated - and bytecode insns executed on a per-fn basis. Used for assessing - the effect of the simplifier/optimiser. -*/ -#undef CRUDE_PROFILING - - -/* Is the default default (Int,Double) or (Integer,Double)? - */ -#define DEFAULT_BIGNUM 1 - -/* Should lambda lifter lift constant expressions out to top level? - * Experimental optimisation. - */ -#define LIFT_CONSTANTS 0 - -/* Should we run optimizer on Hugs code? - * Experimental optimisation. - */ -#define USE_HUGS_OPTIMIZER 1 - -/* Are things being used in an interactive setting or a batch setting? - * In an interactive setting, System.exitWith should not call _exit - * getProgName and getProgArgs need to be handled differently, etc. - * - * Warning: this flag is ignored by an awful lot of code. - */ -#define INTERACTIVE +#define PROVIDE_STABLE 1 +#define PROVIDE_FOREIGN 1 +#define PROVIDE_COERCE 1 +#define PROVIDE_PTREQUALITY 1 +#define PROVIDE_CONCURRENT 1 /* Turn bytecode interpreter support on/off. */ @@ -234,15 +142,11 @@ */ /*#define DEBUG*/ -/* Make stack tags more informative than just their size. - * Helps when printing the stack and when running sanity checks. - */ -/*#define DEBUG_EXTRA*/ - /* NB: LAZY_BLACKHOLING has been moved up to Stg.h where both Hugs and GHC can see it, * and EAGER_BLACKHOLING has been introduced also. KSW 1999-01. */ + /* Turn miniinterpreter on/off. * * The mininterpreter is portable but slow - if you turn it off, @@ -256,16 +160,11 @@ * If you turn this off, you'll probably need to provide some * assembly language support for your architecture. */ -#define NO_REGS - +/* Disabled by JRS 09 May 00. Seems unneccessary and generates a lot of + warnings compiling the RTS. +*/ +/* #define NO_REGS */ -/* -------------------------------------------------------------------------- - * Fancy features - * ------------------------------------------------------------------------*/ - -/* Define if T-REX; Typed Rows and EXtension should be enabled */ -/* Doesn't work in current system - I don't know what the primops do */ -#define TREX 0 /* Define if :xplain should be enabled */ #define EXPLAIN_INSTANCE_RESOLUTION 0 @@ -319,24 +218,6 @@ */ #define USE_ADDR_FOR_STRINGS 1 -/* Define to include support for (n+k) patterns. - * Warning: many people in the Haskell committee want to remove n+k patterns. - */ -#define NPLUSK 1 - - -/* -------------------------------------------------------------------------- - * Debugging options (intended for use by maintainers) - * ------------------------------------------------------------------------*/ - -/* Define if debugging generated bytecodes or the bytecode interpreter */ -#define DEBUG_CODE 1 - -/* Define if debugging generated supercombinator definitions or compiler */ -#define DEBUG_SHOWSC 0 - -/* Define if you want to use a low-level printer from within a debugger */ -#define DEBUG_PRINTER 1 /* -------------------------------------------------------------------------- * Experimental features