theraven
a83428b883
Move toydispatch into libobjc2.
...
Some build system tidies.
Add -retain / release to Protocol.
Initial work on clang-specific makefile.
15 years ago
theraven
ee32f78b0a
Tweaked the GNUmakefile to (more or less) work with gcc.
...
Fixed block introspection for the new (Apple-compatible) ABI.
16 years ago
ericwa
39b0655877
libobjc2: another makefile hack to get mingw to declare strdup
16 years ago
ericwa
56341816a5
libobjc2: Makefile hack to get the __sync_* GCC builtins to work on Windows
16 years ago
rfm
cd1d274928
Remove usage of -march=native since it doesn't work with most compilers, and
...
also causes problems with builds on server farms where the build machine is
not the machine the code will run on.
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
614e20229e
Fixed copy and paste error in toydispatch.
16 years ago
theraven
0698e968ee
Added license for toydispatch.
16 years ago
theraven
c3a6b866bb
Added toydispatch to libobjc. This is an implementation of a tiny subset of libdispatch, requiring no kernel support beyond a standard pthread implementation. It is intended to be used for running asynchronous book-keeping tasks for libobjc, but might also be useful for other things so it's compiled as a separate library.
16 years ago