[gclist] Running out of memory with GC_malloc
Boehm, Hans
hans_boehm@hp.com
Mon, 1 May 2000 09:49:15 -0700
To expand on this slightly:
The default behavior of the collector is to start with a very small heap,
and to expand as necessary. At least if you build with -DLARGE_CONFIG, you
should run out of address space on a 32 bit machine before you run into any
real heap size limitations.
GC_expand_hp is a way to force it to start with a larger heap. If you are
running out of memory, it's not a solution.
Hans
-----Original Message-----
From: Fergus Henderson [mailto:fjh@cs.mu.oz.au]
Sent: Saturday, April 29, 2000 9:21 PM
To: John Palmieri
Cc: gclist@iecc.com
Subject: Re: [gclist] Running out of memory with GC_malloc
On 29-Apr-2000, John Palmieri <johnp@martianrock.com> wrote:
> I am having a probelm with the BDW garbage collector. I had been
> creating massive amounts of C++ objects causing my heap to grow beyond
> its allocated size. I fixed this by adding the line:
>
> GC_expand_hp(1024*1024*5);
>
> This worked until I started to load PNG graphic images using GC_malloc.
For large bitmaps, and other objects containing lots of semi-random
bits but no pointers, you should use GC_malloc_atomic() rather than
GC_malloc().
(If you have objects that contain lots of semi-random data plus a few
pointers, you could also use GC_malloc_explicitly_typed().)
--
Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.