summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog20
-rw-r--r--README.md4
-rw-r--r--allchblk.c6
-rw-r--r--alloc.c2
-rw-r--r--configure.ac2
-rw-r--r--cord/cordxtra.c2
-rw-r--r--dbg_mlc.c2
-rw-r--r--doc/README.amiga32
-rw-r--r--doc/README.cords6
-rw-r--r--doc/README.hp2
-rw-r--r--doc/README.linux8
-rw-r--r--doc/debugging.html8
-rw-r--r--doc/gcdescr.html12
-rw-r--r--doc/gcinterface.html30
-rw-r--r--doc/leak.html3
-rw-r--r--doc/overview.html2
-rw-r--r--doc/simple_example.html2
-rw-r--r--gc_cpp.cc2
-rw-r--r--include/gc_mark.h6
-rw-r--r--include/gc_pthread_redirects.h2
-rw-r--r--include/new_gc_alloc.h6
-rw-r--r--include/private/dbg_mlc.h2
-rw-r--r--include/private/gc_pmark.h2
-rw-r--r--include/private/gc_priv.h6
-rw-r--r--new_hblk.c13
-rw-r--r--os_dep.c18
-rw-r--r--ptr_chck.c2
27 files changed, 99 insertions, 103 deletions
diff --git a/ChangeLog b/ChangeLog
index bff5f7a2..599f54fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5831,7 +5831,7 @@ at least in the past, imposed hard bounds on the number of threads.
win32_threads.c for those two cases.
* Got rid of the FASTLOCK() machinery. It doesn't seem useful on modern
platforms.
-* Cleaned up the uncollectable allocation routines, speeding up the
+* Cleaned up the uncollectible allocation routines, speeding up the
slower paths. The code did enough unnecessary work off the critical path
that the underlying logic was getting hard to extract.
* No longer turn off THREAD_LOCAL_ALLOC with DBG_HDRS_ALL. Indications
@@ -6448,7 +6448,7 @@ is not in gcc3.3.)
* Attempted to sanitize the various DLL macros. GC_USE_DLL disappeared.
GC_DLL is used instead. All internal tests are now on GC_DLL.
README.macros is now more precise about the intended meaning.
-* Include DllMain in the multithreaded win32 version only if the
+* Include DllMain in the multi-threaded win32 version only if the
collector is actually built as a dll.
* Hide the cygwin threadAttach/Detach functions. They were violating our
namespace rules.
@@ -6726,8 +6726,8 @@ declaration.
dllimport/export defines in gc.h.
* GC_malloc_many didn't set hb_last_reclaimed when it called
GC_reclaim_generic. (I'm not sure this matters much, but ...)
-* Allocating uncollectable objects with debug information sometimes
-allocated objects that were one byte too small, since uncollectable
+* Allocating uncollectible objects with debug information sometimes
+allocated objects that were one byte too small, since uncollectible
objects don't have the extra byte added at the end.
* Added a bit more assertion checking to make sure that gcj objects
on free lists never have a nonzero second word.
@@ -6765,7 +6765,7 @@ compatible with Visual C++ 6.
* Some more patches for Linux on HP PA-RISC.
* Added include/gc_allocator.h. It implements (hopefully) standard
conforming (as opposed to SGI-style) allocators that allocate
-collectable (gc_allocator) or GC-traceable, but not collectable
+collectible (gc_allocator) or GC-traceable, but not collectible
(traceable_allocator) objects. This borrows heavily from libstc++,
which borrows heavily from the SGI implementation, this part of
which was written by Matt Austern. Changed test_cpp.cc to very
@@ -7572,7 +7572,7 @@ correctly.
an out of memory situation.
* Fixed a syntactic error in the DJGPP code. Also fixed a test program
problem with DJGPP.
-* Atomic uncollectable objects were not treated correctly by the
+* Atomic uncollectible objects were not treated correctly by the
incremental collector. This resulted in weird log statistics and
occasional performance problems.
* Fixed some problems resulting from compilers that don't define
@@ -7678,7 +7678,7 @@ memory.
* Calls to GC_base before the collector was initialized failed on a
DEC Alpha.
* Added base pointer checking to GC_REGISTER_FINALIZER in debugging mode.
-* GC_debug_realloc failed for uncollectable objects.
+* GC_debug_realloc failed for uncollectible objects.
* Explicitly typed allocation could crash if it ran out of memory.
* Added minimal support for a DEC Alpha running Linux.
* Fixed a problem with allocation of objects whose size overflowed
@@ -7689,7 +7689,7 @@ ptrdiff_t. (This now fails unconditionally, as it should.)
* Fixed a serious bug in README.solaris2.
Multi-threaded programs must include
gc.h with SOLARIS_THREADS defined.
-* Changed GC_free so it actually deallocates uncollectable objects.
+* Changed GC_free so it actually deallocates uncollectible objects.
* Added Linux ELF support for dynamic libraries.
* Changed the Borland cc configuration so that the assembler is not
required.
@@ -7993,7 +7993,7 @@ in the presence of ALL_INTERIOR_POINTERS.
the single-threaded case.
* Reduced retry count in GC_collect_or_expand for garbage
collecting when out of memory.
-* Made uncollectable allocations bypass black-listing, as they
+* Made uncollectible allocations bypass black-listing, as they
should.
* Fixed a bug in typed_test in test.c that could cause (legitimate)
GC crashes.
@@ -8149,7 +8149,7 @@ out by Dave Detlefs and Al Dosser.
* A more refined heap expansion policy. Less space usage by default.
* Various minor enhancements to reduce space usage, and to reduce
the amount of memory scanned by the collector.
-* Uncollectable allocation without per object overhead.
+* Uncollectible allocation without per object overhead.
* More conscientious handling of out-of-memory conditions.
* Fixed a bug in debugging stubborn allocation.
* Fixed a bug that resulted in occasional erroneous reporting of smashed
diff --git a/README.md b/README.md
index 767f2d67..c87b7d15 100644
--- a/README.md
+++ b/README.md
@@ -109,7 +109,7 @@ _WARNING_: pointers inside memory allocated by the standard `malloc` are not
seen by the garbage collector. Thus objects pointed to only from such a
region may be prematurely deallocated. It is thus suggested that the
standard `malloc` be used only for memory regions, such as I/O buffers, that
-are guaranteed not to contain pointers to garbage collectable memory.
+are guaranteed not to contain pointers to garbage collectible memory.
Pointers in C language automatic, static, or register variables,
are correctly recognized. (Note that `GC_malloc_uncollectable` has
semantics similar to standard malloc, but allocates objects that are
@@ -475,7 +475,7 @@ of information:
This mechanism performs best for objects that are written only for
initialization, and such that only one stubborn object is writable
at once. It is typically not worth using for short-lived
-objects. Stubborn objects are treated less efficiently than pointerfree
+objects. Stubborn objects are treated less efficiently than pointer-free
(atomic) objects.
A rough rule of thumb is that, in the absence of VM information, garbage
diff --git a/allchblk.c b/allchblk.c
index 9afa878e..25e11a46 100644
--- a/allchblk.c
+++ b/allchblk.c
@@ -735,7 +735,7 @@ GC_allochblk_nth(size_t sz, int kind, unsigned flags, int n, int may_split)
/* The block is completely blacklisted. We need */
/* to drop some such blocks, since otherwise we spend */
- /* all our time traversing them if pointerfree */
+ /* all our time traversing them if pointer-free */
/* blocks are unpopular. */
/* A dropped block will be reconsidered at next GC. */
if ((++count & 3) == 0) {
@@ -800,8 +800,8 @@ GC_allochblk_nth(size_t sz, int kind, unsigned flags, int n, int may_split)
}
# ifndef GC_DISABLE_INCREMENTAL
/* Notify virtual dirty bit implementation that we are about to */
- /* write. Ensure that pointerfree objects are not protected if */
- /* it's avoidable. This also ensures that newly allocated */
+ /* write. Ensure that pointer-free objects are not protected */
+ /* if it is avoidable. This also ensures that newly allocated */
/* blocks are treated as dirty. Necessary since we don't */
/* protect free blocks. */
GC_ASSERT((size_needed & (HBLKSIZE-1)) == 0);
diff --git a/alloc.c b/alloc.c
index cfd90149..c8623dca 100644
--- a/alloc.c
+++ b/alloc.c
@@ -559,7 +559,7 @@ GC_API int GC_CALL GC_collect_a_little(void)
#ifndef SMALL_CONFIG
/* Variables for world-stop average delay time statistic computation. */
/* "divisor" is incremented every world-stop and halved when reached */
- /* its maximum (or upon "total_time" oveflow). */
+ /* its maximum (or upon "total_time" overflow). */
static unsigned world_stopped_total_time = 0;
static unsigned world_stopped_total_divisor = 0;
# ifndef MAX_TOTAL_TIME_DIVISOR
diff --git a/configure.ac b/configure.ac
index 6358963d..a2fbe88c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -126,7 +126,7 @@ AC_ARG_ENABLE(cplusplus,
dnl Features which may be selected in the following thread-detection switch.
AH_TEMPLATE([PARALLEL_MARK], [Define to enable parallel marking.])
AH_TEMPLATE([THREAD_LOCAL_ALLOC],
- [Define to enable thread-local allocation optimisation.])
+ [Define to enable thread-local allocation optimization.])
AH_TEMPLATE([USE_COMPILER_TLS],
[Define to use of compiler-support for thread-local variables.])
diff --git a/cord/cordxtra.c b/cord/cordxtra.c
index 8597b061..610ea893 100644
--- a/cord/cordxtra.c
+++ b/cord/cordxtra.c
@@ -582,7 +582,7 @@ CORD CORD_from_file_lazy_inner(FILE * f, size_t len)
/* This greatly increases the probability */
/* of avoiding deadlock if buffer allocation */
/* is redirected to GC_malloc and the */
- /* world is multithreaded. */
+ /* world is multi-threaded. */
char buf[1];
if (fread(buf, 1, 1, f) > 1) {
diff --git a/dbg_mlc.c b/dbg_mlc.c
index 54126e03..c58a633a 100644
--- a/dbg_mlc.c
+++ b/dbg_mlc.c
@@ -28,7 +28,7 @@
/* of the heap. */
/* This excludes the check as to whether the back pointer is */
/* odd, which is added by the GC_HAS_DEBUG_INFO macro. */
- /* Note that if DBG_HDRS_ALL is set, uncollectable objects */
+ /* Note that if DBG_HDRS_ALL is set, uncollectible objects */
/* on free lists may not have debug information set. Thus it's */
/* not always safe to return TRUE (1), even if the client does */
/* its part. Return -1 if the object with debug info has been */
diff --git a/doc/README.amiga b/doc/README.amiga
index ea2a2f68..bf18d3f6 100644
--- a/doc/README.amiga
+++ b/doc/README.amiga
@@ -1,8 +1,8 @@
Kjetil S. Matheussen's notes (28-11-2000)
-Compiles under SAS/C again. Should allso still compile under other
-amiga compilers without big changes. I haven't checked if it still
-works under gcc, because I don't have gcc for amiga. But I have
+Compiles under SAS/C again. Should also still compile under other
+Amiga compilers without big changes. I haven't checked if it still
+works under gcc, because I don't have gcc for Amiga. But I have
updated 'Makefile', and hope it compiles fine.
@@ -15,7 +15,7 @@ WHATS NEW:
The lower part of the new file AmigaOS.c does this in various ways, mainly by
wrapping GC_malloc, GC_malloc_atomic, GC_malloc_uncollectable,
GC_malloc_atomic_uncollectable, GC_malloc_stubborn, GC_malloc_ignore_off_page
- and GC_malloc_atomic_ignore_off_page. GC_realloc is allso wrapped, but
+ and GC_malloc_atomic_ignore_off_page. GC_realloc is also wrapped, but
doesn't do the same effort in preventing to return chip-mem.
Other allocating-functions (f.ex. GC_*_typed_) can probably be
used without any problems, but beware that the warn hook will not be called.
@@ -33,7 +33,7 @@ WHATS NEW:
If you absolutely must call abort() instead of exit(), try calling
the GC_amiga_free_all_mem function before abort().
- New amiga-spesific compilation flags:
+ New Amiga-specific compilation flags:
GC_AMIGA_FASTALLOC - By NOT defining this option, GC will work like before,
it will not try to force fast-mem out of the OS, and
@@ -45,7 +45,7 @@ WHATS NEW:
GC_AMIGA_GC - If gc returns NULL, do a GC_gcollect, and try again. This
usually is a success with the standard GC configuration.
- It is allso the most important flag to set to prevent
+ It is also the most important flag to set to prevent
GC from returning chip-mem. Beware that it slows down a lot
when a program is rapidly allocating/deallocating when
theres either very little fast-memory left or verly little
@@ -66,10 +66,10 @@ WHATS NEW:
GC_AMIGA_ONLYFAST.
If your program demands high response-time, you should
- not define GC_AMIGA_GC, and possible allso define GC_AMIGA_ONLYFAST.
+ not define GC_AMIGA_GC, and possible also define GC_AMIGA_ONLYFAST.
GC_AMIGA_RETRY does not seem to slow down much.
- Allso, when compiling up programs, and GC_AMIGA_FASTALLOC was not defined when
+ Also, when compiling up programs, and GC_AMIGA_FASTALLOC was not defined when
compilling gc, you can define GC_AMIGA_MAKINGLIB to avoid having these allocation-
functions wrapped. (see gc.h)
@@ -81,20 +81,20 @@ WHATS NEW:
GC_AMIGA_FASTALLOC by letting the function go thru the new
GC_amiga_allocwrapper_do function-pointer (see gc.h). Means that
sending function-pointers, such as GC_malloc, GC_malloc_atomic, etc.,
- for later to be called like f.ex this, (*GC_malloc_functionpointer)(size),
+ for later to be called like f.ex this, (*GC_malloc_function_pointer)(size),
will not wrap the function. This is normally not a big problem, unless
all allocation function is called like this, which will cause the
atexit un-allocating function never to be called. Then you either
have to manually add the atexit handler, or call the allocation-
functions function-pointer functions like this;
- (*GC_amiga_allocwrapper_do)(size,GC_malloc_functionpointer).
+ (*GC_amiga_allocwrapper_do)(size,GC_malloc_function_pointer).
There are probably better ways this problem could be handled, unfortunately,
I didn't find any without rewriting or replacing a lot of the GC-code, which
I really didn't want to. (Making new GC_malloc_* functions, and just
- define f.ex GC_malloc as GC_amiga_malloc should allso work).
+ define f.ex GC_malloc as GC_amiga_malloc should work too).
- New amiga-spesific function:
+ New Amiga-specific function:
void GC_amiga_set_toany(void (*func)(void));
@@ -103,10 +103,10 @@ WHATS NEW:
it will return chip-mem.
-2. A few small compiler-spesific additions to make it compile with SAS/C again.
+2. A few small compiler-specific additions to make it compile with SAS/C again.
3. Updated and rewritten the smakefile, so that it works again and that
- the "unnecesarry" 'SCOPTIONS' files could be removed. Allso included
+ the "unnecessary" 'SCOPTIONS' files could be removed. Also included
the cord-smakefile stuff in the main smakefile, so that the cord smakefile
could be removed too. By writing smake -f Smakefile.smk, both gc.lib and
cord.lib will be made.
@@ -119,14 +119,14 @@ Programs can not be started from workbench, at least not for SAS/C. (Martin
Tauchmanns note about that it now works with workbench is definitely wrong
when concerning SAS/C). I guess it works if you use the old "#if 0'ed"-code,
but I haven't tested it. I think the reason for MT to replace the
-"#if 0'ed"-code was only because it was a bit to SAS/C-spesific. But I
+"#if 0'ed"-code was only because it was a bit to SAS/C-specific. But I
don't know. An iconx-script solves this problem anyway.
BEWARE!
-To run gctest, set the stack to around 200000 bytes first.
--SAS/C-spesific: cord will crash if you compile gc.lib with
+-SAS/C-specific: cord will crash if you compile gc.lib with
either parm=reg or parm=both. (missing legal prototypes for
function-pointers someplace is the reason I guess.).
diff --git a/doc/README.cords b/doc/README.cords
index 5730a7f8..0339a9a9 100644
--- a/doc/README.cords
+++ b/doc/README.cords
@@ -23,13 +23,13 @@ Boehm, Atkinson, and Plass, "Ropes: An Alternative to Strings",
Software Practice and Experience 25, 12, December 1995, pp. 1315-1330.
A fundamentally similar "rope" data structure is also part of SGI's standard
-template library implementation, and its descendents, which include the
+template library implementation, and its descendants, which include the
GNU C++ library. That uses reference counting by default.
There is a short description of that data structure at
http://reality.sgi.com/boehm/ropeimpl.html . (The more official location
http://www.sgi.com/tech/stl/ropeimpl.html is missing a figure.)
-All of these are descendents of the "ropes" in Xerox Cedar.
+All of these are descendants of the "ropes" in Xerox Cedar.
cord/tests/de.c is a very dumb text editor that illustrates the use of cords.
It maintains a list of file versions. Each version is simply a
@@ -38,7 +38,7 @@ editing operations are efficient, even on very large files.
(Its 3 line "user manual" can be obtained by invoking it without
arguments. Note that ^R^N and ^R^P move the cursor by
almost a screen. It does not understand tabs, which will show
-up as highlighred "I"s. Use the UNIX "expand" program first.)
+up as highlighted "I"s. Use the UNIX "expand" program first.)
To build the editor, type "make cord/de" in the gc directory.
This package assumes an ANSI C compiler such as gcc. It will
diff --git a/doc/README.hp b/doc/README.hp
index caa8bdd1..d9fe7c8b 100644
--- a/doc/README.hp
+++ b/doc/README.hp
@@ -1,6 +1,6 @@
Dynamic loading support requires that executables be linked with -ldld.
The alternative is to build the collector without defining DYNAMIC_LOADING
-in gcconfig.h and ensuring that all garbage collectable objects are
+in gcconfig.h and ensuring that all garbage collectible objects are
accessible without considering statically allocated variables in dynamic
libraries.
diff --git a/doc/README.linux b/doc/README.linux
index dc0fa543..f490365c 100644
--- a/doc/README.linux
+++ b/doc/README.linux
@@ -1,7 +1,7 @@
See README.alpha for Linux on DEC AXP info.
-This file applies mostly to Linux/Intel IA32. Ports to Linux on an M68K, IA64,
-SPARC, MIPS, Alpha and PowerPC are also integrated. They should behave
+This file applies mostly to Linux/Intel IA32. Ports to Linux on an M68K,
+IA64, SPARC, MIPS, Alpha and PowerPC are integrated too. They should behave
similarly, except that the PowerPC port lacks incremental GC support, and
it is unknown to what extent the Linux threads code is functional.
See below for M68K specific notes.
@@ -60,8 +60,8 @@ To use threads, you need to abide by the following requirements:
6) Thread local storage may not be viewed as part of the root set by the
collector. This probably depends on the linuxthreads version. For the
- time being, any collectable memory referenced by thread local storage should
- also be referenced from elsewhere, or be allocated as uncollectable.
+ time being, any collectible memory referenced by thread local storage
+ should also be referenced from elsewhere, or be allocated as uncollectible.
(This is really a bug that should be fixed somehow. The current GC
version probably gets things right if there are not too many tls locations
and if dlopen is not used.)
diff --git a/doc/debugging.html b/doc/debugging.html
index cc51d7f3..158e4faa 100644
--- a/doc/debugging.html
+++ b/doc/debugging.html
@@ -38,9 +38,9 @@ platforms, this will cause the collector to loop in a handler when the
SIGSEGV is encountered (or when the collector aborts for some other reason),
and a debugger can then be attached to the looping
process. This sidesteps common operating system problems related
-to incomplete core files for multithreaded applications, etc.
+to incomplete core files for multi-threaded applications, etc.
<H2>Other Signals</h2>
-On most platforms, the multithreaded version of the collector needs one or
+On most platforms, the multi-threaded version of the collector needs one or
two other signals for internal use by the collector in stopping threads.
It is normally wise to tell the debugger to ignore these. On Linux,
the collector currently uses SIGPWR and SIGXCPU by default.
@@ -183,7 +183,7 @@ pseudo-random numbers, and the like. It is also likely to improve GC
performance, perhaps drastically so if the application is paging.
<LI> If you allocate large objects containing only
one or two pointers at the beginning, either try the typed allocation
-primitives is <TT>gc_typed.h</tt>, or separate out the pointerfree component.
+primitives is <TT>gc_typed.h</tt>, or separate out the pointer-free component.
<LI> Consider using <TT>GC_malloc_ignore_off_page()</tt>
to allocate large objects. (See <TT>gc.h</tt> and above for details.
Large means &gt; 100K in most environments.)
@@ -201,7 +201,7 @@ value in a heap object. This should, of course, be impossible. In practice,
it may happen for reasons like the following:
<OL>
<LI> The collector did not intercept the creation of threads correctly in
-a multithreaded application, <I>e.g.</i> because the client called
+a multi-threaded application, <I>e.g.</i> because the client called
<TT>pthread_create</tt> without including <TT>gc.h</tt>, which redefines it.
<LI> The last pointer to an object in the garbage collected heap was stored
somewhere were the collector couldn't see it, <I>e.g.</i> in an
diff --git a/doc/gcdescr.html b/doc/gcdescr.html
index 7879ef49..8a1dae06 100644
--- a/doc/gcdescr.html
+++ b/doc/gcdescr.html
@@ -87,7 +87,7 @@ Different kinds are handled somewhat differently by certain parts
of the garbage collector. Certain kinds are scanned for pointers,
others are not. Some may have per-object type descriptors that
determine pointer locations. Or a specific kind may correspond
-to one specific object layout. Two built-in kinds are uncollectable.
+to one specific object layout. Two built-in kinds are uncollectible.
One (<TT>STUBBORN</tt>) is immutable without special precautions.
In spite of that, it is very likely that most C clients of the
collector currently
@@ -250,8 +250,8 @@ a stop-the-world collection is:
objects. In this case <TT>GC_objects_are_marked</tt> will simultaneously
be false, so the mark state is advanced to
<LI> <TT>MS_PUSH_UNCOLLECTABLE</tt> indicating that it suffices to push
-uncollectable objects, roots, and then mark everything reachable from them.
-<TT>Scan_ptr</tt> is advanced through the heap until all uncollectable
+uncollectible objects, roots, and then mark everything reachable from them.
+<TT>Scan_ptr</tt> is advanced through the heap until all uncollectible
objects are pushed, and objects reachable from them are marked.
At that point, the next call to <TT>GC_mark_some</tt> calls
<TT>GC_push_roots</tt> to push the roots. It the advances the
@@ -498,8 +498,8 @@ to follow a ``pointer'' to just outside the garbage-collected heap, or
to a currently unallocated page inside the heap. Pages that have been
the targets of such near misses are likely to be the targets of
misidentified ``pointers'' in the future. To minimize the future
-damage caused by such misidentifications they will be allocated only to
-small pointerfree objects.
+damage caused by such misidentification, they will be allocated only to
+small pointer-free objects.
<P>
The collector understands two different kinds of black-listing. A
page may be black listed for interior pointer references
@@ -520,7 +520,7 @@ a block to a particular object kind and size. It occasionally
drops (i.e. allocates and forgets) blocks that are completely black-listed
in order to avoid excessively long large block free lists containing
only unusable blocks. This would otherwise become an issue
-if there is low demand for small pointerfree objects.
+if there is low demand for small pointer-free objects.
<H2>Thread support</h2>
We support several different threading models. Unfortunately Pthreads,
diff --git a/doc/gcinterface.html b/doc/gcinterface.html
index eaa038c4..31a41fcd 100644
--- a/doc/gcinterface.html
+++ b/doc/gcinterface.html
@@ -30,7 +30,7 @@ or <TT>gc.h</tt> in the distribution.
<P>
Clients should include <TT>gc.h</tt>.
<P>
-In the case of multithreaded code,
+In the case of multi-threaded code,
<TT>gc.h</tt> should be included after the threads header file, and
after defining the appropriate <TT>GC_</tt><I>XXXX</i><TT>_THREADS</tt> macro.
(For 6.2alpha4 and later, simply defining <TT>GC_THREADS</tt> should suffice.)
@@ -74,7 +74,7 @@ collector using the interface in
Identical to <TT>GC_MALLOC</tt>,
except that the resulting object is not automatically
deallocated. Unlike the system-provided malloc, the collector does
-scan the object for pointers to garbage-collectable memory, even if the
+scan the object for pointers to garbage-collectible memory, even if the
block itself does not appear to be reachable. (Objects allocated in this way
are effectively treated as roots by the collector.)
<DT> <B> void * GC_REALLOC(void *<I>old</i>, size_t <I>new_size</i>) </b>
@@ -84,12 +84,12 @@ old object into the new object. The old object is reused in place if
convenient. If the original object was allocated with
<TT>GC_MALLOC_ATOMIC</tt>,
the new object is subject to the same constraints. If it was allocated
-as an uncollectable object, then the new object is uncollectable, and
+as an uncollectible object, then the new object is uncollectible, and
the old object (if different) is deallocated.
<DT> <B> void GC_FREE(void *<I>dead</i>) </b>
<DD>
Explicitly deallocate an object. Typically not useful for small
-collectable objects.
+collectible objects.
<DT> <B> void * GC_MALLOC_IGNORE_OFF_PAGE(size_t <I>nbytes</i>) </b>
<DD>
<DT> <B> void * GC_MALLOC_ATOMIC_IGNORE_OFF_PAGE(size_t <I>nbytes</i>) </b>
@@ -188,11 +188,11 @@ are many "standard" ways to allocate memory in C++. The default ::new
operator, default malloc, and default STL allocators allocate memory
that is not garbage collected, and is not normally "traced" by the
collector. This means that any pointers in memory allocated by these
-default allocators will not be seen by the collector. Garbage-collectable
+default allocators will not be seen by the collector. Garbage-collectible
memory referenced only by pointers stored in such default-allocated
objects is likely to be reclaimed prematurely by the collector.
<P>
-It is the programmers responsibility to ensure that garbage-collectable
+It is the programmers responsibility to ensure that garbage-collectible
memory is referenced by pointers stored in one of
<UL>
<LI> Program variables
@@ -200,7 +200,7 @@ memory is referenced by pointers stored in one of
<LI> Uncollected but "traceable" objects
</ul>
"Traceable" objects are not necessarily reclaimed by the collector,
-but are scanned for pointers to collectable objects.
+but are scanned for pointers to collectible objects.
They are usually allocated by <TT>GC_MALLOC_UNCOLLECTABLE</tt>, as described
above, and through some interfaces described below.
<P>
@@ -209,8 +209,8 @@ exception objects. Thus objects thrown as exceptions should only
point to otherwise reachable memory. This is another bug whose
proper repair requires platform hooks.)
<P>
-The easiest way to ensure that collectable objects are properly referenced
-is to allocate only collectable objects. This requires that every
+The easiest way to ensure that collectible objects are properly referenced
+is to allocate only collectible objects. This requires that every
allocation go through one of the following interfaces, each one of
which replaces a standard C++ allocation mechanism. Note that
this requires that all STL containers be explicitly instantiated with
@@ -227,7 +227,7 @@ allocator implementation in <TT>gc_allocator.h</tt>. It defines
</ul>
which may be used either directly to allocate memory or to instantiate
container templates.
-The former allocates uncollectable but traced memory.
+The former allocates uncollectible but traced memory.
The latter allocates garbage-collected memory.
<P>
These should work with any fully standard-conforming C++ compiler.
@@ -244,8 +244,8 @@ This defines SGI-style allocators
<LI> <TT>gc_alloc</tt>
<LI> <TT>single_client_gc_alloc</tt>
</ul>
-The first two allocate uncollectable but traced
-memory, while the second two allocate collectable memory.
+The first two allocate uncollectible but traced
+memory, while the second two allocate collectible memory.
The <TT>single_client</tt> versions are not safe for concurrent access by
multiple threads, but are faster.
<P>
@@ -253,13 +253,13 @@ For an example, click <A HREF="http://hpl.hp.com/personal/Hans_Boehm/gc/gc_alloc
<DT> <B> Class inheritance based interface for new-based allocation</b>
<DD>
Users may include gc_cpp.h and then cause members of classes to
-be allocated in garbage collectable memory by having those classes
+be allocated in garbage collectible memory by having those classes
inherit from class gc.
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
-memory, making it safe to refer to collectable objects from the resulting
+::new (and friends) to allocate traceable memory but uncollectible
+memory, making it safe to refer to collectible objects from the resulting
memory.
<DT> <B> C interface </b>
<DD>
diff --git a/doc/leak.html b/doc/leak.html
index 7751a131..d6e8a4c5 100644
--- a/doc/leak.html
+++ b/doc/leak.html
@@ -166,8 +166,7 @@ detection mode on a program a.out under Linux/X86 as follows:
<OL>
<LI> <I>Ensure that a.out is a single-threaded executable, or you are using
a very recent (7.0alpha7+) collector version on Linux.</i>
-On most platforms this does not
-work at all for multithreaded programs.
+On most platforms this does not work at all for the multi-threaded programs.
<LI> If possible, ensure that the <TT>addr2line</tt> program is installed in
<TT>/usr/bin</tt>. (It comes with most Linux distributions.)
<LI> If possible, compile your program, which we'll call <TT>a.out</tt>,
diff --git a/doc/overview.html b/doc/overview.html
index d0552522..6754a3c1 100644
--- a/doc/overview.html
+++ b/doc/overview.html
@@ -161,7 +161,7 @@ for programs written for malloc/free
<a href="ftp://ftp.cs.colorado.edu/pub/techreports/zorn/CU-CS-665-93.ps.Z">Memory Allocation Costs in Large C and C++ Programs</a>.)
For programs allocating primarily very small objects, the collector
may be faster; for programs allocating primarily large objects it will
-be slower. If the collector is used in a multithreaded environment
+be slower. If the collector is used in a multi-threaded environment
and configured for thread-local allocation, it may in some cases
significantly outperform malloc/free allocation in time.
</p><p>
diff --git a/doc/simple_example.html b/doc/simple_example.html
index 95e49a6b..98ae4244 100644
--- a/doc/simple_example.html
+++ b/doc/simple_example.html
@@ -133,7 +133,7 @@ This can never hurt, and is thus generally good practice.
<H3><FONT COLOR=green>Threads</font></h3>
<FONT COLOR=green>
-For a multithreaded program some more rules apply:
+For a multi-threaded program, some more rules apply:
</font>
<UL>
<LI>
diff --git a/gc_cpp.cc b/gc_cpp.cc
index 9f64b748..0f6c9d2b 100644
--- a/gc_cpp.cc
+++ b/gc_cpp.cc
@@ -12,7 +12,7 @@
This implementation module for gc_c++.h provides an implementation of
the global operators "new" and "delete" that calls the Boehm
allocator. All objects allocated by this implementation will be
-non-collectable but part of the root set of the collector.
+uncollectible but part of the root set of the collector.
You should ensure (using implementation-dependent techniques) that the
linker finds this module before the library that defines the default
diff --git a/include/gc_mark.h b/include/gc_mark.h
index 4c003c03..2f88f38a 100644
--- a/include/gc_mark.h
+++ b/include/gc_mark.h
@@ -108,8 +108,8 @@ typedef struct GC_ms_entry * (*GC_mark_proc)(GC_word * /* addr */,
/* The latter alternative can be used if each */
/* object contains a type descriptor in the */
/* first word. */
- /* Note that in multithreaded environments */
- /* per object descriptors must be located in */
+ /* Note that in the multi-threaded environments */
+ /* per-object descriptors must be located in */
/* either the first two or last two words of */
/* the object, since only those are guaranteed */
/* to be cleared while the allocation lock is */
@@ -184,7 +184,7 @@ GC_API unsigned GC_CALL GC_new_proc(GC_mark_proc);
GC_API unsigned GC_CALL GC_new_proc_inner(GC_mark_proc);
/* Allocate an object of a given kind. By default, there are only */
-/* a few kinds: composite (pointer-free), atomic, uncollectable, etc. */
+/* a few kinds: composite (pointer-free), atomic, uncollectible, etc. */
/* We claim it is possible for clever client code that understands the */
/* GC internals to add more, e.g. to communicate object layout */
/* information to the collector. Note that in the multi-threaded */
diff --git a/include/gc_pthread_redirects.h b/include/gc_pthread_redirects.h
index 37cb249a..f0ab25e7 100644
--- a/include/gc_pthread_redirects.h
+++ b/include/gc_pthread_redirects.h
@@ -25,7 +25,7 @@
/* that we can locate thread stacks and stop the world. */
/* Note also that the collector cannot always see thread specific data. */
/* Thread specific data should generally consist of pointers to */
-/* uncollectable objects (allocated with GC_malloc_uncollectable, */
+/* uncollectible objects (allocated with GC_malloc_uncollectable, */
/* not the system malloc), which are deallocated using the destructor */
/* facility in thr_keycreate. Alternatively, keep a redundant pointer */
/* to thread specific data on the thread stack. */
diff --git a/include/new_gc_alloc.h b/include/new_gc_alloc.h
index bf09780e..94020cdd 100644
--- a/include/new_gc_alloc.h
+++ b/include/new_gc_alloc.h
@@ -128,14 +128,14 @@ public:
// real one must be updated with a procedure call.
static size_t GC_bytes_recently_allocd;
- // Same for uncollectable memory. Not yet reflected in either
+ // Same for uncollectible memory. Not yet reflected in either
// GC_bytes_recently_allocd or GC_non_gc_bytes.
static size_t GC_uncollectable_bytes_recently_allocd;
// Similar counter for explicitly deallocated memory.
static size_t GC_bytes_recently_freed;
- // Again for uncollectable memory.
+ // Again for uncollectible memory.
static size_t GC_uncollectable_bytes_recently_freed;
static void * GC_out_of_line_malloc(size_t nwords, int kind);
@@ -247,7 +247,7 @@ class single_client_gc_alloc_template {
typedef single_client_gc_alloc_template<0> single_client_gc_alloc;
-// Once more, for uncollectable objects.
+// Once more, for uncollectible objects.
template <int dummy>
class single_client_traceable_alloc_template {
public:
diff --git a/include/private/dbg_mlc.h b/include/private/dbg_mlc.h
index 7b2969d2..deda69c7 100644
--- a/include/private/dbg_mlc.h
+++ b/include/private/dbg_mlc.h
@@ -112,7 +112,7 @@ typedef struct {
#else
/* Add space for END_FLAG, but use any extra space that was already */
/* added to catch off-the-end pointers. */
- /* For uncollectable objects, the extra byte is not added. */
+ /* For uncollectible objects, the extra byte is not added. */
# define UNCOLLECTABLE_DEBUG_BYTES (sizeof (oh) + sizeof (word))
# define DEBUG_BYTES (UNCOLLECTABLE_DEBUG_BYTES - EXTRA_BYTES)
#endif
diff --git a/include/private/gc_pmark.h b/include/private/gc_pmark.h
index 0192ef7c..05a7c144 100644
--- a/include/private/gc_pmark.h
+++ b/include/private/gc_pmark.h
@@ -473,7 +473,7 @@ typedef int mark_state_t; /* Current state of marking, as follows:*/
/* grungy objects above scan_ptr. */
#define MS_PUSH_UNCOLLECTABLE 2 /* I holds, except that marked */
- /* uncollectable objects above scan_ptr */
+ /* uncollectible objects above scan_ptr */
/* may point to unmarked objects. */
/* Roots may point to unmarked objects */
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h
index c477fae3..097522e2 100644
--- a/include/private/gc_priv.h
+++ b/include/private/gc_priv.h
@@ -1139,14 +1139,14 @@ struct _GC_arrays {
/* free list for atomic objs */
# endif
void *_uobjfreelist[MAXOBJGRANULES+1];
- /* Uncollectable but traced objs */
+ /* Uncollectible but traced objs */
/* objects on this and auobjfreelist */
/* are always marked, except during */
/* garbage collections. */
# ifdef ATOMIC_UNCOLLECTABLE
# define GC_auobjfreelist GC_arrays._auobjfreelist
void *_auobjfreelist[MAXOBJGRANULES+1];
- /* Atomic uncollectable but traced objs */
+ /* Atomic uncollectible but traced objs */
# endif
word _composite_in_use; /* Number of bytes in the accessible */
/* composite objects. */
@@ -1255,7 +1255,7 @@ struct _GC_arrays {
struct callinfo _last_stack[NFRAMES];
/* Stack at last garbage collection. Useful for */
/* debugging mysterious object disappearances. In the */
- /* multithreaded case, we currently only save the */
+ /* multi-threaded case, we currently only save the */
/* calling stack. */
# endif
};
diff --git a/new_hblk.c b/new_hblk.c
index e2992d44..05c4abff 100644
--- a/new_hblk.c
+++ b/new_hblk.c
@@ -164,16 +164,13 @@ GC_INNER ptr_t GC_build_fl(struct hblk *h, size_t sz, GC_bool clear,
return ((ptr_t)p);
}
-/*
- * Allocate a new heapblock for small objects of size gran granules.
- * Add all of the heapblock's objects to the free list for objects
- * of that size.
- * Set all mark bits if objects are uncollectable.
- * Will fail to do anything if we are out of memory.
- */
+/* Allocate a new heapblock for small objects of size gran granules. */
+/* Add all of the heapblock's objects to the free list for objects */
+/* of that size. Set all mark bits if objects are uncollectible. */
+/* Will fail to do anything if we are out of memory. */
GC_INNER void GC_new_hblk(size_t gran, int kind)
{
- struct hblk *h; /* the new heap block */
+ struct hblk *h; /* the new heap block */
GC_bool clear = GC_obj_kinds[kind].ok_init;
GC_STATIC_ASSERT((sizeof (struct hblk)) == HBLKSIZE);
diff --git a/os_dep.c b/os_dep.c
index 87fdc0d0..738ca254 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -3520,15 +3520,15 @@ void GC_unprotect_range(ptr_t addr, word len)
/* This still serves as sample code if you do want to wrap system calls.*/
#if !defined(MSWIN32) && !defined(MSWINCE) && !defined(GC_USE_LD_WRAP)
-/* Replacement for UNIX system call. */
-/* Other calls that write to the heap should be handled similarly. */
-/* Note that this doesn't work well for blocking reads: It will hold */
-/* the allocation lock for the entire duration of the call. Multithreaded */
-/* clients should really ensure that it won't block, either by setting */
-/* the descriptor nonblocking, or by calling select or poll first, to */
-/* make sure that input is available. */
-/* Another, preferred alternative is to ensure that system calls never */
-/* write to the protected heap (see above). */
+/* Replacement for UNIX system call. */
+/* Other calls that write to the heap should be handled similarly. */
+/* Note that this doesn't work well for blocking reads: It will hold */
+/* the allocation lock for the entire duration of the call. */
+/* Multi-threaded clients should really ensure that it won't block, */
+/* either by setting the descriptor non-blocking, or by calling select */
+/* or poll first, to make sure that input is available. */
+/* Another, preferred alternative is to ensure that system calls never */
+/* write to the protected heap (see above). */
# include <unistd.h>
# include <sys/uio.h>
ssize_t read(int fd, void *buf, size_t nbyte)
diff --git a/ptr_chck.c b/ptr_chck.c
index 308bd531..011b27ef 100644
--- a/ptr_chck.c
+++ b/ptr_chck.c
@@ -183,7 +183,7 @@ void (GC_CALLBACK *GC_is_visible_print_proc)(void * p) =
/* in hard cases. (This is intended for debugging use with */
/* untyped allocations. The idea is that it should be possible, though */
/* slow, to add such a call to all indirect pointer stores.) */
-/* Currently useless for multithreaded worlds. */
+/* Currently useless for the multi-threaded worlds. */
GC_API void * GC_CALL GC_is_visible(void *p)
{
hdr *hhdr;