Stackless 3.0 alpha 1 at blinding speed

Bjorn Pettersen BPettersen at NAREX.com
Mon Apr 21 13:11:13 EDT 2003


> From: David Abrahams [mailto:dave at boost-consulting.com] 
> 
> "Bjorn Pettersen" <BPettersen at NAREX.com> writes:
> 
> >> From: David Abrahams [mailto:dave at boost-consulting.com] 
> >
> >> Also, "stacklessness" is really an implementation detail 
> >> AFAICT - it just says that all execution context is 
> >> stored in dynamically-allocated structures instead of 
> >> using local variables on the 'C' stack (via a recursive-
> >> calling implementation).
> >> 
> >> Have I misunderstood this whole thing?
> >
> > Which property exactly makes the C stack frames not dynamically
> > allocated? (the sequential property of the allocator, or the 
> > fixed size of the stack itself?)
> 
> Sorry; I guess they're dynamically allocated... on the stack.  IOW,
> not on the heap and with lifetime directly tied to the location of the
> program counter.  That's a more accurate way to say what I meant.

My apologies for being pedantic. Getting to this definition, it's much
easier to see that the lifetime issue is unrelated to the stack itself,
but rather to the algorithm (semantics) of function invocation (instead
of e.g. the lifetime [reachability] of the objects created there). In
other words, coming from a different background than the Algol lineage,
one can easier argue that there can exist other invocation semantics
that are more natural, although they don't map directly onto the HW
architecture...

-- bjorn





More information about the Python-list mailing list