Article: 41719 of comp.sys.newton.misc
Path: samba.rahul.net!rahul.net!a2i!hustle.rahul.net!rahul.net!a2i!news.clark.net!europa.clark.net!news.mathworks.com!uunet!in3.uu.net!192.233.85.167!shore!news
From: "Jim Bailey" <jdb@shore.net>
Newsgroups: comp.sys.newton.misc
Subject: Re: Heap space: why is it a fixed size?
Date: 9 Apr 97 03:42:26 -0400
Organization: Shore.Net/Eco Software, Inc; (info@shore.net)
Lines: 65
Message-ID: <AF70C0C8-63959@204.167.101.247>
References: <5iejia$bp9@clarknet.clark.net>
NNTP-Posting-Host: mrlbma-01-222.port.shore.net
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
X-Mailer: Cyberdog/2.0
X-News-Servers: news.shore.net
X-Newsgroups-TO: nntp://news.shore.net/comp.sys.newton.misc

Cool, Flash is now the Newton System Architect of record :)  Why did you
divide heap into categories Flash?

There are lots of different memory spaces on the Newton. Ideally, you
wouldn't have to know about any of them :)  In the real world, the one
where people write software, problems have made people aware of heap
issues.

It started with "Frames" heap.  This is the heap that NewtonScript
programmers use for runtime memory.  Things like storing variables and
where soup data is put when it is actively being used during runtime. 
Early on people used far more programs on their Newtons than Apple
anticipated (why it wasn't anticipated is a good question).  Making matters
worse, there wasn't much knowledge in the Newton developer community about
the memory architecture of the Newton.  Programs would keep used frame
memory long after it was useful, even when the program wasn't in use. 
Everyone ran out of heap.  Developers learned to be more frugal.  Newer
Newtons had more frames heap.  Everyone was happy (except Flash who keeps
more applications on his Newton than anyone else on the planet in an
attempt to win some obscure contest that only he knows the rules to.)

Then Apple released the Newton Internet Enabler.  It didn't work well on
the premier Newton of its day, the MP120.  So Apple released the MP130 with
double the system memory.  Everyone said, "aha!"  The NIE is using all of
the heap on the MP120.  I've seen this problem before.  And it became
conventional wisdom that the NIE used up frames heap.  But in reality, it
was a kind of heap most users hadn't heard of before that was in short
supply this time.  System heap.  System heap isn't generally available to
NewtonScript programmers.  Things like views use it up, but when and how it
is used is obscure and not documented because the NewtonScript programmer
probably couldn't really do anything about using it up anyway.  For some
reason I've never fathomed, freezing applications seems to free up system
heap, thereby compounding the confusion since freezing applications is a
generally accepted practice to free up frames heap as well.

There is a developers tool called "Heap Show" that shows the status of
these heaps and something called "Handles" as well.  Maybe someday Apple
can write something that uses up all of my handles so that we can throw
that in the pot as well.  BTW, it is a really techie looking application,
very cool, very difficult to interpret.  Get a copy you can use it to
impress your friends.

I hope this is way more information than you wanted (I know the history is
more or less correct, my interpretations of Newton memory architecture is
all just speculation).

On Tue, Apr 8, 1997 7:15 PM, PeterW att clark .net
<mailto:mightbe_peterw@clark.net.foo.com> wrote:
->>The NIE problems on the MP120, as I recall, weren't primarily Frames
->>Heap problems, they were System Heap, and were largely a genuine 
->>hardware limitation.  Giving the MP120 more Frames Heap would have
->>meant less System Heap, and less stability on the whole. 
->
->I thought I was doing well to understand the difference between Heap and
->Soups, and now Flash divides Heap into categories!  Aiiiiiyyyeee !!!
->



--
Jim Bailey               Fetch Software, Inc.
jdb@shore.net         <http://www.tiac.net/users/jdb>





