239 Commits (025688a2d5442c3c2db604e51c7018ec8e9b6e45)
 

Author SHA1 Message Date
theraven 202006f6b8 Removed some dead variables. 16 years ago
theraven 51ab4a935a Fixed class_getSuperclass() implementation. 16 years ago
theraven 604efa7077 Add new classes to the class table when they are registered. 16 years ago
theraven 81de407358 Fixed method_getNumberOfArguments(), report by Mizuki. 16 years ago
theraven 028a312ecd Fixed bugs found by Mizuki. 16 years ago
theraven 9dc0343c21 Fixed ivar offset checking to take account for alignment. 16 years ago
theraven 6a94efd4cf Removed debugging lines from GNUmakefile that were breaking the build. Thanks to RFM for spotting this... 16 years ago
rfm 6e29945894 Fix missing return 16 years ago
theraven 41f9e12f53 Added a bit more debugging info to the overlapping class error. 16 years ago
theraven 16c3ec8f46 Correctly declare the runtime hooks as extern. Was causing copies of them to show up in the uninitialised data section of libraries that included runtime.h, clobbering the default version and causing a crash when the runtime tried to call them. 16 years ago
qmathe bf2521da40 Fixed undefined pthread references when gnustep-base configure tests whether 'objc really works' 16 years ago
qmathe 8b9c723905 Added object_setClass 16 years ago
theraven 7ba27bd183 Fixed license for NSBlocks.m 16 years ago
theraven 93ac6e7f2f Fixed block class creation so libobjc2 no longer has a static dependency on NSObject. This lets blocks work without Foundation, just as on OS X. This requires GNUstep to call a runtime function when NSObject is loaded. 16 years ago
theraven 4771cd4e43 Added selector lookup functions. Implementations by Eric Wasylishen. 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 5f48260c6a Made sure the ObjC mutex is created before it might first be used. 16 years ago
theraven 8efbf98e55 Fixed potential load-order conflict in NSBlocks. 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 40da5b6b50 Fixed build warning on *BSD. 16 years ago
theraven bd73cc4e57 Added run-time abort if the first ivar of a newly-loaded class does not immediately follow on from the previous one. This (hopefully, modulo some potential weirdness related to bitfields) means that we should now get programs refusing to start in most cases where they depend on frameworks that had their ABI change but didn't bump the library version. This seems preferable to the previous behaviour of corrupting memory (note that this won't catch the case where the superclass has its ivars rearranged, but remains exactly the same size and the subclass references the ivars). 16 years ago
theraven 3ffec0a4fb Added missing declarations of exception-handling functions (from ABI spec). 16 years ago
theraven f8b98a73a2 Bug fixes in libobjc2:
- nil_method now returns 0, not receiver.

- Metaclasses actually get their dtables installed with the new ABI.  For some reason this wasn't being done, so class messages didn't work with the new ABI.  Now they do and (at least some) nontrivial programs work.

- Undid commenting out of the code setting the fast ivar access pointers.  I can't remember why this was commented out, but it seems not to break anything.  I have an LLVM pass that makes compiled code access these pointers, but it's not committed yet.
16 years ago
theraven 29790da51c Fixed bug in loading categories. 16 years ago
theraven b2bc15c64e Removed assertion. I'm not entirely sure why it was there, but it was preventing Gorm running (along with anything else that provided categories on subclassed classes). I need some more testing to make sure that this didn't break anything else, but Gorm now runs correctly with the new runtime, so it seems like an improvement... 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 b69b7c05d8 Removed unwind.h dependency. Tidied up a few warnings generated by clang. 17 years ago
theraven 2800dee1f4 Changed "unwind.h" to <unwind.h> 17 years ago
theraven 1e1e23827c Fixed new ABI method lookup function for +initialize safety. 17 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
rfm 3c43365991 Use _XOPEN_SOURCE rather than _XOPEN_VERSION 17 years ago
theraven 9c65b1c84c Added types support to blocks runtime, tidied up UNIX98 stuff. 17 years ago
rfm 102084ab7c Changes to compile on CentOS-5.3 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 252447c95f Updated block interface to more closely match Apple's one. Added support for introspectable blocks. 17 years ago
theraven 3038121d27 Flagged non-Apple-compatible parts of the API as non-portable. 17 years ago
theraven 323e3dfaeb Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework. 17 years ago