public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Garbage Collection
@ 2002-08-31  4:10 Tim Josling
  0 siblings, 0 replies; 6+ messages in thread
From: Tim Josling @ 2002-08-31  4:10 UTC (permalink / raw)
  To: gcc

I went to a public talk by Jim Miller from MSFT last week. He ran the C#
runtime project for a while. A few interesting points:

1. Their garbage collection guy worked on GC for 8 years straight, full time.
Getting it right is tough.
2. They use an adaptive model where the GC watches the program and then picks
a strategy based on the behaviour.
3. The objective is to keep a working set in level 2 cache.
4. After all that, they are considering a reference counting model to deal
with short lived objects.
5. It's all a lot easier when you are targetting one CPU model. The code knows
all the cache sizes etc.

They have released the code for their run time, including the C# compiler, but
he said the GC and JIT are 'cut down' versions. Supposedly looking at the code
would not taint the reader (for contributing to 'open source' projects), but I
would advise care in this regard.

All in all, not that different to the discussion that went on here.

Tim Josling

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Garbage collection
  2003-01-21 23:24 Garbage collection Martin York
@ 2003-01-22 11:08 ` Fergus Henderson
  0 siblings, 0 replies; 6+ messages in thread
From: Fergus Henderson @ 2003-01-22 11:08 UTC (permalink / raw)
  To: Martin York; +Cc: 'gcc@gcc.gnu.org'

On 21-Jan-2003, Martin York <martin.york@veritas.com> wrote:
> 
> I am trying to write a new frontend to GCC. My biggest concern at
> the moment is garbage collection. I have studied the code and think
> I know how it works but would like to find some more documentation,
> can somebody point me in the right direction.

See the TexInfo source gcc/gcc/doc/gty.texi, or the HTML formatted version in
<http://gcc.gnu.org/onlinedocs/gccint/Type-Information.html#Type%20Information>.

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Garbage collection
@ 2003-01-21 23:24 Martin York
  2003-01-22 11:08 ` Fergus Henderson
  0 siblings, 1 reply; 6+ messages in thread
From: Martin York @ 2003-01-21 23:24 UTC (permalink / raw)
  To: 'gcc@gcc.gnu.org'



Hi all,

I am trying to write a new frontend to GCC. My biggest concern at
the moment is garbage collection. I have studied the code and think
I know how it works but would like to find some more documentation,
can somebody point me in the right direction.

thanks Martin.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Garbage Collection
@ 2002-09-01  6:32 Robert Dewar
  0 siblings, 0 replies; 6+ messages in thread
From: Robert Dewar @ 2002-09-01  6:32 UTC (permalink / raw)
  To: gcc, kaih

>>Surely Lisp is a general purpose language *much* older than Algol 68?

Lisp does not really raise the full range of issues in its garbage 
collection. For one thing it has fixed length blocks. Also, historically
Lisp is hardly what I would call a general purpose langauge (yes, I know
it can be used for anything, so can Postscript! I am talking about actual
general use in practice:-)

Algol-68 is much more relevant to Java than Lisp!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Garbage Collection
  2002-08-31  4:57 Robert Dewar
@ 2002-09-01  6:27 ` Kai Henningsen
  0 siblings, 0 replies; 6+ messages in thread
From: Kai Henningsen @ 2002-09-01  6:27 UTC (permalink / raw)
  To: gcc

dewar@gnat.com (Robert Dewar)  wrote on 31.08.02 in <20020831115757.62F37F2D75@nile.gnat.com>:

> <<1. Their garbage collection guy worked on GC for 8 years straight, full
> time. Getting it right is tough.
> >>
>
> One useful source of information here is all the published work on Algol-68
> which was the first general purpose language to require garbage collection.

Surely Lisp is a general purpose language *much* older than Algol 68?


MfG Kai

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Garbage Collection
@ 2002-08-31  4:57 Robert Dewar
  2002-09-01  6:27 ` Kai Henningsen
  0 siblings, 1 reply; 6+ messages in thread
From: Robert Dewar @ 2002-08-31  4:57 UTC (permalink / raw)
  To: gcc, tej

<<1. Their garbage collection guy worked on GC for 8 years straight, full time.
Getting it right is tough.
>>

One useful source of information here is all the published work on Algol-68
which was the first general purpose language to require garbage collection.
A lot of useful and relevant work was published (unfortunately some of the
key references are in Dutch :-)

True, the concern with L2 cache did not exist there, but Algol-68 did
have full tasking (multiple threads with syncrhonization), so the real
time aspects of GCC were addressed in detail.

I see a lot of reinventing the wheel going on since Java. Reminds me of
when IBM introduced virtual memory, and someone asked if they had looked
at Atlas. The IBM spokesperson basically answered that they were too busy
implementing solutions to have time to look at what others had done :-)

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-01-21 23:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-31  4:10 Garbage Collection Tim Josling
2002-08-31  4:57 Robert Dewar
2002-09-01  6:27 ` Kai Henningsen
2002-09-01  6:32 Robert Dewar
2003-01-21 23:24 Garbage collection Martin York
2003-01-22 11:08 ` Fergus Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).