~ chicken-core (chicken-5) b1907c5ab8b42afb781685f02adba2dcd4f11d5f
commit b1907c5ab8b42afb781685f02adba2dcd4f11d5f
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Nov 10 11:11:36 2011 +0100
Commit: Christian Kellermann <ckeen@pestilenz.org>
CommitDate: Fri Nov 11 14:21:50 2011 +0100
use different default stack-sizes on 32/64 bit platforms
stack-resizing should not be done in compiled files by default, also
deprecate -heap-initial-size, -heap-growth and -heap-shirnkage options
Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
diff --git a/Makefile.mingw b/Makefile.mingw
index 1f075439..45feda2b 100644
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -178,9 +178,6 @@ endif
echo #ifndef C_INSTALL_MORE_STATIC_LIBS >>$@
echo # define C_INSTALL_MORE_STATIC_LIBS "$(LIBRARIES)" >>$@
echo #endif >>$@
- echo #ifndef C_DEFAULT_TARGET_STACK_SIZE >>$@
- echo # define C_DEFAULT_TARGET_STACK_SIZE $(NURSERY) >>$@
- echo #endif >>$@
echo #ifndef C_DEFAULT_TARGET_HEAP_SIZE >>$@
echo # define C_DEFAULT_TARGET_HEAP_SIZE 0 >>$@
echo #endif >>$@
diff --git a/batch-driver.scm b/batch-driver.scm
index 42550996..1bd4f678 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -84,9 +84,6 @@
(profile-name
(and-let* ((pn (memq 'profile-name options))) (cadr pn)))
(hsize (memq 'heap-size options))
- (hisize (memq 'heap-initial-size options))
- (hgrowth (memq 'heap-growth options))
- (hshrink (memq 'heap-shrinkage options))
(kwstyle (memq 'keyword-style options))
(uses-units '())
(uunit (memq 'unit options))
@@ -341,20 +338,11 @@
(when (memq 'compile-syntax options)
(set! ##sys#enable-runtime-macros #t) )
(set! target-heap-size
- (if hsize
- (arg-val (option-arg hsize))
- (and-let* ([hsize default-default-target-heap-size]
- [(not (zero? hsize))] )
- hsize) ) )
- (set! target-initial-heap-size (and hisize (arg-val (option-arg hisize))))
- (set! target-heap-growth (and hgrowth (arg-val (option-arg hgrowth))))
- (set! target-heap-shrinkage (and hshrink (arg-val (option-arg hshrink))))
+ (and hsize
+ (arg-val (option-arg hsize))))
(set! target-stack-size
- (if ssize
- (arg-val (option-arg ssize))
- (and-let* ([ssize default-default-target-stack-size]
- [(not (zero? ssize))] )
- ssize) ) )
+ (and ssize
+ (arg-val (option-arg ssize))))
(set! emit-trace-info (not (memq 'no-trace options)))
(set! disable-stack-overflow-checking (memq 'disable-stack-overflow-checks options))
(set! bootstrap-mode (feature? #:chicken-bootstrap))
diff --git a/c-backend.scm b/c-backend.scm
index 32dab846..18e013ef 100644
--- a/c-backend.scm
+++ b/c-backend.scm
@@ -814,15 +814,9 @@
(when disable-stack-overflow-checking
(gen #t "C_disable_overflow_check=1;") )
(unless unit-name
- (cond [target-initial-heap-size
- (gen #t "C_set_or_change_heap_size(" target-initial-heap-size ",1);") ]
- [target-heap-size
- (gen #t "C_set_or_change_heap_size(" target-heap-size ",1);"
- #t "C_heap_size_is_fixed=1;") ] )
- (when target-heap-growth
- (gen #t "C_heap_growth=" target-heap-growth #\;) )
- (when target-heap-shrinkage
- (gen #t "C_heap_shrinkage=" target-heap-shrinkage #\;) )
+ (when target-heap-size
+ (gen #t "C_set_or_change_heap_size(" target-heap-size ",1);"
+ #t "C_heap_size_is_fixed=1;"))
(when target-stack-size
(gen #t "C_resize_stack(" target-stack-size ");") ) )
(gen #t "C_check_nursery_minimum(" demand ");"
diff --git a/c-platform.scm b/c-platform.scm
index 0e987546..5d69bcdf 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -104,7 +104,8 @@
prelude postlude prologue epilogue nursery extend feature no-feature types
emit-import-library emit-inline-file static-extension consult-inline-file
emit-type-file
- heap-growth heap-shrinkage heap-initial-size ffi-define ffi-include-path) )
+ heap-growth heap-shrinkage heap-initial-size ; DEPRECATED
+ ffi-define ffi-include-path) )
;;; Standard and extended bindings:
diff --git a/compiler-namespace.scm b/compiler-namespace.scm
index a23d31d4..819aae11 100644
--- a/compiler-namespace.scm
+++ b/compiler-namespace.scm
@@ -82,7 +82,6 @@
default-debugging-declarations
default-declarations
default-default-target-heap-size
- default-default-target-stack-size
default-extended-bindings
default-optimization-iterations
default-optimization-passes
@@ -277,11 +276,8 @@
stringify
substitution-table
symbolify
- target-heap-growth
- target-heap-shrinkage
target-heap-size
target-include-file
- target-initial-heap-size
target-stack-size
toplevel-lambda-id
toplevel-scope
diff --git a/compiler.scm b/compiler.scm
index d907f633..83de2d2a 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -279,15 +279,8 @@
(define-inline (gensym-f-id) (gensym 'f_))
-(eval-when (eval)
- (define installation-home #f)
- (define default-target-heap-size #f)
- (define default-target-stack-size #f) )
-
-(eval-when (load)
- (define-foreign-variable installation-home c-string "C_INSTALL_SHARE_HOME")
- (define-foreign-variable default-target-heap-size int "C_DEFAULT_TARGET_HEAP_SIZE")
- (define-foreign-variable default-target-stack-size int "C_DEFAULT_TARGET_STACK_SIZE") )
+(define-foreign-variable installation-home c-string "C_INSTALL_SHARE_HOME")
+(define-foreign-variable default-target-heap-size int "C_DEFAULT_TARGET_HEAP_SIZE")
(define-constant foreign-type-table-size 301)
(define-constant analysis-database-size 3001)
@@ -313,7 +306,6 @@
(define block-compilation #f)
(define line-number-database-size default-line-number-database-size)
(define target-heap-size #f)
-(define target-initial-heap-size #f)
(define target-stack-size #f)
(define optimize-leaf-routines #f)
(define emit-profile #f)
@@ -344,12 +336,6 @@
(define enable-specialization #f)
-;;; These are here so that the backend can access them:
-
-(define default-default-target-heap-size default-target-heap-size)
-(define default-default-target-stack-size default-target-stack-size)
-
-
;;; Other global variables:
(define verbose-mode #f)
diff --git a/csc.scm b/csc.scm
index 11bbff0d..8afbdf63 100644
--- a/csc.scm
+++ b/csc.scm
@@ -148,7 +148,9 @@
-optimize-level -include-path -database-size -extend -prelude -postlude -prologue -epilogue
-inline-limit -profile-name
-emit-inline-file -types -emit-type-file
- -feature -debug-level -heap-growth -heap-shrinkage -heap-initial-size -consult-inline-file
+ -feature -debug-level
+ -heap-growth -heap-shrinkage -heap-initial-size ; DEPRECATED
+ -consult-inline-file
-emit-import-library
-no-feature))
@@ -403,9 +405,6 @@ Usage: #{csc} FILENAME | OPTION ...
-unit NAME compile file as a library unit
-uses NAME declare library unit as used.
-heap-size NUMBER specifies heap-size of compiled executable
- -heap-initial-size NUMBER specifies heap-size at startup time
- -heap-growth PERCENTAGE specifies growth-rate of expanding heap
- -heap-shrinkage PERCENTAGE specifies shrink-rate of contracting heap
-nursery NUMBER -stack-size NUMBER
specifies nursery size of compiled
executable
diff --git a/defaults.make b/defaults.make
index 9de2b4c9..03a014d8 100644
--- a/defaults.make
+++ b/defaults.make
@@ -389,9 +389,6 @@ endif
echo "#ifndef C_INSTALL_MORE_STATIC_LIBS" >>$@
echo "# define C_INSTALL_MORE_STATIC_LIBS \"$(LIBRARIES)\"" >>$@
echo "#endif" >>$@
- echo "#ifndef C_DEFAULT_TARGET_STACK_SIZE" >>$@
- echo "# define C_DEFAULT_TARGET_STACK_SIZE $(NURSERY)" >>$@
- echo "#endif" >>$@
echo "#ifndef C_DEFAULT_TARGET_HEAP_SIZE" >>$@
echo "# define C_DEFAULT_TARGET_HEAP_SIZE 0" >>$@
echo "#endif" >>$@
diff --git a/manual/Using the compiler b/manual/Using the compiler
index a3470f24..9d9253e8 100644
--- a/manual/Using the compiler
+++ b/manual/Using the compiler
@@ -68,12 +68,6 @@ the source text should be read from standard input.
; -heap-size NUMBER : Sets a fixed heap size of the generated executable to {{NUMBER}} bytes. The parameter may be followed by a {{M}} ({{m}}) or {{K}} ({{k}}) suffix which stand for mega- and kilobytes, respectively. The default heap size is 5 kilobytes. Note that only half of it is in use at every given time.
-; -heap-initial-size NUMBER : Sets the size that the heap of the compiled application should have at startup time.
-
-; -heap-growth PERCENTAGE : Sets the heap-growth rate for the compiled program at compile time (see: {{-:hg}}).
-
-; -heap-shrinkage PERCENTAGE : Sets the heap-shrinkage rate for the compiled program at compile time (see: {{-:hs}}).
-
; -help : Print a summary of available options and the format of the command line parameters and exit the compiler.
; -ignore-repository : Do not load any extensions from the repository (treat repository as empty). Also do not consult compiled (only interpreted) import libraries in {{import}} forms.
diff --git a/runtime.c b/runtime.c
index a6b2d35d..09b1393b 100644
--- a/runtime.c
+++ b/runtime.c
@@ -131,7 +131,12 @@ extern void _C_do_apply_hack(void *proc, C_word *args, int count) C_noret;
#define RELAX_MULTIVAL_CHECK
-#define DEFAULT_STACK_SIZE 64000
+#ifdef C_SIXTY_FOUR
+# define DEFAULT_STACK_SIZE (1024 * 1024)
+#else
+# define DEFAULT_STACK_SIZE (256 * 1024)
+#endif
+
#define DEFAULT_SYMBOL_TABLE_SIZE 2999
#define DEFAULT_HEAP_SIZE 500000
#define MINIMAL_HEAP_SIZE 500000
diff --git a/support.scm b/support.scm
index 28c950b9..8bf2b6d0 100644
--- a/support.scm
+++ b/support.scm
@@ -1685,9 +1685,6 @@ Usage: chicken FILENAME OPTION ...
-unit NAME compile file as a library unit
-uses NAME declare library unit as used.
-heap-size NUMBER specifies heap-size of compiled executable
- -heap-initial-size NUMBER specifies heap-size at startup time
- -heap-growth PERCENTAGE specifies growth-rate of expanding heap
- -heap-shrinkage PERCENTAGE specifies shrink-rate of contracting heap
-nursery NUMBER -stack-size NUMBER
specifies nursery size of compiled executable
-extend FILENAME load file before compilation commences
Trap