Commit graph

5975 commits

Author SHA1 Message Date
theraven
2c9886b127 This one isn't really important, since this code path is only ever used in non-GC mode, but it keeps the static analyser happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33145 72102866-910b-0410-8b05-ffd578937521
2011-05-27 12:00:57 +00:00
theraven
e50e12129e Make -drain and -release in NSAutoreleasePool do the same thing (rather than one calling the other) in non-GC mode.
Replace all -release messages sent to autorelease pools with -drain.  In non-GC mode, these are equivalent.  In GC mode, these trigger a collection.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33143 72102866-910b-0410-8b05-ffd578937521
2011-05-27 11:48:44 +00:00
rfm
3dd46a1d8c minor tweaks for atomic inc/dec support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33142 72102866-910b-0410-8b05-ffd578937521
2011-05-27 10:05:25 +00:00
theraven
2949efeb19 Revert accidentally committed changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33140 72102866-910b-0410-8b05-ffd578937521
2011-05-27 09:18:57 +00:00
thebeing
b6cee11863 Attempt to detect the flags needed to enable compiler intrinsics for atomic
operations.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33134 72102866-910b-0410-8b05-ffd578937521
2011-05-26 18:37:58 +00:00
theraven
2b06cff91a Use RTLD_NOLOAD, if it's supported.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33131 72102866-910b-0410-8b05-ffd578937521
2011-05-26 18:29:43 +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
rfm
957ee2b8ef Another attempt to improve atomic inc/dec
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33119 72102866-910b-0410-8b05-ffd578937521
2011-05-25 22:18:39 +00:00
rfm
e4e38170f9 Tweak atomic inc/dec code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33116 72102866-910b-0410-8b05-ffd578937521
2011-05-25 16:47:11 +00:00
rfm
794bd55f57 partial revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33115 72102866-910b-0410-8b05-ffd578937521
2011-05-25 15:53:17 +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
rfm
cf144e76f1 attempt multithreading bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33107 72102866-910b-0410-8b05-ffd578937521
2011-05-25 09:20: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
d9f4c65624 try to cope better with apps which leak autorelease pools.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33099 72102866-910b-0410-8b05-ffd578937521
2011-05-24 10:52:25 +00:00
rfm
445d287303 fix main bundle path
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33088 72102866-910b-0410-8b05-ffd578937521
2011-05-23 10:51:58 +00:00
rfm
6fb9b78161 quoted-printable fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33082 72102866-910b-0410-8b05-ffd578937521
2011-05-22 06:22:05 +00:00
rfm
79383c613d fix includes for gcc-4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33069 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:24 +00:00
rfm
9c9c98aad3 use errno.h for thread safety
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33028 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:08:10 +00:00
rfm
5b47a4bd32 old/new objc api updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33027 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:03:08 +00:00
fredkiefer
995276efc8 Fix keyed decoding for GSMutableArray and GSPlaceholderArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33026 72102866-910b-0410-8b05-ffd578937521
2011-05-12 08:24:15 +00:00
rfm
df0421b216 tolerate missing/incorrect character encoding declarations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33012 72102866-910b-0410-8b05-ffd578937521
2011-05-09 11:35:00 +00:00
theraven
27aa31a2b4 Remove spurious &s
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32985 72102866-910b-0410-8b05-ffd578937521
2011-05-05 11:25:12 +00:00
ericwa
02682c63b1 * Source/Additions/GSObjCRuntime.m (GSSelectorFromNameAndTypes):
With gcc 4.6 libobjc, GSSelectorFromNameAndTypes was calling some
functions like sel_get_any_typed_uid that were not declared (they're
declared in objc/objc-api.h which cannot be imported). I had to copy
over these function declarations, otherwise incorrect function calls
are generated which corrupt selectors (at least on x86-64).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32968 72102866-910b-0410-8b05-ffd578937521
2011-05-02 20:10:54 +00:00
rfm
faaaafd6a6 Cleanup/simplify for readability and fix bug copying new ivars
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32966 72102866-910b-0410-8b05-ffd578937521
2011-05-02 09:02:02 +00:00
theraven
e76add23ed Added missing ivar access functions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32939 72102866-910b-0410-8b05-ffd578937521
2011-04-28 18:41:01 +00:00
ericwa
bffc43307d * Source/NSNumberFormatter.m: Move the body of -init to a method called
-_NSNumberFormatterInit, and call this in -initWithCoder: so that
instances created with -initWithCoder: are initialized correctly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32931 72102866-910b-0410-8b05-ffd578937521
2011-04-27 02:43:03 +00:00
theraven
d6e22f687b After going to all of the effort of recomputing the frame size, actually store the one that we compute instead of accidentally discarding it.
It would probably be a good idea if we skipped the entire disassemble / reassemble code path if we've got sensible method encoding strings.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32908 72102866-910b-0410-8b05-ffd578937521
2011-04-19 16:26:09 +00:00
theraven
215c7fff9d __objc_responds_to() -> class_respondsToSelector().
No functionality change, just a switch to using the portable public functions.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32863 72102866-910b-0410-8b05-ffd578937521
2011-04-14 18:04:50 +00:00
rfm
3ed3b692e3 gc fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32860 72102866-910b-0410-8b05-ffd578937521
2011-04-14 12:31:51 +00:00
rfm
9344307ecc tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32841 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:34:39 +00:00
rfm
4e16bf0896 improve documentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32840 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:30:20 +00:00
rfm
bf055f4e56 Minor fixups for release ... mostly avoid failed testcases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32837 72102866-910b-0410-8b05-ffd578937521
2011-04-12 05:41:53 +00:00
nicola
88621c104a Improved checks for native ObjC exceptions. We now check the runtime support here, and disable them from here regardless of what gnustep-make did (this makes it easier to change the runtime without reconfiguring gnustep-make). Small update to ObjC runtime code for GCC 4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32820 72102866-910b-0410-8b05-ffd578937521
2011-04-09 13:47:37 +00:00
rfm
5750a59f45 fix bug opening connection to mail server
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32797 72102866-910b-0410-8b05-ffd578937521
2011-04-07 10:58:07 +00:00
rfm
03ea086c00 avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32796 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:56:56 +00:00
rfm
0ae9a6c552 remove unused directory and obsolete comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32795 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:32:00 +00:00
rfm
49b2b9c764 Apply patch for bug #32899
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32794 72102866-910b-0410-8b05-ffd578937521
2011-04-07 05:09:08 +00:00
rfm
7595c08261 try to get C++ constructur/destructor calling working for all.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32781 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:13:12 +00:00
rfm
015756d705 indentation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32780 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:12:34 +00:00
rfm
a9e35855d7 fix timezone bug on mingw spotted by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32778 72102866-910b-0410-8b05-ffd578937521
2011-04-04 20:54:26 +00:00
rfm
94f95cd118 fixup for signedness ... charValue always returns a signed char
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32777 72102866-910b-0410-8b05-ffd578937521
2011-04-04 16:35:20 +00:00
rfm
c078d97164 portability bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32769 72102866-910b-0410-8b05-ffd578937521
2011-04-04 10:57:49 +00:00
rfm
3e0fcb2b73 fix leak and weak docs a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32767 72102866-910b-0410-8b05-ffd578937521
2011-04-03 19:14:29 +00:00
rfm
47b6cf1384 tweaks for OpenBSD
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32766 72102866-910b-0410-8b05-ffd578937521
2011-04-03 09:54:57 +00:00
rfm
b1a7add38e GC fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32765 72102866-910b-0410-8b05-ffd578937521
2011-04-03 08:20:57 +00:00
rfm
23fc4889d1 GC fix for proxy finalisation error.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32764 72102866-910b-0410-8b05-ffd578937521
2011-04-03 04:25:52 +00:00
rmottola
a224756aea add directory of the local headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32761 72102866-910b-0410-8b05-ffd578937521
2011-04-01 12:40:52 +00:00
rfm
1533014594 fix character mapping error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32748 72102866-910b-0410-8b05-ffd578937521
2011-03-31 20:16:53 +00:00
rfm
c688f6d764 Cleanup and fix to build additipns library on apple systems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32737 72102866-910b-0410-8b05-ffd578937521
2011-03-29 11:18:10 +00:00
rfm
b3e917014c fixup for apple
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32736 72102866-910b-0410-8b05-ffd578937521
2011-03-29 11:07:14 +00:00