Commit Graph

166 Commits

Author SHA1 Message Date
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.
2009-11-14 18:09:51 +00:00
theraven
29790da51c Fixed bug in loading categories. 2009-11-13 18:28:01 +00:00
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... 2009-10-25 15:47:57 +00:00
theraven
5bb7c43244 Fixed accidental insertion of methods into the uninitialized dtable. 2009-10-24 15:56:42 +00:00
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). 2009-10-24 15:16:14 +00:00
theraven
b69b7c05d8 Removed unwind.h dependency. Tidied up a few warnings generated by clang. 2009-10-04 15:41:32 +00:00
theraven
2800dee1f4 Changed "unwind.h" to <unwind.h> 2009-10-04 14:55:57 +00:00
theraven
1e1e23827c Fixed new ABI method lookup function for +initialize safety. 2009-09-20 15:48:57 +00:00
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.
2009-09-20 12:46:45 +00:00
rfm
3c43365991 Use _XOPEN_SOURCE rather than _XOPEN_VERSION 2009-09-13 11:51:27 +00:00
theraven
9c65b1c84c Added types support to blocks runtime, tidied up UNIX98 stuff. 2009-09-11 10:28:49 +00:00
rfm
102084ab7c Changes to compile on CentOS-5.3 2009-09-11 08:21:58 +00:00
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. 2009-09-10 22:09:03 +00:00
theraven
252447c95f Updated block interface to more closely match Apple's one. Added support for introspectable blocks. 2009-09-10 01:24:25 +00:00
theraven
3038121d27 Flagged non-Apple-compatible parts of the API as non-portable. 2009-09-08 21:56:31 +00:00
theraven
323e3dfaeb Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework. 2009-09-08 16:18:59 +00:00