11 Commits (ffc041fc82524561a0fb01b78ccc81102b7b5bc2)

Author SHA1 Message Date
theraven d58dad7e32 Fixed a bug with category loading. Previously, a method in a category that overrode a method in the superclass would only be picked up by subclasses that were not yet initialized.
Quentin: This was the category loading problem that you saw.  It was dependent upon load order, so was difficult to reproduce, however a Smalltalk category on NSString overriding a method from NSObject demonstrated it (because GSString was always initialized by the time Smalltalk code is loaded because LKCompiler use it, but not by the time ObjC code is loaded).
16 years ago
theraven 202006f6b8 Removed some dead variables. 16 years ago
theraven 7af08f5a82 Tweaked the +initialize order to work around some of the insanity in NSObject and NSAutoreleasePool's interaction in GNUstep. This code is incredibly fragile, and on the old runtime sometimes completely fails and crashes during startup, depending on the order in which the files were linked in -base and how the platform linker works. Hopefully now it should work in all cases. 16 years ago
theraven cbf41a1fec Fixed build with clang. 16 years ago
theraven baed61c3e6 Added property support functions, NSBlock base classes and uncaught exception handler. 16 years ago
theraven 29790da51c Fixed bug in loading categories. 16 years ago
theraven 5bb7c43244 Fixed accidental insertion of methods into the uninitialized dtable. 16 years ago
theraven 546f31df69 Fixed a load of ->dtable references up to dtable_for_class() calls. Now no longer does the Wrong Thing™ if you do silly things like modifying a class's dtable in +initialize (which, sadly, GNUstep does for NSConstantString). 16 years ago
theraven d010cc60ea Fix for threading bug with +initialize. Some limitations:
- Now only one thread may be in any +initialize method at once.
- Not yet implemented for the new ABI lookup function.

The first I don't see as a limitation; if anything having +initialize methods
be guaranteed not to run concurrently may be convenient.  The second I will fix
soon.
17 years ago
theraven bba507bf70 Removed incorrect comment from blocks runtime. Tweaked runtime.h to make it show the new functions even in GNU-compat mode and made sure the object-substitution hook is called even when object substitution can't be used, so GNUstep can use it for the 10.5 NSObject runtime functions. 17 years ago
theraven 323e3dfaeb Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework. 17 years ago