Overview
| Comment: | Make retain count int32_t. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
b725e983ae16ebbc8332187b8b2d89fc |
| User & Date: | js on 2010-01-29 15:21:06 |
| Other Links: | manifest | tags |
Context
|
2010-01-29
| ||
| 15:22 | Add more atomic ops. (check-in: 78537d6ff3 user: js tags: trunk) | |
| 15:21 | Make retain count int32_t. (check-in: b725e983ae user: js tags: trunk) | |
|
2010-01-25
| ||
| 22:40 | Use spinlocks in objc_properties.m. (check-in: 2be191ec57 user: js tags: trunk) | |
Changes
Modified src/OFConstString.m from [69a22d8f6f] to [d39251187d].
| ︙ | ︙ | |||
134 135 136 137 138 139 140 |
}
- autorelease
{
return self;
}
| | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
}
- autorelease
{
return self;
}
- (int32_t)retainCount
{
return INT32_MAX;
}
- (void)release
{
}
- (void)dealloc
{
@throw [OFNotImplementedException newWithClass: isa
selector: _cmd];
[super dealloc]; /* Get rid of a stupid warning */
}
@end
|
Modified src/OFFile.m from [5dcf811aa9] to [f0b3a13578].
| ︙ | ︙ | |||
255 256 257 258 259 260 261 |
return self;
}
- (void)release
{
}
| | | | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 |
return self;
}
- (void)release
{
}
- (int32_t)retainCount
{
return INT32_MAX;
}
- (void)dealloc
{
@throw [OFNotImplementedException newWithClass: isa
selector: _cmd];
[super dealloc]; /* Get rid of stupid warning */
}
@end
|
Modified src/OFObject.h from [b10aa6cbcf] to [58427ce6f5].
| ︙ | ︙ | |||
262 263 264 265 266 267 268 | * object deallocated if it reaches 0. */ - retain; /** * \return The retain count */ | | | 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | * object deallocated if it reaches 0. */ - retain; /** * \return The retain count */ - (int32_t)retainCount; /** * Decreases the retain count. * * Each time an object is released, the retain count gets decreased and the * object deallocated if it reaches 0. */ |
| ︙ | ︙ |
Modified src/OFObject.m from [490f2fcff3] to [14884d461d].
| ︙ | ︙ | |||
29 30 31 32 33 34 35 |
#ifdef OF_GNU_RUNTIME
# import <objc/sarray.h>
#endif
#import "atomic.h"
struct pre_ivar {
| | | | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#ifdef OF_GNU_RUNTIME
# import <objc/sarray.h>
#endif
#import "atomic.h"
struct pre_ivar {
void **memchunks;
size_t memchunks_size;
int32_t retain_count; /* int32_t because atomic ops use int32_t */
};
/* Hopefully no arch needs more than 16 bytes padding */
#define PRE_IVAR_ALIGN ((sizeof(struct pre_ivar) + 15) & ~15)
#define PRE_IVAR ((struct pre_ivar*)((char*)self - PRE_IVAR_ALIGN))
static struct {
|
| ︙ | ︙ | |||
476 477 478 479 480 481 482 |
- retain
{
of_atomic_inc32(&PRE_IVAR->retain_count);
return self;
}
| | | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 |
- retain
{
of_atomic_inc32(&PRE_IVAR->retain_count);
return self;
}
- (int32_t)retainCount
{
return PRE_IVAR->retain_count;
}
- (void)release
{
if (!of_atomic_dec32(&PRE_IVAR->retain_count))
|
| ︙ | ︙ | |||
580 581 582 583 584 585 586 |
}
+ autorelease
{
return self;
}
| | | | 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 |
}
+ autorelease
{
return self;
}
+ (int32_t)retainCount
{
return INT32_MAX;
}
+ (void)release
{
}
+ (void)dealloc
|
| ︙ | ︙ |