On Fri, 14 Jun 2002, Dan Sugalski wrote:
: At 9:54 AM +0200 6/14/02, Aldo Calpini wrote:
: >you would
: >not be able, for example, to inspect the call stack from inside a Parrot
: >program anymore.
: 
: That, unfortunately, makes it untenable, since we need to be able to 
: do this in the general case. Also, we'll fill up the thread stack 
: pretty quickly. Not hugely fast, mind, but it's still an issue when 
: we have a potentially small stack on hand. (20-40K won't be unusual, 
: unfortunately)
: 
: Believe me, I'd love to get the speed this way, but it'll make some 
: code untenable, and the lack of stack inspection may be a problem. 
: (If it turns out later to not be a problem, well, we can do it then. 
: I like the idea, I just think the limits'll be a problem. Hopefully 
: I'm wrong :)

Hmm.  The routines called from tight loops tend to be leaf nodes.
It might very well be useful to keep track of which routines don't
inspect the stack.  It might even be worthwhile to make a language
rule saying that any routine that uses C<caller> or C<want> must so
indicate in the declaration somehow, via a superpositional return
type or a property.

Larry

Reply via email to