[comp.lang.eiffel] Garbage Collection

jos@cs.vu.nl (Jos Warmer) (03/14/89)

Some problems with garbage collection:

1. In the library class FILE one can create a FILE object, open it and use it.
   If the FILE object is not referenced anymore, the memory used by it
   will be reclaimed by the garbage collector.
   However, each file that is opened should be closed before the FILE object
   is destroyed.

   This can not be forced by the FILE class, but it is left to the client.
   It should be much safer if the FILE class could ensure that each file
   is closed before the object pointing to it is destroyed.

   In Unix, and probably elsewhere too, only a limited number of open
   file descriptors are allowed.  So once you open a number of files and
   forget to close them, you cannot open files anymore after some time.
   See class OPEN at the end of this article.

2. In a class that acts as an interface to external (C) functions sometimes
   memory is allocated by C functions.  For example the class STRING from
   the basic library.

   If a STRING object is not referenced anymore, the memory used by it
   will be reclaimed by the garbage collector.
   However, the garbage collector cannot know whether memory was allocated
   by external functions.  So the memory allocated by the external function
   will never be reclaimed.

   Of course you can provide the programmer with a function to free the
   memory allocated by the external function, but this solution excludes
   garbage collection.

A possible solution:

In C++ so-called destructors can be defined.  A destructor is a routine
that is called on an object when the object is being freed.
A destructor contains code that performs some cleanup before the object
is destroyed.

These destructors can be used to solve the problems described above.
I cannot find a way to solve these problems in eiffel.  Should such
a feature be added eiffel, or are there other solutions.

===========================================================================
			     Jos Warmer
			     jos@cs.vu.nl
			     ...uunet!mcvax!cs.vu.nl!jos
===========================================================================
	class OPEN
	        -- example of forgetting to close files.
	inherit
		MEMORY; STD_FILES

	feature
	    Create is
	    do
		open_files;
		open_files;
	    end;

	    open_files is
	    local
		f : FILE;
		i : INTEGER;
	    do
		from  f.Create("a");
		      f.open_write;
		until f.error /= 0
		loop
		    f.Create("a");
		    f.open_write;
		    i := i + 1;
		    putint(i); putstring(" ");
		end;

		new_line;
		putstring("error nr   "); putint(f.error); new_line;
		putstring("open files "); putint(i      ); new_line;
		full_collect
	    end;
	end

================ the output of open ===============================
class FILE, error on open_write, with file-name ``a'': Unable to open
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
error nr   2
open files 23
class FILE, error on open_write, with file-name ``a'': Unable to open
 
 error nr   2
 open files 0
===================================================================

bertrand@eiffel.UUCP (Bertrand Meyer) (03/23/89)

Subject: Re: garbage collection
Newsgroups: comp.lang.eiffel
References: <2152@vlot.cs.vu.nl>

From <2152@vlot.cs.vu.nl>, jos@cs.vu.nl (Jos Warmer):

> 
> 1. In the library class FILE one can create a FILE object,
> open it and use it.
> If the FILE object is not referenced anymore, the memory used by it
> will be reclaimed by the garbage collector.
> However, each file that is opened should be closed before the FILE object
> is destroyed.
> 
> This can not be forced by the FILE class, but it is left to the client.
> It should be much safer if the FILE class could ensure that each file
> is closed before the object pointing to it is destroyed.

> In Unix, and probably elsewhere too, only a limited number of open
> file descriptors are allowed.  So once you open a number of files and
> forget to close them, you cannot open files anymore after some time.
> See class OPEN at the end of this article.


    In version 2.2 the library class MEMORY will include an argumentless
procedure called dispose, to be invoked by the garbage collector (if
active) when an object is freed. The original version of this class
has an empty body and hence does nothing. Any class can inherit
from MEMORY and redefine this procedure to do something, for instance
close a file as in Mr. Warmer's example.

Two caveats:

    - The exact details are still subject to change.

    - The next version (Eiffel 3, end of 1989) will support the
    possibility of treating all objects as persistent (the set of all
    objects of an Eiffel session becoming a database). In this context
    the problem addressed by Mr. Warmer becomes part of a larger
    requirement (describing what should be done to any object when
    the session terminates, or when it is stored to a file by an automatic
    mechanism). This means that the 2.2 solution may be overridden at that
    time by a more general scheme.

    
>    [2. - Problem of freeing space for data structures allocated not
>    from Eiffel but from external C functions, through malloc.]
>    Of course you can provide the programmer with a function to free the
>    memory allocated by [an external C] function, but this solution excludes
>    garbage collection.

    Clearly we cannot provide a garbage collector for C. Nor do we want to
go into the horrors of programmer-supplied deallocation as in C extensions.
In 2.2, with the mechanism described above, you can ensure that the
dispose procedure calls any C routines that are needed to free C storage.

-- Bertrand Meyer
bertrand@eiffel.com

ncjuul@diku.dk (Niels Christian Juul) (12/27/90)

	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: usc comp.object:2325 comp.lang.smalltalk:2556 comp.lang.c++:11137 comp.lang.eiffel:1280 comp.lang.objective-c:115 comp.lang.clos:85 comp.lang.modula2:3498


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: arizona comp.object:2288 comp.lang.smalltalk:2527 comp.lang.c++:11107 comp.lang.eiffel:1270 comp.lang.objective-c:110 comp.lang.clos:85 comp.lang.modula2:3462


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: emory comp.object:2347 comp.lang.smalltalk:2519 comp.lang.c++:11095 comp.lang.eiffel:1277 comp.lang.objective-c:116 comp.lang.clos:115 comp.lang.modula2:3484


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: ns-mx comp.object:2323 comp.lang.smalltalk:1151 comp.lang.c++:6388 comp.lang.eiffel:895 comp.lang.objective-c:114 comp.lang.clos:85 comp.lang.modula2:1766


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: nic comp.object:2341 comp.lang.smalltalk:2548 comp.lang.c++:11168 comp.lang.eiffel:1278 comp.lang.objective-c:115 comp.lang.clos:66 comp.lang.modula2:3476


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (12/28/90)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111
Xref: lupine comp.object:1064 comp.lang.smalltalk:514 comp.lang.c++:3120 comp.lang.eiffel:337 comp.lang.objective-c:114 comp.lang.clos:87 comp.lang.modula2:916


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

ncjuul@diku.dk (Niels Christian Juul) (01/03/91)

	   comp.lang.sigplan,  comp.os.research, comp.archives
Message-ID: <1990Dec27.131916.5017@odin.diku.dk>
Date: 27 Dec 90 13:19:16 GMT
Sender: news@odin.diku.dk (Netnews System)
Distribution: comp
Organization: Institute of Computer Science, U of Copenhagen
Lines: 111


	     POSITION PAPERS ON GARBAGE COLLECTION ISSUES.
				FROM
	Workshop on Garbage Collection in Object-Oriented Systems.

The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 
Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 
21st, 1990.

Most of the position papers from the workshop are now made available 
for anonymous FTP from  

	midgard.ucsc.edu (North America) in:  /pub/gc/
	(IP. 128.114.134.15)		 Only available until 1 Feb 1991
and
	ftp.diku.dk 	 (Europe) 	 in:  /pub/GC90/
	(IP. 129.142.96.1)		 Available until further notice.

Login as anonymous and state your own email-address as password.

THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED.
TO PRINT THE PAPERS:

	uncompress xxxxx.ps.Z 
and
	lpr  xxxxx.ps		'on your favorite printer'

Further information on the individual papers are available by contacting the
appropriate authors; see list of attendees in file: Attendees.ps

In case of trouble you may contact:

	daniel@terra.ucsc.edu 	(Daniel Edelson)
or:
	ncjuul@diku.dk		(Niels Christian Juul)


Enclosed you find a list of the available position papers.
Good luck,	
1990.DEC.27.

		Daniel Edelson		&	Niels Christian Juul
		UCSC, CA, USA			DIKU, Denmark, Europe
-------------------------------------------------------------------------

CONTENTS:

	A Generational, Compacting Garbage Collector for C++
	Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA.

	Real-Time Compacting Garbage Collection
	Mats Bengtsson and Boris Magnusson, Lund University, Sweden.

	Experience with Garbage Collection for Modula-2+ in the Topaz 
	Environment
	John DeTreville, SRC/DEC, Palo Alto, CA, USA.

	Concurrent, Atomic Garbage Collection
	David L. Detlefs, SRC/DEC, Palo Alto, CA, USA.

	The Case for Garbage Collection in C++
	Daniel Edelson, University of California, Santa Cruz, CA, USA.

	Garbage Collection in an Object Oriented, Distributed, Persistent 
	Environment
	A. El-Habbash, Trinity College, Dublin, Ireland.

	Storage Reclamation
	Paulo Ferreira, INESC/IST, Lisboa, Portugal.

	Open Systems Require Conservative Garbage Collection
	Barry Hayes, Stanford University, CA, USA.

	Adaptive Garbage Collection for Modula-3 and Smalltalk
	Richard Hudson and Amer Diwan, University of Massachusetts, 
	Amherst, MA, USA.

	A Distributed, Faulting Garbage Collector for Emerald
	Niels Christian Juul, DIKU, Copenhagen, Denmark.

	SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 
	Programs Translated into C
	Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, 
	Keio University, Japan.

	Real-Time Concurrent Collection in User Mode
	Kai Li, Princeton University, NJ, USA.

	A Fast Expected-Time Compacting Garbage-Collection Algorithm
	Christer Mattsson, Lund University, Sweden.

	Garbage Collecting Persistent Object Stores
	J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA.

	Hardware Support for Garbage Collection of Linked Objects and Arrays in
	Real Time
	Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, 
	IA, USA.

	A garbage detection protocol for a realistic distributed
	object-support system
	Marc Shapiro, INRIA, Rocquencourt, France.

	Three Issues In Obejct-Oriented Garbage Collection
	Jon L. White, Lucid, Inc., Menlo Park, CA, USA.

	Garbage Collection in a High-Performance System
	Mario Wolczko, The University, Manchester, UK.

	Designing Systems for Evaluation: A Case Study of Garbage Collection
	Benjamin Zorn, University of Colorado at Boulder, CO, USA.

glang@Autodesk.COM (Gary Lang) (01/06/91)

The repetitive sending of the Position Papers on Garbage Collection has
to be one of the best samples of techological irony I've seen in quite 
a while. Yikes!

- g
-- 
Gary T. Lang  (415)332-2344 x2702  
Autodesk, Inc.
Sausalito, CA.
MCI: 370-0730

nhr@eng.cam.ac.uk (Neil Russell) (05/29/91)

I'm currently experiencing problems with garbage collection -- it doesn't
appear to work.  I have a program which has an image size of about
1.5 Mb after it has built the main data structures during the initialisation
phase and then shouldn't consume much memory for permanent structures
subsequently.  However its image grows at about 30kb every 10 seconds
or so until the point is reached where it has consumed all the available
memory on the machine! (many Mb).  I'm pretty sure I've got GC switched on.

Are there any known bugs with the GC run-time system. Is there a maximum
rate at which dead objects are created which it can cope with?  The only
thing I can think of which might confuse it and give rise to a memory
leak is using `Copy' on ARRAY objects -- this causes the `area' of
the target array to be unreferenced, though this shouldn't be a problem
if `area' refers to a "normal" Eiffel object.

We run Eiffel V2.3 level 4 under SunOS on a Sparc 2. I would be grateful
for any assistance/pointers,

Neil  Russell
E-mail: nhr@uk.ac.cam.eng

rick@tetrauk.UUCP (Rick Jones) (05/30/91)

In article <1991May28.202104.27332@eng.cam.ac.uk> nhr@eng.cam.ac.uk (Neil Russell) writes:
>I'm currently experiencing problems with garbage collection -- it doesn't
>appear to work.  I have a program which has an image size of about
>1.5 Mb after it has built the main data structures during the initialisation
>phase and then shouldn't consume much memory for permanent structures
>subsequently.  However its image grows at about 30kb every 10 seconds
>or so until the point is reached where it has consumed all the available
>memory on the machine! (many Mb).  I'm pretty sure I've got GC switched on.

I haven't encountered a situation of unlimited growth, but I have found that
auto-collection doesn't keep the image as clean as using full_collect.  I have
experimented with different collection modes in my programs, in particular
those which run as servers and so have a distinct message loop.  By turning
collection off and running full_collect every cycle of the loop, the amount of
memory used is considerably lower - I don't have the figures to hand.  This is
to be expected, since full_collect always collects all dead objects, not just a
limited number.  I haven't done any timings, but there is no noticeable
performance difference, and my guess is that full_collect could even be more
efficient.

I've added a routine which inspects an environment variable at startup to
decide which collection mode to use - that way it's easy to try different
modes.  You  might find this worth trying.

Having looked at some of the garbage collector code, I am dubious as to whether
the amount of time it spends collecting (in auto mode) increases with the rate
of object creation, which of course it should do.  If it doesn't, this could
explain you problem.  Perhaps the ISE technical team might like to comment?

-- 
Rick Jones, Tetra Ltd.  Maidenhead, Berks, UK
rick@tetrauk.uucp

Any fool can provide a solution - the problem is to understand the problem