Removed GNU dtable and sparse array implementations, replaced entirely now with versions based on the Étoilé runtime. Performance is roughly equivalent in microbenchmarks, memory usage is significantly lower (Gorm goes from 95MB to 50MB on my machine - this will be even more pronounced on 64-bit systems), which should improve cache usage considerably. Still room for some performance tuning, however.
+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.
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.