7 Commits (0957cbe425c76be2c5e56dbd1cfccafa580e1f11)

Author SHA1 Message Date
theraven 8ce32fd1c9 Rewrote class resolving code. Now it only resolves classes that actually need resolving, rather than iterating over the entire class table.
(This is part 1.  Part 2 will lazily resolve classes.)
16 years ago
theraven 98a2cd07d4 Removed debugging line included by accident with last commit. 16 years ago
theraven dfa14d5d34 Made Object less magic. For now, because there are some weird people who want to use Objective-C without Foundation, Object is still included. If you compile without defining GNUSTEP (which GNUstep Make does automatically) then you get the old behaviour. If you build with GNUSTEP defined:
+load will not be sent until both NSObject and NSConstantString have been seen.
NSObject will be set as the superclass for all metaclasses, not Object.

This is in line with Cocoa and should make it a bit easier for people porting code who have categories on NSObject and are confused that they don't work as expected.  

Object and NXConstantString are now deprecated.  They're staying here because I use them for producing reduced test cases for the runtime and compiler, but they shouldn't be used.  I will probably remove them from the default build soon.
16 years ago
theraven bdf97cf64e Added hopscotch table implementation and rewrote the class table to use it. This is done so that the class table and protocol tables can share the same code (currently there is no protocol table).
Note that concurrent resizing has not yet been implemented.  That means that there is a hard limit on the number of classes that can be loaded.  This is currently set to quite a small number for testing, to stress the hash table.  If you're experiencing problems as a result, then please let me know and I will increase it.
16 years ago
theraven 202006f6b8 Removed some dead variables. 16 years ago
rfm 102084ab7c Changes to compile on CentOS-5.3 17 years ago
theraven 323e3dfaeb Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework. 17 years ago