Differences From Artifact [edc6b04857]:
- File src/OFObject.m — part of check-in [ff8b2a6c29] at 2012-07-16 22:44:23 on branch trunk — Don't require extra parentheses for OF_(UN)LIKELY. (user: js, size: 20364) [annotate] [blame] [check-ins using]
To Artifact [8f2badf8fb]:
- File
src/OFObject.m
— part of check-in
[417b213d41]
at
2012-07-16 23:49:50
on branch trunk
— Add OF_ENSURE.
This is to be used when the condition includes a statement that needs to
be executed, as with assert, this would not be executed anymore when
NDEBUG is defined. (user: js, size: 20376) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
725 726 727 728 729 730 731 | } - retain { #if defined(OF_ATOMIC_OPS) of_atomic_inc_32(&PRE_IVAR->retainCount); #elif defined(OF_THREADS) | | | | 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | } - retain { #if defined(OF_ATOMIC_OPS) of_atomic_inc_32(&PRE_IVAR->retainCount); #elif defined(OF_THREADS) OF_ENSURE(of_spinlock_lock(&PRE_IVAR->retainCountSpinlock)); PRE_IVAR->retainCount++; OF_ENSURE(of_spinlock_unlock(&PRE_IVAR->retainCountSspinlock)); #else PRE_IVAR->retainCount++; #endif return self; } |
︙ | ︙ | |||
749 750 751 752 753 754 755 | { #if defined(OF_ATOMIC_OPS) if (of_atomic_dec_32(&PRE_IVAR->retainCount) <= 0) [self dealloc]; #elif defined(OF_THREADS) size_t c; | | | | 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 | { #if defined(OF_ATOMIC_OPS) if (of_atomic_dec_32(&PRE_IVAR->retainCount) <= 0) [self dealloc]; #elif defined(OF_THREADS) size_t c; OF_ENSURE(of_spinlock_lock(&PRE_IVAR->retainCountSpinlock)); c = --PRE_IVAR->retainCount; OF_ENSURE(of_spinlock_unlock(&PRE_IVAR->retainCountSpinlock)); if (c == 0) [self dealloc]; #else if (--PRE_IVAR->retainCount == 0) [self dealloc]; #endif |
︙ | ︙ |