most commonly used functionality, approximately in decreasing order of
frequency of use.
The full interface is described in
-<A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a>
+<A type="text/plain" HREF="../include/gc.h">gc.h</a>
or <TT>gc.h</tt> in the distribution.
<P>
Clients should include <TT>gc.h</tt>.
bitmaps, etc.
More precise information about pointer locations can be communicated to the
collector using the interface in
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc_typedh.txt">gc_typed.h</a> in the distribution.
+<A type="text/plain" HREF="../include/gc_typed.h">gc_typed.h</a> in the distribution.
<DT> <B>void * GC_MALLOC_UNCOLLECTABLE(size_t <I>nbytes</i>)</b>
<DD>
Identical to <TT>GC_MALLOC</tt>,
suitable support in the garbage collector (Linux and most Unix
versions, win32 if the collector was suitably built) or if "stubborn"
allocation is used (see
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a>).
+<A type="text/plain" HREF="../include/gc.h">gc.h</a>).
On many platforms this interacts poorly with system calls
that write to the garbage collected heap.
<DT> <B> GC_warn_proc GC_set_warn_proc(GC_warn_proc <I>p</i>) </b>
The collector
may otherwise write to stderr, most commonly because GC_malloc was used
in a situation in which GC_malloc_ignore_off_page would have been more
-appropriate. See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> for details.
+appropriate. See <A type="text/plain" HREF="../include/gc.h">gc.h</a> for details.
<DT> <B> void GC_REGISTER_FINALIZER(...) </b>
<DD>
Register a function to be called when an object becomes inaccessible.
inaccessible.
It is not an acceptable method to perform actions that must be performed
in a timely fashion.
-See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> for details of the interface.
+See <A type="text/plain" HREF="../include/gc.h">gc.h</a> for details of the interface.
See <A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/finalization.html">here</a> for a more detailed discussion
of the design.
<P>
<P>
The collector distribution also includes a <B>string package</b> that takes
advantage of the collector. For details see
-<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/cordh.txt">cord.h</a>
+<A type="text/plain" HREF="../include/cord.h">cord.h</a>
<H1>C++ Interface</h1>
The C++ interface is implemented as a thin layer on the C interface.
Users may include gc_cpp.h and then cause members of classes to
be allocated in garbage collectable memory by having those classes
inherit from class gc.
-For details see <A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc_cpph.txt">gc_cpp.h</a>.
+For details see <A type="text/plain" HREF="../include/gc_cpp.h">gc_cpp.h</a>.
<P>
Linking against libgccpp in addition to the gc library overrides
::new (and friends) to allocate traceable memory but uncollectable
<DT> <B> C interface </b>
<DD>
It is also possible to use the C interface from
-<A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gch.txt">gc.h</a> directly.
+<A type="text/plain" HREF="../include/gc.h">gc.h</a> directly.
On platforms which use malloc to implement ::new, it should usually be possible
to use a version of the collector that has been compiled as a malloc
replacement. It is also possible to replace ::new and other allocation
<body>
<table bgcolor="#f0f0ff" cellpadding="10%">
<tbody><tr>
- <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">Interface Overview</a></td>
+ <td><a href="gcinterface.html">Interface Overview</a></td>
<td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/04tutorial.pdf">Tutorial Slides</a></td>
<td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">FAQ</a></td>
- <td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">Example</a></td>
+ <td><a href="simple_example.html">Example</a></td>
<td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source">Download</a></td>
<td><a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/license.txt">License</a></td>
</tr>
The collector automatically recycles memory when it determines
that it can no longer be otherwise accessed.
A simple example of such a use is given
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">here</a>.
+<a href="simple_example.html">here</a>.
</p><p>
The collector is also used by a number of programming language
implementations that either use C as intermediate code, want
to facilitate easier interoperation with C libraries, or
just prefer the simple collector interface.
For a more detailed description of the interface, see
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">here</a>.
+<a href="gcinterface.html">here</a>.
</p><p>
Alternatively, the garbage collector may be used as
-a <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html">leak detector</a>
+a <a href="leak.html">leak detector</a>
for C or C++ programs, though that is not its primary goal.
</p><p>
Typically several versions will be available.
during a collection. Starting with collector version 6.0alpha1
we also do this, though with more modest processor scalability goals.
Our approach is discussed briefly in
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/scale.html"><tt>scale.html</tt></a>.
+<a href="scale.html"><tt>scale.html</tt></a>.
<h2><a name="details">Some Collector Details</a></h2>
The collector uses a <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html">mark-sweep</a> algorithm.
It provides incremental and generational
ee the README and
<tt>gc.h</tt> files in the distribution for more details.
<p>
-For an overview of the implementation, see <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">here</a>.
+For an overview of the implementation, see <a href="gcdescr.html">here</a>.
</p><p>
The garbage collector distribution includes a C string
-(<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/cordh.txt"><i>cord</i></a>) package that provides
+(<a type="text/plain" href="../include/cord.h"><i>cord</i></a>) package that provides
for fast concatenation and substring operations on long strings.
A simple curses- and win32-based editor that represents the entire file
as a cord is included as a
a higher level.</b>
</p><p>
(Some of the lower level details can be found
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">here</a>.)
+<a href="gcdescr.html">here</a>.)
</p><p>
The first one is not available
electronically due to copyright considerations. Most of the others are
vector graphics language.</a>
</p><h1><a name="collector">More collector information at this site</a></h1>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/simple_example.html">A simple illustration of how to build and
+<a href="simple_example.html">A simple illustration of how to build and
use the collector.</a>.
<p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html">Description of alternate interfaces to the
+<a href="gcinterface.html">Description of alternate interfaces to the
garbage collector.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/04tutorial.pdf">Slides from an ISMM 2004 tutorial about the GC.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/faq.html">A FAQ (frequently asked questions) list.</a>
</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html">How to use the garbage collector as a leak detector.</a>
+<a href="leak.html">How to use the garbage collector as a leak detector.</a>
</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/debugging.html">Some hints on debugging garbage collected
+<a href="debugging.html">Some hints on debugging garbage collected
applications.</a>
</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcdescr.html">An overview of the implementation of the
+<a href="gcdescr.html">An overview of the implementation of the
garbage collector.</a>
</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/tree.html">The data structure used for fast pointer lookups.</a>
+<a href="tree.html">The data structure used for fast pointer lookups.</a>
</p><p>
-<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/scale.html">Scalability of the collector to multiprocessors.</a>
+<a href="scale.html">Scalability of the collector to multiprocessors.</a>
</p><p>
<a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source">Directory containing garbage collector source.</a>