theraven
d70523947b
Implement some missing runtime functions.
16 years ago
theraven
7453547c47
Add protocol_getMethodDescription().
16 years ago
theraven
77d02d075b
Add some missing protocol introspection functions.
16 years ago
theraven
65ec110a61
Make sure both protocol classes are available before resolving protocols.
16 years ago
theraven
627e8cb0dc
Remove debugging lines left in by mistake in last commit.
16 years ago
theraven
779b28abeb
Lots of tidying, removing legacy stuff.
16 years ago
ericwa
cc260222da
protocol.c: don't call init_protocols() with NULL
16 years ago
theraven
bb8cafaa15
Finished rewriting the loader. It's now cleanly separated into logically-separate components, so there's a chance it might actually be maintainable...
16 years ago
theraven
8058495e39
Fix crash with gcc-compiled protocols.
16 years ago
theraven
c1a637a990
Allowed hash tables to dynamically resize. This uses toydispatch to free the old version of the table after copying all of the data into the new one, after waiting enough time to allow all potential readers to finish. There are theoretical cases when this can fail, but hopefully no practical ones. The theoretical cases can be removed by making the garbage thread run at a lower priority than all of the other threads in the system.
...
The protocols table and the class table will now grow as required. Protocols are now added to the protocols table as they are created, so you should get something sensible and introspectable back when you look up a protocol by name.
16 years ago
theraven
a2dbc582de
Made objc_getProtocol() return a protocol from the protocol table, rather than creating a new one.
16 years ago
theraven
e1ae8df5af
Initial work on protocol uniquing. Protocols are now added to a table and can be looked up at run time.
16 years ago
theraven
323e3dfaeb
Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework.
17 years ago