[Python-Dev] Removing the block stack (was Re: PEP 343 and __with__)
"Martin v. Löwis"
martin at v.loewis.de
Thu Oct 6 09:15:06 CEST 2005
Neal Norwitz wrote:
> My thoughts are to dynamically allocate the Python stack memory (e.g.,
> void *stack = malloc(128MB)). Then all calls within each thread uses
> its own stack. So things would be pushed onto the stack like they are
> currently, but we wouldn't need to do create a tuple to pass to a
> method, they could just be used directly. Basically more closely
> simulate the way it currently works in hardware.
One issue with argument tuples on the stack (or some sort of stack) is
that functions may hold onto argument tuples longer:
def foo(*args):
global last_args
last_args = args
I considered making true tuple objects (i.e. with ob_type etc.) on
the stack, but this possibility breaks it.
Regards,
Martin
More information about the Python-Dev
mailing list