Commit graph

259 commits

Author SHA1 Message Date
Richard Frith-MacDonald
92bfb8666e partial nonfragile api support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/reorg@29601 72102866-910b-0410-8b05-ffd578937521
2010-02-13 09:16:24 +00:00
Richard Frith-MacDonald
6c84f23ae1 Coimplete operation queue implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29508 72102866-910b-0410-8b05-ffd578937521
2010-02-08 10:34:27 +00:00
Richard Frith-MacDonald
93b94d87b2 Fix error in class for zombie
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29259 72102866-910b-0410-8b05-ffd578937521
2010-01-11 11:29:44 +00:00
Richard Frith-MacDonald
b1976d23bb avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29258 72102866-910b-0410-8b05-ffd578937521
2010-01-11 11:23:03 +00:00
Gregory John Casamento
6797a06652 Conditionally compile weak attribute.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29159 72102866-910b-0410-8b05-ffd578937521
2009-12-22 22:12:56 +00:00
David Chisnall
c19a717b67 Added call to objc_create_block_classes_as_subclasses_of() in NSObject's +load method. This is called as soon as NSObject is loaded and creates the _NSBlock family of classes, which are statically allocated in the runtime but not statically initialised. If you create blocks without linking GNUstep-base, the isa pointer in the block will point to a class that has all of its fields set to 0.
Any blocks will have their isa pointer set to the two classes statically allocated in libobjc, but these classes can't be used for message lookup (or introspection) until after the call.  This means that you can't send messages to blocks until after NSObject's +load method has been called.  This shouldn't be a problem in most code, but if you use __attribute__((constructor)) instead of a +load method then be careful about sending messages to blocks (you can still call them as normal). 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29144 72102866-910b-0410-8b05-ffd578937521
2009-12-20 16:59:41 +00:00
Richard Frith-MacDonald
5a6ce46276 tidy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29049 72102866-910b-0410-8b05-ffd578937521
2009-11-23 18:07:25 +00:00
David Chisnall
9eb8d1d49b Added fall-back line for forwarding. Now -forwardingProxyForSelector: should work on all runtimes, with all ABIs, it will just be painfully slow on the GCC runtime and the legacy ABI.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29048 72102866-910b-0410-8b05-ffd578937521
2009-11-23 16:43:08 +00:00
Richard Frith-MacDonald
19796a1465 Documentation generation improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29047 72102866-910b-0410-8b05-ffd578937521
2009-11-23 09:42:18 +00:00
Wolfgang Lux
acb28bb1c2 Prevent potential deadlock in multithreaded programs due to an
allocation lock that was never unlocked.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28859 72102866-910b-0410-8b05-ffd578937521
2009-10-20 05:25:04 +00:00
Richard Frith-MacDonald
640ae938c6 Cleanups and minor bugfixes for new code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28665 72102866-910b-0410-8b05-ffd578937521
2009-09-12 07:37:00 +00:00
David Chisnall
47eab60ed8 Added implementations of the hooks provided by the new runtime. This brings
NSObject up to feature-parity with the OS X 10.5 implementation when using the
new runtime and up to feature-parity with the 10.6 implementation if you are
using the new runtime and compiling with clang.

Also removes the objc_mutex_wibble stuff from NSObject in favour of just using
NSLocks (which, with the new implementation, are now faster than using
objc_mutex_stuff).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28657 72102866-910b-0410-8b05-ffd578937521
2009-09-10 20:14:42 +00:00
David Chisnall
0fc392ad98 * Source/NSObject:
- Tweaked NSObject to use atomic ops with LLVM as well as gcc (this
		  probably isn't actually needed)
		- Fixed SIGFPE problem on FreeBSD using proper interfaces instead of 
		an asm hack.
	* Removes various mframe things from being compiled when ffcall/libffi is
	used (mframe.m, NSConnection.m, NSInvocation.m)
	* Turned a nested function in make_strings.m into a macro.  

Tested by Gregory - blame him for any breakage...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28462 72102866-910b-0410-8b05-ffd578937521
2009-08-15 21:44:21 +00:00
Richard Frith-MacDonald
9d4d268acd Fix failed commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28434 72102866-910b-0410-8b05-ffd578937521
2009-08-04 06:13:37 +00:00
Riccardo Mottola
f3723a5426 Atomic increment and decrement functions for m68k
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28310 72102866-910b-0410-8b05-ffd578937521
2009-05-29 23:10:15 +00:00
Fred Kiefer
d2b68390e5 * Source/NSObject.m: Correct asm for PPC.
Patch by Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSObject.m: Add support for new gcc atomic build
ins. Currently still disabled.
Patch by David Chisnall <theraven@sucs.org>

M    Source/NSObject.m
M    ChangeLog


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28268 72102866-910b-0410-8b05-ffd578937521
2009-05-04 20:07:56 +00:00
Richard Frith-MacDonald
d3398a8044 Fix swizzle
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28222 72102866-910b-0410-8b05-ffd578937521
2009-04-15 08:31:14 +00:00
Richard Frith-MacDonald
79b93a4901 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
Richard Frith-MacDonald
5921606e39 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
Adam Fedor
fd2132310b Revert previous patch (David to fix up later).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28174 72102866-910b-0410-8b05-ffd578937521
2009-04-03 14:56:41 +00:00
Richard Frith-MacDonald
c6937301b8 Cleanups suggested/provided by David Chisnall
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28160 72102866-910b-0410-8b05-ffd578937521
2009-03-31 15:49:42 +00:00
Richard Frith-MacDonald
057818ab06 use weak pointers for siblings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28128 72102866-910b-0410-8b05-ffd578937521
2009-03-24 10:53:38 +00:00
Richard Frith-MacDonald
971de91d62 Implement OSX10.5 NSMapTable API
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28086 72102866-910b-0410-8b05-ffd578937521
2009-03-16 10:54:59 +00:00
Richard Frith-MacDonald
d2e2eda24c GC tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28063 72102866-910b-0410-8b05-ffd578937521
2009-03-10 17:12:47 +00:00
Richard Frith-MacDonald
8687a2ed40 gc tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28050 72102866-910b-0410-8b05-ffd578937521
2009-03-08 14:29:06 +00:00
Richard Frith-MacDonald
18511be325 Remved some unused code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28047 72102866-910b-0410-8b05-ffd578937521
2009-03-06 11:01:42 +00:00
Richard Frith-MacDonald
24d43481a8 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
Richard Frith-MacDonald
d2fa82f877 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
Richard Frith-MacDonald
0d75fb5f66 fix for bug #25543
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27830 72102866-910b-0410-8b05-ffd578937521
2009-02-10 12:49:06 +00:00
Richard Frith-MacDonald
6bccff5fc7 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
Richard Frith-MacDonald
b830b55dee Change finalization to match MacOS-X
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27581 72102866-910b-0410-8b05-ffd578937521
2009-01-12 18:36:37 +00:00
Richard Frith-MacDonald
952af9c197 garbage collection fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Richard Frith-MacDonald
0ac29f22e7 Add check of method types in -methodSignatureForSelector:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27135 72102866-910b-0410-8b05-ffd578937521
2008-11-26 09:20:34 +00:00
Richard Frith-MacDonald
c4a2f62ad0 Applied patch #6677
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27080 72102866-910b-0410-8b05-ffd578937521
2008-11-17 13:45:32 +00:00
Richard Frith-MacDonald
b2b14398d2 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
Richard Frith-MacDonald
0dca6da5fb Update atomic increment/decrement
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26369 72102866-910b-0410-8b05-ffd578937521
2008-03-20 14:47:08 +00:00
Richard Frith-MacDonald
62559023b9 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
Richard Frith-MacDonald
76378a7c6b Fix typo and add cast to avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24770 72102866-910b-0410-8b05-ffd578937521
2007-03-05 17:04:14 +00:00
Richard Frith-MacDonald
771bca1872 fix error in declaration on mingw
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24768 72102866-910b-0410-8b05-ffd578937521
2007-03-05 16:13:06 +00:00
Richard Frith-MacDonald
ab05881864 work around bug in mingw headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24767 72102866-910b-0410-8b05-ffd578937521
2007-03-05 16:09:46 +00:00
Richard Frith-MacDonald
d259822e2b avoid some compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24765 72102866-910b-0410-8b05-ffd578937521
2007-03-05 16:02:25 +00:00
Richard Frith-MacDonald
9bfdfd9269 Try using atomic increment/decrement for after retain/release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24764 72102866-910b-0410-8b05-ffd578937521
2007-03-05 15:41:09 +00:00
Richard Frith-MacDonald
4c6d361454 ock contention fix added.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24715 72102866-910b-0410-8b05-ffd578937521
2007-02-28 06:24:13 +00:00
Adam Fedor
a112e29296 Apply BSD FPU fix on only x86
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24404 72102866-910b-0410-8b05-ffd578937521
2007-01-23 16:04:29 +00:00
Matt Rice
92f3abe02e * Source/NSObject.m: Fix typo.
* Headers/Foundation/NSException.h: Export
        NSObjectInaccessibleException.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24165 72102866-910b-0410-8b05-ffd578937521
2006-11-28 01:20:46 +00:00
Richard Frith-MacDonald
688192ff19 Fix documentation version numbering
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24034 72102866-910b-0410-8b05-ffd578937521
2006-11-06 13:05:52 +00:00
Richard Frith-MacDonald
0ebe68ae48 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
Richard Frith-MacDonald
fd98041ec7 Experiment with function visibility ... try caching locale dictionary to be
accessed from a function yet invisible outside the base library even when
caching is done in the Additions subproject.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23903 72102866-910b-0410-8b05-ffd578937521
2006-10-18 15:36:52 +00:00
Richard Frith-MacDonald
eae859d1c7 Updates to reduce global namespace pollution. Plenty more remaining.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23795 72102866-910b-0410-8b05-ffd578937521
2006-10-09 14:00:01 +00:00
Richard Frith-MacDonald
a00f8e94c7 Thread safety fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23408 72102866-910b-0410-8b05-ffd578937521
2006-09-07 11:47:45 +00:00