Newsgroups: | comp.compilers |
From: | chased@rbbb.Eng.Sun.COM (David Chase) |
Organization: | Sun Microsystems, Mt. View, Ca. |
Date: | Tue, 4 Aug 1992 23:21:57 GMT |
Keywords: | translator, design |
References: | 92-07-064 92-08-004 |
graham@maths.su.oz.au (Graham Matthews) writes:
>Now the argument appears to have shifted to one of performance. I agree
>that the peformance will be affected. My question is then whether the
>performance loss is due to C or due to using GC. Surely in the presence of
>GC one is always going to take a performance hit beacause the values of
>pointers can change at any time?
The short answer is "no". Note that garbage collection is a fairly rare
event, and thus special case code can be run in the event of a garbage
collection to translate to and from the optimized machine state. The
people at U Mass (Moss, Hudson, Diwanm, ??) are doing this for GNU
Modula-3.
Even so, the pointers need not move, but there can still be problems. The
trick here is to always keep at least one root pointer alive. I'll let
Hans elaborate on this, or I'll do it later; I've got work to do right
now.
>[Somebody suggested that it might be possible to define some extensions to
>C that would make it easier to garbage collect. Any thoughts? -John]
See above.
David Chase
Sun
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.