;; Stack limit calibration file. ;; ;; This file is automatically generated by Guile when it builds, in ;; order to set the stack limit to a value that reflects the stack ;; usage of the build platform (OS + compiler + compilation options), ;; specifically so that none of Guile's own tests (which are run by ;; `make check') fail because of a benign stack overflow condition. ;; ;; By a `benign' stack overflow condition, we mean one where the test ;; code is behaving correctly, but exceeds the configured stack limit ;; because the limit is set too low. A non-benign stack overflow ;; condition would be if a piece of test code behaved significantly ;; differently on some platform to how it does normally, and as a ;; result consumed a lot more stack. Although they seem pretty ;; unlikely, we would want to catch non-benign conditions like this, ;; and that is why we don't just do `(debug-set! stack 0)' when ;; running `make check'. ;; ;; Although the primary purpose of this file is to prevent `make ;; check' from failing without good reason, Guile developers and users ;; may also find the following information useful, when determining ;; what stack limit to configure for their own programs. (let (;; The stack high water mark measured when starting up the ;; standard Guile REPL on the current build platform. (top-repl-hwm-measured 28408) ;; The value of top-repl-hwm-measured that we get when building ;; Guile on an i686 PC GNU/Linux system, after configuring with ;; `./configure --enable-maintainer-mode --with-threads'. ;; (Hereafter referred to as the `canonical' build platform.) (top-repl-hwm-i686-pc-linux-gnu 9461) ;; Guile's default stack limit (i.e. the initial, C-coded value ;; of the 'stack debug option). In the context of this file, ;; the important thing about this number is that we know that ;; it allows all of the `make check' tests to pass on the ;; canonical build platform. (default-stack-limit 20000) ;; Calibrated stack limit. This is the default stack limit, ;; scaled by the factor between top-repl-hwm-i686-pc-linux-gnu ;; and top-repl-hwm-measured. (calibrated-stack-limit 60052)) ;; Configure the calibrated stack limit. (debug-set! stack calibrated-stack-limit))