discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fw: Garbage collection with -finalize?


From: David Ayers
Subject: Re: Fw: Garbage collection with -finalize?
Date: Fri, 02 Dec 2005 14:43:55 +0100
User-agent: Mozilla Thunderbird 1.0.2 (X11/20051002)

Ingolf Jandt schrieb:
>>  - If GNUstep provides this functionality soon or even today,
>>    it should be a snap to attract some Cocoa developers starving for  
>>GC already.
> 
> 
> Es soll nicht schwierig sein, GNUstep mit GC-Unterstützung zu kompilieren.
> Vorgesehen ist diese Möglichkeit "schon immer".
> 
> http://www.gnustep.org/resources/documentation/Developer/Base/
> ProgrammingManual/manual_3.html

Indeed GNUstep attempts to supply facilities to support the garbage
collection of a specially build libobjc for the GNU runtime.  It also
uses these facilities internally.  But we don't here a lot of feedback
from anyone who is actually using it.  I would assume this support is in
suboptimal state.

It is also unclear to me when and how to use certain facilities like:
"/*
 * Macros to deal with hiding an object from the garbage collector
 * This macro employs the procesor-dependent knowledge that a pointer to
 * an object will always be on an even address boundary.  If we ever
 * port to a system where this is not the case, we will have to find
 * another mechanism.
 */

#ifndef GS_WITH_GC
#define GS_WITH_GC      0
#endif
#if     GS_WITH_GC
#define GS_GC_HIDE(obj)         ((id)(((gsaddr)obj) | 1))
#define GS_GC_UNHIDE(obj)       ((id)(((gsaddr)obj) & ~1))
#else
#define GS_GC_HIDE(obj)         ((id)obj)
#define GS_GC_UNHIDE(obj)       ((id)obj)
#endif"


In any case, the quoted support from Apple has very different syntax and
semantics than the GC the GNU runtime and GNUstep currently support.

This is the first I've head of it, so I know of no one who is preparing
support for Apple version for the the GNU runtime or GNUstep.

Cheers,
David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]