theraven
e1517e15e6
Fix a memory leak that valgrind spotted.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33479 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:30:10 +00:00
theraven
d5d099e7a6
Use -retainCount instead of NSExtraRefCount() in gs_weak_load() so we can support objects that define a custom retain / release mechanism in weak variables.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33478 72102866-910b-0410-8b05-ffd578937521
2011-07-07 12:29:54 +00:00
theraven
af93046588
Fix typo NS -> GS. We don't actually want NSAllocateObject to call NSAllocateObject...
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33458 72102866-910b-0410-8b05-ffd578937521
2011-07-04 21:23:26 +00:00
theraven
4d48d0bcaa
Switch the order of the reference count and the zone so that the reference count (in reference counted mode) is always immediately in front of the object. Please test this!!
...
Opt NSObject into the fast path for ARC. ARC will now not call the retain / release / autorelease methods on NSObject or any classes that inherit their implementation of these methods from NSObject. In quick and dirty testing, this gives about a 10-20% speedup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33446 72102866-910b-0410-8b05-ffd578937521
2011-07-04 11:31:28 +00:00
theraven
a064345ddd
Don't call c++ constructors when allocating a class with class_createInstance() - this function calls them itself, and calling them twice is a bad idea.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33436 72102866-910b-0410-8b05-ffd578937521
2011-07-03 11:04:04 +00:00
theraven
72e4d13156
Rewrote NSProxy's -retain / -release to be the same as NSObject, not its own ad-hoc thing.
...
Added declaration of __bridge for use in non-ARC mode.
Tweaked arrayWithObjects:count: to take a const id* parameter, to avoid ARC
treating it as a write-back parameter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33425 72102866-910b-0410-8b05-ffd578937521
2011-06-30 14:44:58 +00:00
theraven
57aca2c837
Add support to NSObject for automatically zeroing __weak references when using ARC.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33408 72102866-910b-0410-8b05-ffd578937521
2011-06-29 13:13:15 +00:00
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
rfm
fa4f612062
move comment to be before the method it applies to
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33380 72102866-910b-0410-8b05-ffd578937521
2011-06-26 10:27:52 +00:00
wlux
1d5f115076
Fix implementation of NSString -getParagraphStart 🔚 contentsEnd:forRange:.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33379 72102866-910b-0410-8b05-ffd578937521
2011-06-26 10:03:10 +00:00
fredkiefer
f6bec228b9
Add a few 10.6 NSURL methods to NSBundle.
...
Based on patch by julian.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33367 72102866-910b-0410-8b05-ffd578937521
2011-06-22 23:01:01 +00:00
rfm
50b71cb1bc
locking fix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33356 72102866-910b-0410-8b05-ffd578937521
2011-06-20 07:47:47 +00:00
rfm
33843644e1
Add some flexibility
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33355 72102866-910b-0410-8b05-ffd578937521
2011-06-20 07:33:27 +00:00
rfm
53b5f5405c
fix a couple of leak detection bugs
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33353 72102866-910b-0410-8b05-ffd578937521
2011-06-20 04:37:20 +00:00
rfm
e78ceb4c96
more leak cleanup stuff
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
2011-06-19 13:34:17 +00:00
rfm
8b2ffba3d9
Start stuff for handling cleanup on process exit.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33344 72102866-910b-0410-8b05-ffd578937521
2011-06-19 09:26:03 +00:00
rfm
3d1656a7bd
fix uninitialised variable
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33342 72102866-910b-0410-8b05-ffd578937521
2011-06-18 18:11:57 +00:00
rfm
59540e5b9f
fix possibly uninitialised variable
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33341 72102866-910b-0410-8b05-ffd578937521
2011-06-18 17:47:37 +00:00
rfm
05f8f8f257
Patches by Sebastian Reitenbach
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33338 72102866-910b-0410-8b05-ffd578937521
2011-06-18 12:57:30 +00:00
rfm
72c9155ff3
10.6 sompatibility (some)
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33337 72102866-910b-0410-8b05-ffd578937521
2011-06-18 07:09:28 +00:00
rfm
54a0546f98
Fix xml parse error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33327 72102866-910b-0410-8b05-ffd578937521
2011-06-17 13:47:24 +00:00
rfm
074a57a018
Add some requests 10.6 methods ... untested.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33326 72102866-910b-0410-8b05-ffd578937521
2011-06-17 11:45:28 +00:00
fredkiefer
d00b0bd62c
Make Avahi work with gcc 2.95.
...
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33291 72102866-910b-0410-8b05-ffd578937521
2011-06-13 14:50:25 +00:00
fredkiefer
8fb735ef34
Add rest of Sebastian's patch.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33280 72102866-910b-0410-8b05-ffd578937521
2011-06-11 15:32:37 +00:00
fredkiefer
f527f7a973
* Source\NSCalendar.m: Protect the name id.
...
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33276 72102866-910b-0410-8b05-ffd578937521
2011-06-11 10:44:38 +00:00
rfm
212534bfba
Add configure option to control gdomap port
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33264 72102866-910b-0410-8b05-ffd578937521
2011-06-09 17:08:41 +00:00
rfm
2e8445ffdc
remove observer on dealloc
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33257 72102866-910b-0410-8b05-ffd578937521
2011-06-07 18:34:39 +00:00
fredkiefer
93b2eadbf8
Add [NSURL -checkResourceIsReachableAndReturnError:].
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33245 72102866-910b-0410-8b05-ffd578937521
2011-06-04 15:08:37 +00:00
rfm
5bb50a3205
apply Wolfgangs fix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33238 72102866-910b-0410-8b05-ffd578937521
2011-06-03 06:02:18 +00:00
rmottola
ad9905a172
Disable use of tzname on OpenBSD too
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33229 72102866-910b-0410-8b05-ffd578937521
2011-06-02 07:45:41 +00:00
rfm
e189595561
another system specific tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33228 72102866-910b-0410-8b05-ffd578937521
2011-06-02 06:54:23 +00:00
rfm
1931f89535
fix typo
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33227 72102866-910b-0410-8b05-ffd578937521
2011-06-01 22:12:21 +00:00
rfm
f9e0929417
More attempts to work around system specific timezone inconsistencies
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33226 72102866-910b-0410-8b05-ffd578937521
2011-06-01 22:04:46 +00:00
rfm
ba720e4293
minor tweak to fallback
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33222 72102866-910b-0410-8b05-ffd578937521
2011-06-01 15:15:52 +00:00
rfm
09f50b3388
fix boundary
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33219 72102866-910b-0410-8b05-ffd578937521
2011-06-01 11:44:48 +00:00
thebeing
a21c1b4e17
Adjust callback prototypes to use NSUInteger instead of unsigned int.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33214 72102866-910b-0410-8b05-ffd578937521
2011-05-31 14:19:26 +00:00
rfm
d70e36cea8
always create autorelease pools for mixed GC mode support
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33212 72102866-910b-0410-8b05-ffd578937521
2011-05-31 07:55:06 +00:00
rfm
a3d6ab0806
minor map/hash table compatibility tweaks and simplify notification center
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33210 72102866-910b-0410-8b05-ffd578937521
2011-05-31 06:46:17 +00:00
theraven
3da96c981c
Add a couple of __strong annotations to pointers. Any non-id pointer that can
...
store GC'd memory must be __strong. Currently, this annotation is largely
ignored, because the runtime is a lot more lax about what may store pointers
than Apple's, but this will be tightened up in the future.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33205 72102866-910b-0410-8b05-ffd578937521
2011-05-30 11:40:26 +00:00
theraven
f9cc9494d3
(Hopefully) fix the build with GS_WITH_GC.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33185 72102866-910b-0410-8b05-ffd578937521
2011-05-28 22:35:57 +00:00
fredkiefer
b79e6ba0be
Remove compiler warnings.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33184 72102866-910b-0410-8b05-ffd578937521
2011-05-28 20:27:20 +00:00
theraven
0f262c600e
Make NSPointerArray insert the correct read / write barriers in GC mode.
...
Add some helper functions to NSConcretePointerFunctions.h that make it easier
to do this in the other collections that need to support GC.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33180 72102866-910b-0410-8b05-ffd578937521
2011-05-28 18:05:29 +00:00
ericwa
3aa5c524e6
tweak and re-enable atomic ops detection
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33179 72102866-910b-0410-8b05-ffd578937521
2011-05-28 18:05:14 +00:00
theraven
ac4b932048
Fix a few functions that I missed for hybrid mode.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33178 72102866-910b-0410-8b05-ffd578937521
2011-05-28 15:28:24 +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
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
fredkiefer
9e3b2540f6
* Source/NSString.m (-initWithFormat:locale:): Make sure va_end()
...
gets called.
Patch by Stefan Bidigaray <stefanbidi@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33172 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:32:29 +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
75fa6eb931
Accidentally left some non-GC code enabled in GC mode.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33169 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:09:57 +00:00
theraven
19e71aa612
__weak is only allowed on ivars and globals, so we need to turn the Observation structure into a class.
...
Richard:
I've run the test suite with GC disabled on Linux/x86-64 and nothing broke, but can you please review these changes carefully anyway?
We seem to be using a complex custom allocator for a structure that is not allocated or deallocated. In typical programs, it looks like we're actually just wasting memory by using the memory pool here. Looking at the commit log, this hasn't really been touched for about 10 years, so possibly the assumptions are no longer valid. I can only see this being useful if someone is adding and removing hundreds of notification observers every run loop iteration. Do you have code that does this? If not, then can I remove the custom allocator?
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33165 72102866-910b-0410-8b05-ffd578937521
2011-05-28 12:49:52 +00:00