Differences From Artifact [c65623ed0a]:
- File
src/OFList.m
— part of check-in
[1255f3a11a]
at
2012-08-10 20:08:24
on branch trunk
— Directly use the runtime's autorelease pools.
This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (user: js, size: 9230) [annotate] [blame] [check-ins using]
To Artifact [9579281a19]:
- File src/OFList.m — part of check-in [2b5d03d8ea] at 2012-09-11 12:10:52 on branch trunk — Add -[OFList removeAllObjects]. (user: js, size: 9488) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
264 265 266 267 268 269 270 271 272 273 274 275 276 277 | for (iter = firstListObject; iter != NULL; iter = iter->next) if (iter->object == object) return YES; return NO; } - copy { OFList *copy = [[[self class] alloc] init]; of_list_object_t *iter, *listObject, *previous; listObject = NULL; | > > > > > > > > > > > > > > > > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | for (iter = firstListObject; iter != NULL; iter = iter->next) if (iter->object == object) return YES; return NO; } - (void)removeAllObjects { of_list_object_t *iter, *next; mutations++; for (iter = firstListObject; iter != NULL; iter = next) { next = iter->next; [iter->object release]; [self freeMemory: iter]; } firstListObject = lastListObject = NULL; } - copy { OFList *copy = [[[self class] alloc] init]; of_list_object_t *iter, *listObject, *previous; listObject = NULL; |
︙ | ︙ |