POS
Bill House
bhouse@dazsi.com
Sat, 10 May 1997 09:00:27 -0700
Christopher J. Vogt wrote:
>
>My only opinion on this is that I want to be sure to be able to *NOT* use
>POS.
>
>Similarly, wrt GC, I want to be able to allocate/deallocate memory myself
>on occasion, and not have the GC involved. Of course I want the GC
>avaiable, and used on most of my objects.
FWIW, here's an excerpt of docs about the way objects interact with GC under
the Gambit-C Scheme compiler. Among the interesting bits is the concept of
having different GC algorithms responsible for different memory stores:
====
Object representation.
Memory allocated Scheme objects can be allocated using one of three
allocation strategies:
Permanently allocated:
These objects, called 'permanent objects' for short, are never
moved or reclaimed, and all pointers to memory allocated
objects they contain must point to permanent objects. As a
consequence, the GC does not have to scan permanent objects.
Permanent objects can be allocated on the C heap, but they are
typically allocated in C global variables and structures that are
set up when the program starts up or when a module is dynamically
loaded.
Still dynamically allocated:
These objects, called 'still objects' for short, are allocated on
the C heap. Still objects are never moved but they can be reclaimed by
the GC. A mark-and-sweep GC is used to garbage-collect still objects.
Movable dynamically allocated:
These objects, called 'movable objects' for short, are allocated
in an area of memory that is managed by a compacting GC. The GC can
move and reclaim movable objects.
======
Bill House
--
http://www.dazsi.com
The views expressed are mine alone,
unless you agree with me.