[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