Greetings! (si::use-fast-links nil)
overrides the 'purely C function pointer call' mechanism I spoke of before and instead pushes everything to the lisp stacks for debugging purposes. In sum, this (lisp stack) is the calling mechanism for 1) interpreted functions, 2) unproclaimed compiled functions and 3) all functions when turning off fast links. If you omit this line, I think you should see a restartable "Control stack overflow" after much swapping provided you machine can handle the 1 Gb stack. If you'd like to see the behavior on a more limited C stack image, this can be configured via --enable-cssize=????. Before this, GCL would segfault and abort on this condition. Take care, Robert Boyer <[EMAIL PROTECTED]> writes: > Thanks. Still dumb here. > > > I've increased the default C stack to 1 Gb per our converstaion, so to > > actually overflow will likely cause your machine to swap for quite a while. > > Wonderful news, but I don't see any evidence of it. > > Running these commands: > > /p/bin/gcl-2.6.6twc+ > (defun foo (x) (+ 1 (foo (+ x 1)))) > (proclaim '(ftype (function (t) t) foo)) > (compile 'foo) > (si::use-fast-links nil) > (foo 1) > :bt > > the stack only looks about 1000 function calls deep, with concluding output: > > Error: Invocation history stack overflow. > Error signalled by FOO. > Broken at SYSTEM::BREAK-LEVEL. Type :H for Help. > >> > #0 FOO {loc0=4089,loc1=4090,loc2=4091} [ihs=4095] > #1 FOO {loc0=4088} [ihs=4094] > #2 FOO {loc0=4087} [ihs=4093] > > ... > > > #995 FOO {loc0=3094} [ihs=3100] > #996 FOO {loc0=3093} [ihs=3099] > #997 FOO {loc0=3092} [ihs=3098] > #998 FOO {loc0=3091} [ihs=3097] > #999 FOO {loc0=3090} [ihs=3096] > NIL > >> > > Bob > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel