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

Reply via email to