From: Ivan Maidanski Date: Thu, 25 Aug 2011 08:42:13 +0000 (+0400) Subject: Move information about the authors and their emails from the source X-Git-Tag: gc7_3alpha2~388 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=232974d10a48ed540f51ec3b8b30636e34a96e63;p=gc Move information about the authors and their emails from the source files to AUTHORS file. (This information could also be observed via "git log" or by looking into the original version of a file.) * doc/README.DGUX386: Remove original-author and modified-by information (as well as email and time-stamp) from the file. * doc/README.Mac: Ditto. * doc/README.amiga: Ditto. * doc/README.cords: Ditto. * doc/README.darwin: Ditto. * doc/README.dj: Ditto. * doc/README.ews4800: Ditto. * doc/README.win32: Ditto. * doc/barrett_diagram: Ditto. * include/private/gcconfig.h: Ditto. * tests/initsecondarythread.c: Ditto. * AUTHORS: Add authors information (with emails). * doc/README.Mac: Remove non Lattin-1 characters. * README: Update email to sending bugs information. * doc/README.Mac: Expand all tabs to spaces; remove trailing spaces at EOLn. * doc/README.amiga: Ditto. * doc/barrett_diagram: Ditto. --- diff --git a/AUTHORS b/AUTHORS index 16be9c49..70bbc4bb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -31,7 +31,7 @@ Robert Brazile (brazile@diamond.bbn.com) originally supplied the ULTRIX code. Al Dosser (dosser@src.dec.com) and Regis Cridlig (Regis.Cridlig@cl.cam.ac.uk) subsequently provided updates and information on variation between ULTRIX systems. Parag Patel (parag@netcom.com) supplied the A/UX code. -Jesper Peterson(jep@mtiame.mtia.oz.au), Michel Schinz, and +Jesper Peterson(jep@mtiame.mtia.oz.au), Michel Schinz , and Martin Tauchmann (martintauchmann@bigfoot.com) supplied the Amiga port. Thomas Funke (thf@zelator.in-berlin.de(?)) and Brian D.Carlstrom (bdc@clark.lcs.mit.edu) supplied the NeXT ports. @@ -57,11 +57,23 @@ made it into the released version of the collector, yet.) More contributors: Andrej Cedilnik -Bradley D. LaRonde +Bradley D. LaRonde +Brian Alliet +Dave Barrett +Dietmar Planitzer +Gary Leavens Grzegorz Jakacki -Margaret Fleck +Hironori Sakamoto +Ivan Demakov +Kjetil S. Matheussen +Lars Farm +Ludovic Courtes +Margaret Fleck Oliver Kurth +Patrick C. Beard Petter Urkedal Rob Haack +Takis Psarogiannakopoulos Tilman Vogel -Tom Tromey +Tom Tromey +Xiaokun Zhu diff --git a/README b/README index 8ca035bd..251ae507 100644 --- a/README +++ b/README @@ -538,8 +538,7 @@ reclaimed. Exclusive-or'ing forward and backward links in a list doesn't cut it. Some C optimizers may lose the last undisguised pointer to a memory object as a consequence of clever optimizations. This has almost -never been observed in practice. Send mail to boehm@acm.org -for suggestions on how to fix your compiler. +never been observed in practice. This is not a real-time collector. In the standard configuration, percentage of time required for collection should be constant across heap sizes. But collection pauses will increase for larger heaps. @@ -549,6 +548,6 @@ is enabled. per MB of accessible memory that needs to be scanned and processor. Your mileage may vary.) The incremental/generational collection facility may help in some cases. - Please address bug reports to boehm@acm.org. If you are + Please address bug reports to gc@linux.hpl.hp.com. If you are contemplating a major addition, you might also send mail to ask whether it's already been done (or whether we tried and discarded it). diff --git a/doc/README.DGUX386 b/doc/README.DGUX386 index 19e90daa..0aa89bdf 100644 --- a/doc/README.DGUX386 +++ b/doc/README.DGUX386 @@ -36,13 +36,6 @@ mark (aka --enable-parallel-mark) makes a BIG difference. Takis Psarogiannakopoulos - University of Cambridge - Centre for Mathematical Sciences - Department of Pure Mathematics - Wilberforce Road - Cambridge CB3 0WB ,UK , - January 2002 - Note (HB): The integration of this patch is currently not complete. diff --git a/doc/README.Mac b/doc/README.Mac index ae9c1d5e..61ca9547 100644 --- a/doc/README.Mac +++ b/doc/README.Mac @@ -39,12 +39,6 @@ provide a supported port of the GC to MacOS. It works for me. If it works for you, great. If it doesn't, sorry, try again...;-) Still, if you find errors, please let me know. - mailto: lars.farm@ite.mh.se - - address: Lars Farm - Krönvägen 33b - 856 44 Sundsvall - Sweden Porting to MacOS is a bit more complex than it first seems. Which MacOS? 68K/PowerPC? Which compiler? Each supports both 68K and PowerPC and offer a @@ -256,7 +250,7 @@ prefix: #include #undef NDEBUG -#define ALL_INTERIOR_POINTERS /* for GC_priv.h */ +#define ALL_INTERIOR_POINTERS /* for GC_priv.h */ ---- ( cut here ) ---- 3) Test that the C++ interface 'gc_cpp.cc/h' works with 'test_cpp.cc'. @@ -335,7 +329,6 @@ Very few. Just one tiny in the GC, not strictly needed. It worked for me, hope it works for you. Lars Farm - 18 July 1997 ---------------------------------------------------------------------------- @@ -356,35 +349,33 @@ Testing ------- To test the collector (always a good idea), build one of the gctest projects, -gctest.¹ (Symantec C++/THINK C), mw/gctest.68K.¹, or mw/gctest.PPC.¹. The +gctest. (Symantec C++/THINK C), mw/gctest.68K, or mw/gctest.PPC. The test will ask you how many times to run; 1 should be sufficient. -Building +Building -------- For your convenience project files for the major Macintosh development systems are provided. -For Symantec C++/THINK C, you must build the two projects gclib-1.¹ and -gclib-2.¹. It has to be split up because the collector has more than 32k +For Symantec C++/THINK C, you must build the two projects gclib-1 and +gclib-2. It has to be split up because the collector has more than 32k of static data and no library can have more than this in the Symantec environment. (Future versions will probably fix this.) -For Metrowerks C/C++ 4.5 you build gc.68K.¹/gc.PPC.¹ and the result will +For Metrowerks C/C++ 4.5 you build gc.68K/PPC and the result will be a library called gc.68K.lib/gc.PPC.lib. Using ----- -Under Symantec C++/THINK C, you can just add the gclib-1.¹ and gclib-2.¹ +Under Symantec C++/THINK C, you can just add the gclib-1 and gclib-2 projects to your own project. Under Metrowerks, you add gc.68K.lib or gc.PPC.lib and two additional files. You add the files called datastart.c and dataend.c to your project, bracketing all files that use the collector. -See mw/gctest.¹ for an example. +See mw/gctest for an example. Include the projects/libraries you built above into your own project, #include "gc.h", and call GC_malloc. You don't have to call GC_free. - Patrick C. Beard -January 4, 1995 diff --git a/doc/README.amiga b/doc/README.amiga index 730dce3f..7e48146a 100644 --- a/doc/README.amiga +++ b/doc/README.amiga @@ -45,7 +45,7 @@ WHATS NEW: no effect if this flag is set. GC_AMIGA_GC - If gc returns NULL, do a GC_gcollect, and try again. This - usually is a success with the standard GC configuration. + usually is a success with the standard GC configuration. It is allso 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 @@ -133,15 +133,11 @@ BEWARE! tested with software: Radium, http://www.stud.ifi.uio.no/~ksvalast/radium/ - tested with hardware: MC68060 --ksvalast@ifi.uio.no - - =========================================================================== - Martin Tauchmann's notes (1-Apr-99) + Martin Tauchmann's notes (1-Apr-99) =========================================================================== Works now, also with the GNU-C compiler V2.7.2.1. @@ -183,13 +179,8 @@ TESTED WITH HARDWARE MC68030 -CONTACT - -Please, contact me at , when you change the -Amiga port. - =========================================================================== - Michel Schinz's notes + Michel Schinz's notes =========================================================================== WHO DID WHAT @@ -228,14 +219,9 @@ In addition to Jesper's notes, I have the following to say: is loaded in memory, whether a segment is a code or a data segment, please let me know. -PROBLEMS - -If you have any problem with this version, please contact me at -schinz@alphanet.ch (but do *not* send long files, since we pay for -every mail!). =========================================================================== - Jesper Peterson's notes + Jesper Peterson's notes =========================================================================== ADDITIONAL NOTES FOR AMIGA PORT @@ -309,14 +295,3 @@ compares favourably with an HP9000 with similar architecture (a 325 with a 68030 I think). ----------------------------------------------------------------------- - -The Amiga port has been brought to you by: - -Jesper Peterson. - -jep@mtiame.mtia.oz.au (preferred, but 1 week turnaround) -jep@orca1.vic.design.telecom.au (that's orca, 1 day turnaround) - -At least one of these addresses should be around for a while, even -though I don't work for either of the companies involved. - diff --git a/doc/README.cords b/doc/README.cords index 3485e014..1bb67003 100644 --- a/doc/README.cords +++ b/doc/README.cords @@ -9,8 +9,7 @@ Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. -Please send bug reports to Hans-J. Boehm (Hans_Boehm@hp.com or -boehm@acm.org). +Please send bug reports to Hans-J. Boehm. This is a string packages that uses a tree-based representation. See cord.h for a description of the functions provided. Ec.h describes @@ -50,4 +49,3 @@ of arguments in non-standard-conforming ways. This code is known to break on some platforms, notably PowerPC. It should be possible to build the remainder of the library (everything but cordprnt.c) on any platform that supports the collector. - diff --git a/doc/README.darwin b/doc/README.darwin index ca4be89b..ec24404c 100644 --- a/doc/README.darwin +++ b/doc/README.darwin @@ -89,7 +89,6 @@ Jeff Sturm, and Jesse Rosenstock for all their work on the Darwin/OS X port. -Brian Alliet -brian@brianweb.net gc_cpp.h usage ============== @@ -127,7 +126,6 @@ The original MacOS X port was brought to you by Andrew Stone. June, 1 2000 Dietmar Planitzer -dave.pl@ping.at Note from Andrew Begel: diff --git a/doc/README.dj b/doc/README.dj index 613bc423..786e81a7 100644 --- a/doc/README.dj +++ b/doc/README.dj @@ -1,12 +1,9 @@ -[Original version supplied by Xiaokun Zhu ] -[This version came mostly from Gary Leavens. ] Look first at Makefile.dj, and possibly change the definitions of RM and MV if you don't have rm and mv installed. Then use Makefile.dj to compile the garbage collector. For example, you can do: - make -f Makefile.dj test + make -f Makefile.dj test All the tests should work fine. - diff --git a/doc/README.ews4800 b/doc/README.ews4800 index 80bca2b3..d4ea32aa 100644 --- a/doc/README.ews4800 +++ b/doc/README.ews4800 @@ -71,11 +71,10 @@ GC on EWS4800 _end = DATAEND -- -Hironori SAKAMOTO +Hironori SAKAMOTO When using the new "configure; make" build process, please run configure with the --disable-shared option. "Make check" does not yet pass with dynamic libraries. Ther reasons for that are not yet understood. (HB, paraphrasing message from Hironori SAKAMOTO.) - diff --git a/doc/README.win32 b/doc/README.win32 index 4a030cf3..2c127497 100644 --- a/doc/README.win32 +++ b/doc/README.win32 @@ -56,7 +56,7 @@ minutes (a few seconds on a modern machine) before you check the output. You should see either a failure indication or a "Collector appears to work" message. -If you would prefer a VC++.NET project file, ask boehm@acm.org. One has +If you would prefer a VC++ .NET project file, ask Hans Boehm. One has been contributed, but it seems to contain some absolute paths etc., so it can presumably only be a starting point, and is not in the standard distribution. It is unclear (to me, Hans Boehm) whether it is feasible to @@ -147,9 +147,6 @@ If the gc is compiled as dll, the macro ``GC_DLL'' should be defined before including "gc.h" (for example, with -DGC_DLL compiler option). It's important, otherwise resulting programs will not run. -Ivan Demakov (email: ivan@tgrad.nsk.su) - -Note from Ivan Maidanski: Special note for OpenWatcom users: the C (unlike the C++) compiler (of the latest stable release, not sure for older ones) doesn't force pointer global diff --git a/doc/barrett_diagram b/doc/barrett_diagram index 27e80dc1..6f7d2fe3 100644 --- a/doc/barrett_diagram +++ b/doc/barrett_diagram @@ -1,15 +1,15 @@ This is an ASCII diagram of the data structure used to check pointer -validity. It was provided by Dave Barrett , +validity. It was provided by Dave Barrett, and should be of use to others attempting to understand the code. The data structure in GC4.X is essentially the same. -HB - Data Structure used by GC_base in gc3.7: - 21-Apr-94 - - + Data Structure used by GC_base in gc3.7: + 21-Apr-94 + + 63 LOG_TOP_SZ[11] LOG_BOTTOM_SZ[10] LOG_HBLKSIZE[13] @@ -17,82 +17,82 @@ The data structure in GC4.X is essentially the same. -HB p:| | TL_HASH(hi) | | HBLKDISPL(p) | +------------------+----------------+------------------+------------------+ \-----------------------HBLKPTR(p)-------------------/ - \------------hi-------------------/ + \------------hi-------------------/ \______ ________/ \________ _______/ \________ _______/ V V V | | | - GC_top_index[] | | | - --- +--------------+ | | | - ^ | | | | | - | | | | | | - TOP +--------------+<--+ | | - _SZ +-<| [] | * | | -(items)| +--------------+ if 0 < bi< HBLKSIZE | | - | | | | then large object | | - | | | | starts at the bi'th | | - v | | | HBLK before p. | i | - --- | +--------------+ | (word- | - v | aligned) | - bi= |GET_BI(p){->hash_link}->key==hi | | - v | | - | (bottom_index) \ scratch_alloc'd | | - | ( struct bi ) / by get_index() | | - --- +->+--------------+ | | + GC_top_index[] | | | + --- +--------------+ | | | + ^ | | | | | + | | | | | | + TOP +--------------+<--+ | | + _SZ +-<| [] | * | | +(items)| +--------------+ if 0 < bi< HBLKSIZE | | + | | | | then large object | | + | | | | starts at the bi'th | | + v | | | HBLK before p. | i | + --- | +--------------+ | (word- | + v | aligned) | + bi= |GET_BI(p){->hash_link}->key==hi | | + v | | + | (bottom_index) \ scratch_alloc'd | | + | ( struct bi ) / by get_index() | | + --- +->+--------------+ | | ^ | | | | ^ | | | | BOTTOM | | ha=GET_HDR_ADDR(p) | | _SZ(items)+--------------+<----------------------+ +-------+ - | +--<| index[] | | - | | +--------------+ GC_obj_map: v - | | | | from / +-+-+-----+-+-+-+-+ --- - v | | | GC_add < 0| | | | | | | | ^ - --- | +--------------+ _map_entry \ +-+-+-----+-+-+-+-+ | + | +--<| index[] | | + | | +--------------+ GC_obj_map: v + | | | | from / +-+-+-----+-+-+-+-+ --- + v | | | GC_add < 0| | | | | | | | ^ + --- | +--------------+ _map_entry \ +-+-+-----+-+-+-+-+ | | | asc_link | +-+-+-----+-+-+-+-+ MAXOBJSZ - | +--------------+ +-->| | | j | | | | | +1 - | | key | | +-+-+-----+-+-+-+-+ | - | +--------------+ | +-+-+-----+-+-+-+-+ | - | | hash_link | | | | | | | | | | v + | +--------------+ +-->| | | j | | | | | +1 + | | key | | +-+-+-----+-+-+-+-+ | + | +--------------+ | +-+-+-----+-+-+-+-+ | + | | hash_link | | | | | | | | | | v | +--------------+ | +-+-+-----+-+-+-+-+ --- - | | |<--MAX_OFFSET--->| + | | |<--MAX_OFFSET--->| | | (bytes) -HDR(p)| GC_find_header(p) | |<--MAP_ENTRIES-->| - | \ from | =HBLKSIZE/WORDSZ +HDR(p)| GC_find_header(p) | |<--MAP_ENTRIES-->| + | \ from | =HBLKSIZE/WORDSZ | (hdr) (struct hblkhdr) / alloc_hdr() | (1024 on Alpha) +-->+----------------------+ | (8/16 bits each) -GET_HDR(p)| word hb_sz (words) | | - +----------------------+ | +GET_HDR(p)| word hb_sz (words) | | + +----------------------+ | | struct hblk *hb_next | | - +----------------------+ | + +----------------------+ | |mark_proc hb_mark_proc| | +----------------------+ | | char * hb_map |>-------------+ - +----------------------+ - | ushort hb_obj_kind | - +----------------------+ - | hb_last_reclaimed | - --- +----------------------+ + +----------------------+ + | ushort hb_obj_kind | + +----------------------+ + | hb_last_reclaimed | + --- +----------------------+ ^ | | MARK_BITS| hb_marks[] | *if hdr is free, hb_sz + DISCARD_WORDS _SZ(words)| | is the size of a heap chunk (struct hblk) v | | of at least MININCR*HBLKSIZE bytes (below), --- +----------------------+ otherwise, size of each object in chunk. -Dynamic data structures above are interleaved throughout the heap in blocks of +Dynamic data structures above are interleaved throughout the heap in blocks of size MININCR * HBLKSIZE bytes as done by gc_scratch_alloc which cannot be freed; free lists are used (e.g. alloc_hdr). HBLKs's below are collected. - (struct hblk) + (struct hblk) --- +----------------------+ < HBLKSIZE --- --- DISCARD_ ^ |garbage[DISCARD_WORDS]| aligned ^ ^ HDR_BYTES WORDS | | | | v (bytes) (words) - | +-----hb_body----------+ < WORDSZ | --- --- + | +-----hb_body----------+ < WORDSZ | --- --- | | | aligned | ^ ^ | | Object 0 | | hb_sz | | | | i |(word- (words)| | | | (bytes)|aligned) v | | + - - - - - - - - - - -+ --- | --- | | | | ^ | ^ | - n * | | j (words) | hb_sz BODY_SZ + n * | | j (words) | hb_sz BODY_SZ HBLKSIZE | Object 1 | v v | (words) (bytes) | |--------------- v MAX_OFFSET | + - - - - - - - - - - -+ --- (bytes) diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index 553f4087..80107bf7 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -462,7 +462,7 @@ # define NOSYS # define mach_type_known # endif -/* Ivan Demakov */ + # if defined(__WATCOMC__) && defined(__386__) # define I386 # if !defined(OS2) && !defined(MSWIN32) && !defined(DOS4GW) @@ -1093,8 +1093,7 @@ # define ALIGNMENT 4 /* Appears to hold for all "32 bit" compilers */ /* except Borland. The -a4 option fixes */ - /* Borland. */ - /* Ivan Demakov: For Watcom the option is -zp4. */ + /* Borland. For Watcom the option is -zp4. */ # endif # ifdef SEQUENT # define OS_TYPE "SEQUENT" diff --git a/pthread_support.c b/pthread_support.c index 87317755..f7a5ca42 100644 --- a/pthread_support.c +++ b/pthread_support.c @@ -26,7 +26,7 @@ * other Posix thread implementations. We are trying to merge * all flavors of pthread support code into this file. */ - /* DG/UX ix86 support */ + /* * Linux_threads.c now also includes some code to support HPUX and * OSF1 (Compaq Tru64 Unix, really). The OSF1 support is based on Eric Benson's @@ -845,7 +845,6 @@ STATIC void GC_fork_child_proc(void) /* Return the number of processors, or i<= 0 if it can't be determined. */ STATIC int GC_get_nprocs(void) { - /* */ int numCpus; struct dg_sys_info_pm_info pm_sysinfo; int status = 0; diff --git a/tests/initsecondarythread.c b/tests/initsecondarythread.c index f89252e2..2af97243 100644 --- a/tests/initsecondarythread.c +++ b/tests/initsecondarythread.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Ludovic Courtes + * Copyright (C) 2011 Ludovic Courtes * * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.