theraven
ed2ccb68d9
First pass at hybrid GC mode. This will try use retain-release mode if the collector is not running. Code will run in retain/release mode unless something compiled with -fobjc-gc-only is loaded.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33174 72102866-910b-0410-8b05-ffd578937521
2011-05-28 14:51:40 +00:00
theraven
ba6f3867a8
More GC fixes. Most notably, mark the thread object as not collectable, since it's hidden away in TLS where the GC can't find it.
...
GC now works well enough for LanguageKit to run.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33123 72102866-910b-0410-8b05-ffd578937521
2011-05-26 13:24:13 +00:00
theraven
485d23c7c7
More tweaks for garbage collection mode, including making NSNotificationCenter use weak pointers (things are never removed if it uses strong pointers because they remove themselves in the -dealloc method, which is never called, and can't remove themselves in the -finalize method because the -finalize method would not be called until after they have been removed - this is consistent with Apple behaviour).
...
Gorm now works correctly when built with GC enabled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33109 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:15:08 +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
ca854a4b3c
minor cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32234 72102866-910b-0410-8b05-ffd578937521
2011-02-19 19:42:42 +00:00
rfm
b300053863
Simplify source by usuing autoconf
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30692 72102866-910b-0410-8b05-ffd578937521
2010-06-12 07:19:26 +00:00
rmottola
de3ace2023
fix for defines of _XOPEN_SOURCE
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30680 72102866-910b-0410-8b05-ffd578937521
2010-06-11 19:07:26 +00:00
rmottola
b81a5fcc0b
change defines for GNU/HURD
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30039 72102866-910b-0410-8b05-ffd578937521
2010-03-25 22:53:21 +00:00
rmottola
06faa7d8da
use proper _XOPEN_SOURCE instead of __USE_UNIX98 to enable needed thread features on glibc
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29897 72102866-910b-0410-8b05-ffd578937521
2010-03-10 17:37:00 +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
9edbe1a4fc
cosmetic tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29657 72102866-910b-0410-8b05-ffd578937521
2010-02-17 11:47:06 +00:00
rfm
3ae126279b
Apply patch to switch completely to using pthreads
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29367 72102866-910b-0410-8b05-ffd578937521
2010-01-23 17:00:13 +00:00
rfm
f8a3d4fe5d
fix some errors in comments causing documentation generation problems
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28250 72102866-910b-0410-8b05-ffd578937521
2009-04-26 05:37:21 +00:00
rfm
cfb566ed22
more GC improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28220 72102866-910b-0410-8b05-ffd578937521
2009-04-15 08:03:19 +00:00
rfm
3d07410be3
move code around a bit to work without gc
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28193 72102866-910b-0410-8b05-ffd578937521
2009-04-10 08:28:21 +00:00
rfm
669d22f6d9
gc improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28192 72102866-910b-0410-8b05-ffd578937521
2009-04-10 08:25:03 +00:00
rfm
0807ecd3d6
tweak GC for improved performance and debugging
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28129 72102866-910b-0410-8b05-ffd578937521
2009-03-24 11:12:25 +00:00
rfm
a9c800575e
fix weak pointer error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28061 72102866-910b-0410-8b05-ffd578937521
2009-03-10 11:10:27 +00:00
rfm
5cab993ed1
More moves towards OSX 10.5 GC compatibility.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
rfm
30cf8bf35b
Updates for 10.5 API changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
rfm
afb6e09fe8
fix bugs #25545 and #25546
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27832 72102866-910b-0410-8b05-ffd578937521
2009-02-10 14:35:12 +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
a984241929
retore binary backward compatibility for most cases
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27764 72102866-910b-0410-8b05-ffd578937521
2009-02-03 11:48:29 +00:00
rfm
03c8a8fd7d
finalize KV observations
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27639 72102866-910b-0410-8b05-ffd578937521
2009-01-20 11:41:41 +00:00
rfm
9c5d4cd19e
garbage collecting fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27638 72102866-910b-0410-8b05-ffd578937521
2009-01-20 10:15:52 +00:00
rfm
d9312191e7
Fix minor error in last change.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27631 72102866-910b-0410-8b05-ffd578937521
2009-01-19 11:08:33 +00:00
rfm
c41bdeb638
GC changes for MacOS-X compatiblity
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27630 72102866-910b-0410-8b05-ffd578937521
2009-01-19 11:00:33 +00:00
rfm
e0711a3b8d
allow developers more time to adapt to LGPLv3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
rfm
cd46236028
Update to GPL3 and LGPL3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
rfm
2879674463
Improve initialisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24741 72102866-910b-0410-8b05-ffd578937521
2007-03-01 17:35:43 +00:00
rfm
9e7b96ab0e
More code tidyups and NSError updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23921 72102866-910b-0410-8b05-ffd578937521
2006-10-20 10:56:27 +00:00
rfm
2051e8bfef
Avoid compiler warning
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23025 72102866-910b-0410-8b05-ffd578937521
2006-06-03 19:34:12 +00:00
CaS
f57ca76cba
Fixes for 64bit systems .. mostly cosmetic avoidance of compiler warnings.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22282 72102866-910b-0410-8b05-ffd578937521
2006-01-10 10:29:11 +00:00
fedor
376e495dad
* Update FSF Address.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
CaS
0708409c1b
Tidy up use of white space so we have it after if/for/while and not after (
...
or before ) or padding at end of line.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
arobert
eca63cb414
documented functions, types, constants, and variables
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19797 72102866-910b-0410-8b05-ffd578937521
2004-07-29 15:30:47 +00:00
CaS
84b18cb39f
Fix for malloc of non-freeable zones
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19449 72102866-910b-0410-8b05-ffd578937521
2004-06-03 14:46:41 +00:00
ayers
73dc4cb9f6
Header reorganizsateion - Please refer to ChangeLog
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
fedor
0e59d4552d
Change syntax of includes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
CaS
2b7ef209d6
Memory allocation update.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14662 72102866-910b-0410-8b05-ffd578937521
2002-10-07 13:46:22 +00:00
fedor
860d398fb4
Fix sizing structures in cifframe
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14437 72102866-910b-0410-8b05-ffd578937521
2002-09-13 21:56:09 +00:00
CaS
d4b9683acf
Added date version and title
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11814 72102866-910b-0410-8b05-ffd578937521
2001-12-18 16:54:15 +00:00
CaS
d7e28f6deb
Many minor fixes for autogsdoc.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11787 72102866-910b-0410-8b05-ffd578937521
2001-12-17 14:31:42 +00:00
CaS
30512590e2
OOps fix stupid error in last mod.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@10049 72102866-910b-0410-8b05-ffd578937521
2001-06-01 14:15:56 +00:00
CaS
c9ae5d7a72
Optimisation of memory dealloc
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@10048 72102866-910b-0410-8b05-ffd578937521
2001-06-01 14:12:46 +00:00
jagapen
765571e126
String usage updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9459 72102866-910b-0410-8b05-ffd578937521
2001-03-19 23:53:23 +00:00
richard
3df5d8e527
Basic tidyup for start of support for apple runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7949 72102866-910b-0410-8b05-ffd578937521
2000-10-31 16:17:33 +00:00
fedor
a051ddd885
Merge 0.6.6 branch into main.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7187 72102866-910b-0410-8b05-ffd578937521
2000-08-07 22:00:31 +00:00
fedor
8156ae951c
Shared library on Windows fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6768 72102866-910b-0410-8b05-ffd578937521
2000-06-22 03:15:27 +00:00