[Sparkle] Plan to support garbage collection?

Justin Bur jbur at druide.com
Tue Feb 19 19:29:32 PST 2008


Dual-mode ("GC permitted") is intended for bundles that are loaded at  
runtime, and its purpose is to support both GC-using and non-GC-using  
applications. Although there are no GC-using apps under 10.4, a dual- 
mode bundle can be loaded under 10.4.

Dual-mode bundles do not load under 10.3.

A dual-mode bundle will not participate in GC under 10.4 because  
there is no GC. But it will work just fine with regular memory  
management.

Note that dual-mode bundles are required to contain correct calls to  
retain and release, *and* to hold strong references to memory they  
need kept, because they may be called upon to work in either the GC  
or the non-GC environment.

To summarize:
10.4 and later: dual-mode loads and runs
10.3 and earlier: must not be GC-aware at all.
And I invite people to try it out rather than making untested  
assumptions. I have done so, but not with Sparkle.

Justin

On Feb 19, 2008, at 11:54, Mark Munz wrote:

> As I understand it, the dual-mode framework will only work on 10.5 or
> later. But, you should be able to easily target earlier versions of
> the OS with the same source.
>
> I do not believe 10.4 has any official support for dual-mode
> frameworks (there was some hint that the compiler support GC, but
> that's it). There will likely need to be two targets and two resulting
> frameworks:
>
> 10.5 and later framework (dual-mode)
> 10.4 and earlier framework (no-GC)
>
> The source for the non-GC framework should transparently work in
> building a 10.4 and earlier framework.
>
> Mark Munz


More information about the Sparkle mailing list