[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Sat, 12 Feb 2005 22:16:44 GMT 
Subject:Re: Bug: clisp let* causes Stack-empty and/or runaway poplog 
From:Jonathan L Cunningham 
Volume-ID: 

On Sat, 12 Feb 2005 19:51:23 +0000 (UTC), hebisch@math.uni.wroc.pl
wrote:

>Currently Poplog can handle at most 255 lvars. However it seems

>IMHO the limit is too small.  Is there any fundamental reason to
>have so small limit?  I  see that procedure records have only 1 byte
>field to stre frame size, but this seem easy to change (at modest
>space penalty).

I agree that the limit is too small, on current machines.

I can think of a couple of reasons why someone might want larger
stack frames.

Jonathan

-- 
 Mail to spam auto-deleted, use jlc1 instead.
>From kers@hpl.hp.com Mon Feb 14 09:22:24 2005
Path: news.demon.co.uk!mutlu.news.demon.net!peer-uk.news.demon.net!kibo.news.demon.net!demon!stdio!newsfeed.frii.net!newsfeed.frii.net!news.compaq.com!malatesta.hpl.hp.com!not-for-mail
From: Chris Dollin <kers@hpl.hp.com>
Newsgroups: comp.lang.pop
Subject: Re: Bug: clisp let* causes Stack-empty and/or runaway poplog
Date: Mon, 14 Feb 2005 09:22:24 +0000
Organization: HPLB
Lines: 25
Message-ID: <cupqkg$ini$1@malatesta.hpl.hp.com>
References: <culmnr$t37$1@soapbox.cs.bham.ac.uk> <420e7fb6.13000424@usenet.plus.net>
NNTP-Posting-Host: cdollin.hpl.hp.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
X-Trace: malatesta.hpl.hp.com 1108372944 19186 15.144.90.22 (14 Feb 2005 09:22:24 GMT)
X-Complaints-To: usenet@malatesta.hpl.hp.com
NNTP-Posting-Date: Mon, 14 Feb 2005 09:22:24 +0000 (UTC)
User-Agent: KNode/0.7.2
Xref: news.demon.co.uk comp.lang.pop:1423

Jonathan L Cunningham wrote:

> On Sat, 12 Feb 2005 19:51:23 +0000 (UTC), hebisch@math.uni.wroc.pl
> wrote:
> 
>>Currently Poplog can handle at most 255 lvars. However it seems
> 
>>IMHO the limit is too small.  Is there any fundamental reason to
>>have so small limit?  I  see that procedure records have only 1 byte
>>field to stre frame size, but this seem easy to change (at modest
>>space penalty).
> 
> I agree that the limit is too small, on current machines.

If your procedure needs more than 255 locals, it's too big. 

If your procedure needs more than *16* locals, it's probably too big ...

Of course that's assuming human-constructed procedures.

And 16 might actually be 32, since we have to count machine-generated
temporaries.

-- 
Chris "almost but not quite completely serious" Dollin
>From A.Sloman@cs.bham.ac.uk Mon Feb 14 10:42:22 2005
Path: news.demon.co.uk!mutlu.news.demon.net!peer-uk.news.demon.net!kibo.news.demon.net!demon!newsfeed00.sul.t-online.de!t-online.de!news.zanker.org!border2.nntp.ams.giganews.com!nntp.giganews.com!mephistopheles.news.clara.net!news.clara.net!valentin.news.clara.net!193.60.199.18.MISMATCH!feed2.jnfs.ja.net!jnfs.ja.net!warwick!news-out.ftel.co.uk!bhamcs!news
From: A.Sloman@cs.bham.ac.uk
Newsgroups: comp.lang.pop
Subject: Re: Bug: clisp let* causes Stack-empty and/or runaway poplog
Date: Mon, 14 Feb 2005 10:42:22 +0000 (UTC)
Organization: cs.bham.ac.uk MAIL->NEWS gateway
Lines: 33
Message-ID: <cupvae$1281$1@soapbox.cs.bham.ac.uk>
X-Trace: soapbox.cs.bham.ac.uk 1108377742 35073 147.188.192.10 (14 Feb 2005 10:42:22 GMT)
X-Complaints-To: abuse@cs.bham.ac.uk
X-Relay-Info: Relayed through cs.bham.ac.uk MAIL->NEWS gateway
Originator: exim@emily
Xref: news.demon.co.uk comp.lang.pop:1424

On Mon, 14 Feb 2005, Chris Dollin wrote:

> Jonathan L Cunningham wrote:
> ...
> > I agree that the limit is too small, on current machines.
>
> If your procedure needs more than 255 locals, it's too big.

Not if you are trying to develop a fortran compiler in pop11???

>..
> Of course that's assuming human-constructed procedures.

I assume the reported Lisp problem that drew attention to the current
limit was was a program-generated expression. No human would have
produced it, I am sure.

While we are at this, maybe it's also time to increase the size of the
poplog dictionary (a hash-table) currently only 1024 (set in
$popsrc/consword.p the macro DICT_HASH_MASK)

But what should it be?

I wonder if it could be made expandable at run time. At present it seems
to be used only in consword.p and syscancelword.p.

Not in gcmain.p for instance.

Aaron