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.
The previous checks for a deallocating object with negative reference count did not work because:
1. the sign bit has to be recreated as was happening in objc_delete_weak_refs()
2. there was no distinction between a saturated count and a negative reference count
refcount_max now indicates when the refcount has saturated and should no longer be mutated.
An underflow to -1 still maps to refcount_mask, allowing us to detect when an object is supposed to be deallocated.
Neither objc_release_fast_no_destroy_np() nor objc_retain_fast_np() mutate the refcount when it is one of those values, so the comment in objc_delete_weak_refs() was adjusted.
|
5 years ago | |
|---|---|---|
| .. | ||
| RuntimeTest.xcodeproj | 16 years ago | |
| ARCTest_arc.m | 8 years ago | |
| AllocatePair.m | 8 years ago | |
| AssociatedObject.m | 7 years ago | |
| AssociatedObject2.m | 7 years ago | |
| BlockImpTest.m | 6 years ago | |
| BlockTest_arc.m | 13 years ago | |
| BoxedForeignException.m | 13 years ago | |
| CMakeLists.txt | 5 years ago | |
| CXXException.cc | 7 years ago | |
| CXXException.m | 7 years ago | |
| Category.m | 8 years ago | |
| ConstantString.m | 8 years ago | |
| ExceptionTest.m | 7 years ago | |
| FastARC.m | 6 years ago | |
| FastRefCount.m | 5 years ago | |
| ForeignException.m | 13 years ago | |
| Forward.m | 10 years ago | |
| ForwardDeclareProtocol.m | 7 years ago | |
| ForwardDeclareProtocolAccess.m | 7 years ago | |
| GNUmakefile | 16 years ago | |
| IVarOverlap.m | 9 years ago | |
| IVarSuperclassOverlap.m | 7 years ago | |
| ManyManySelectors.m | 7 years ago | |
| MethodArguments.m | 10 years ago | |
| NestedExceptions.m | 8 years ago | |
| NilException.m | 10 years ago | |
| ObjCXXEHInterop.m | 6 years ago | |
| ObjCXXEHInterop.mm | 6 years ago | |
| ObjCXXEHInterop_arc.m | 6 years ago | |
| ObjCXXEHInterop_arc.mm | 6 years ago | |
| PropertyAttributeTest.m | 7 years ago | |
| PropertyIntrospectionTest.m | 13 years ago | |
| PropertyIntrospectionTest2_arc.m | 7 years ago | |
| ProtocolCreation.m | 7 years ago | |
| ProtocolExtendedProperties.m | 8 years ago | |
| ResurrectInDealloc_arc.m | 12 years ago | |
| RuntimeTest.m | 8 years ago | |
| SuperMethodMissing.m | 6 years ago | |
| Test.h | 8 years ago | |
| Test.m | 6 years ago | |
| WeakBlock_arc.m | 10 years ago | |
| WeakImportClass.m | 8 years ago | |
| WeakRefLoad.m | 6 years ago | |
| WeakReferences_arc.m | 12 years ago | |
| alias.m | 8 years ago | |
| alignTest.m | 7 years ago | |
| category_properties.m | 6 years ago | |
| exchange.m | 9 years ago | |
| hash_table_delete.c | 8 years ago | |
| hash_test.c | 8 years ago | |
| ivar_arc.m | 10 years ago | |
| ivar_atomic.m | 7 years ago | |
| minRep1.mm | 8 years ago | |
| msgInterpose.m | 13 years ago | |
| objc_msgSend.m | 8 years ago | |
| setSuperclass.m | 7 years ago | |
| zeroSizedIVar.m | 7 years ago | |