summaryrefslogtreecommitdiffstats
path: root/scmfig.h
diff options
context:
space:
mode:
Diffstat (limited to 'scmfig.h')
-rw-r--r--scmfig.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/scmfig.h b/scmfig.h
index 35cf06e..6013800 100644
--- a/scmfig.h
+++ b/scmfig.h
@@ -122,8 +122,6 @@ rgx.c init_rgx(); regcomp and regexec. */
/* #define CAUTIOUS */
-/* #define STACK_LIMIT (HEAP_SEG_SIZE/2) */
-
/* #define BIGNUMS */
/* #define ARRAYS */
@@ -192,7 +190,6 @@ rgx.c init_rgx(); regcomp and regexec. */
/* Define GC_FREE_SEGMENTS if you want segments of unused heap to
be freed up after garbage collection. Don't define it if you
never want the heap to shrink. */
-
#ifndef DONT_GC_FREE_SEGMENTS
# define GC_FREE_SEGMENTS
#endif
@@ -200,8 +197,10 @@ rgx.c init_rgx(); regcomp and regexec. */
/* MEMOIZE_LOCALS means to convert references to local variables to ILOCs,
(relative lexical addresses into the environment). This memoization
makes evaluated Scheme code harder to read, so you may want to undefine
- this flag for debugging -- but SCM will run 3 to 5 times slower */
-#define MEMOIZE_LOCALS
+ this flag for debugging -- but SCM will run 3 to 6 times slower */
+#ifndef DONT_MEMOIZE_LOCALS
+# define MEMOIZE_LOCALS
+#endif
/* #define CHEAP_CONTINUATIONS */
@@ -281,7 +280,7 @@ rgx.c init_rgx(); regcomp and regexec. */
#ifdef __alpha
# define SHORT_INT
#endif
-#ifdef __ia64
+#ifdef __ia64__
# define SHORT_INT
# define CDR_DOUBLES
#endif
@@ -521,12 +520,12 @@ extern ints_infot *ints_info;
# endif
#endif
-#ifdef STACK_LIMIT
-# define CHECK_STACK {stack_check();}
-#else
-# define CHECK_STACK /**/
+#ifndef STACK_LIMIT
+# define STACK_LIMIT (HEAP_SEG_SIZE)
#endif
+#define CHECK_STACK {if (2 < scm_verbose) stack_check();}
+
/* Cray machines have pointers that are incremented once for each word,
rather than each byte, the 3 most significant bits encode the byte
within the word. The following macros deal with this by storing the