[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH][5] Make temporary stack resizable (fixes #

From: felix . winkelmann
Subject: Re: [Chicken-hackers] [PATCH][5] Make temporary stack resizable (fixes #1098)
Date: Sun, 01 Nov 2015 01:36:53 +0100

> Hi all,
> Now that we're using argvectors, we're no longer limited by any arbitrary
> C macros or platform-specific hacks.  The only two things that determine
> the number of arguments that can be passed to a procedure are:
> 1) The size of the C stack (because that's where argvectors are allocated)
> 2) The size of the temporary stack (because that's where argvectors are
>    copied for safekeeping during GC, which blows away the stack)
> For now, fixing 1) is a bit of overkill, though it might be possible by
> allocating argvectors in the heap.  Doing this will be tricky because now
> we're assuming everywhere that the stack is to be used for argvectors.
> But 2) has been a thorn in my side for a long time.  It gets dangerously
> close to the "arbitrary limitations" that the Scheme way of life always
> tries so hard to avoid.  Especially since the temporary stack can easily
> be resized!

Is this really necessary? I think runtime.c is already complicated enough as it
is. I understand your intent, but I'm always wary of "arbitrary fixes to 
limitations, just because they are limitations". I think an arg-limit makes 
there are certain constructs that don't scale. If I have to pass 10 million 
to a procedure, I'm probably doing something wrong.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]