Commit graph

12 commits

Author SHA1 Message Date
theraven
554a136f3c Small tweaks to NSGarbageCollector.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33402 72102866-910b-0410-8b05-ffd578937521
2011-06-29 11:46:45 +00:00
theraven
84a09a6d75 Make CFRetain() / CFRelease() behaviour dependent on GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33177 72102866-910b-0410-8b05-ffd578937521
2011-05-28 15:15:05 +00:00
theraven
d3da3cf24f Make NSGarbageCollector return nil when compiled in GC mode but run in non-GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33170 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:13:42 +00:00
theraven
9c75389ee7 Initial pass at implementing fully Apple-compatible GC. This requires the code to be built with -fobjc-gc or -fobjc-gc-only, and requires a runtime that implements all of the support functions (GNUstep runtime trunk or 1.5 when it's release).
Currently, there are a few places where we should be calling NSAllocateCollectable() without NSScannedOption, but are actually calling NSZoneMalloc() unless we're in GC mode.  We should not need separate code paths for this anywhere outside NSZone, since NSAllocateCollectable() will work in non-GC mode as well.

A few of the changes should be tweaked slightly so that they do run-time tests.  For example, when compiling with -fobjc-gc, we may be linked against non-GC code, which will use -retain and -release but won't use the memory barriers.  Supporting this nicely is a lot of effort, and I'm not fully convinced it's a good idea.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33104 72102866-910b-0410-8b05-ffd578937521
2011-05-24 14:43:27 +00:00
rfm
671f5bcce5 fix gc heade rlocation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
rfm
d605c6f7b5 Simplify header inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
rfm
d7c2ea71f7 MacOS-X compatibility fix for GC
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27845 72102866-910b-0410-8b05-ffd578937521
2009-02-11 10:11:33 +00:00
rfm
db77746841 simplify GC ... don't need to add new zone
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27783 72102866-910b-0410-8b05-ffd578937521
2009-02-04 16:45:10 +00:00
rfm
78dfc03828 complete NSGarbageCollector class
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27653 72102866-910b-0410-8b05-ffd578937521
2009-01-22 15:47:10 +00:00
rfm
f7738e49a0 various gc change tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27598 72102866-910b-0410-8b05-ffd578937521
2009-01-14 08:26:16 +00:00
rfm
0913c7cb95 More garbage collection updates/fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27590 72102866-910b-0410-8b05-ffd578937521
2009-01-13 15:57:38 +00:00
rfm
9ce6f3cc46 Add new class from macos-x
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27585 72102866-910b-0410-8b05-ffd578937521
2009-01-12 21:35:51 +00:00