You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
David Chisnall a9a2ed6b10 Refactor to use `objc_method` as the slot.
This change set incorporates a number of changes that all needed to
happen together:

 * The imp is now the first field of the `objc_method` structure.  This
   makes it possible to extend the structure without breaking anything
   that relies on being able to access the IMP.
 * There is no owner in the slot, so we must use other mechanisms for
   determining the owner of a method (e.g. whether the same method appears
   in the superclass)
 * Again, because there is no owner in the slot, we can't use this as a
   fast path for finding the C++ construct / destruct methods.  These are
   now cached in the class structure when they are found.
 * The version field is gone from the slot and now we provide a global
   version.  This is based on the observation that method replacements
   are relatively infrequent and the overhead of invalidating all method
   caches is cheaper than adding extra state for every (class, method)
   pair.
 * A number of the runtime functions are simplified because replacing
   the IMP in a `Method` now implicitly updates the dtable.
8 years ago
..
RuntimeTest.xcodeproj libobjc2: add Xcode project for RuntimeTest 16 years ago
AllocatePair.m Fix copy and paste duplication of a line. 10 years ago
AssociatedObject.m Add test for associated objects. 12 years ago
AssociatedObject2.m Add a test that hidden classes are correctly deallocated and don’t leave the runtime in an undefined state. 11 years ago
BlockImpTest.m Try calling the IMP directly before calling it indirectly in the block-as-method test. 10 years ago
BlockTest_arc.m Fix a bug with blocks in ARC mode being incorrectly released. 13 years ago
BoxedForeignException.m More header cleanups in the tests. 13 years ago
CMakeLists.txt Add test for category methods replacing class methods. 8 years ago
CXXException.cc Add missing test. 13 years ago
CXXException.m Implemented the new exception ABI, and a load of tests for it. This is used by 13 years ago
Category.m Refactor to use `objc_method` as the slot. 8 years ago
ExceptionTest.m Implemented the new exception ABI, and a load of tests for it. This is used by 13 years ago
ForeignException.m Implemented the new exception ABI, and a load of tests for it. This is used by 13 years ago
Forward.m Make the forwarding test use the forward2 hook. 10 years ago
ForwardDeclareProtocol.m Silence a warning in a test. 8 years ago
ForwardDeclareProtocolAccess.m Add a test for forward declared protocols. 8 years ago
GNUmakefile libobjc2: add a Test subdirectory with a preliminary test of the runtime API 16 years ago
IVarOverlap.m Remove another unused build-breaking header. 9 years ago
ManyManySelectors.m Tweak the ManyManySelectors test case so that it doesn't hit a pathological 13 years ago
MethodArguments.m Don't use an obsolete header in a test. 10 years ago
NestedExceptions.m Implemented the new exception ABI, and a load of tests for it. This is used by 13 years ago
NilException.m Check other exception handlers that should/shouldn't catch nil. 10 years ago
ObjCXXEHInterop.m Simplify test case some more. 8 years ago
ObjCXXEHInterop.mm Simplify test case some more. 8 years ago
PropertyAttributeTest.m More header cleanups in the tests. 13 years ago
PropertyIntrospectionTest.m More header cleanups in the tests. 13 years ago
PropertyIntrospectionTest2_arc.m Work around the fact that clang 3.4 and earlier emit broken metadata. 10 years ago
ProtocolCreation.m Explicitly reference a protocol in a test. 8 years ago
ResurrectInDealloc_arc.m Allow ARC to correctly handle references to self from blocks within -dealloc. 12 years ago
RuntimeTest.m Remove a test for a thing that was false. 8 years ago
Test.h Don't compile Test.m 122 times. 8 years ago
Test.m Don't compile Test.m 122 times. 8 years ago
WeakBlock_arc.m Fix ARC assignment of blocks. 10 years ago
WeakReferences_arc.m Fix a bug in weak reference handling, where weak refers were being removed from 12 years ago
alignTest.m Additional asserts 9 years ago
category_properties.m Don't compile Test.m 122 times. 8 years ago
exchange.m Add test for #32. 9 years ago
ivar_arc.m Fix a segfault on (s|g)etting ivars. 10 years ago
minRep1.mm Delete a lot of redundant code. 8 years ago
msgInterpose.m Fix include to work with make. 13 years ago
objc_msgSend.m Don't compile Test.m 122 times. 8 years ago
zeroSizedIVar.m Remove an assertion that was useful in debugging, but not actually 9 years ago