ObjFW  History of src/OFAutoreleasePool.h of 925754a09743d3fe

History of the file that is called src/OFAutoreleasePool.h at check-in 925754a09743d3fe

2019-09-29
15:58
Deleted: Remove OFAutoreleasePool

OFAutoreleasePools have long been discouraged in favor of the runtime's
autorelease pools. (check-in: [09be825f88] user: js, branch: trunk, size: 0)

2019-01-03
19:13
[96bdb1482b] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 2145) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[9b8141eb7d] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 2139) [annotate] [blame] [check-ins using] [diff]
2017-02-04
18:23
[85acd20c32] part of check-in [c6d77093f7] Minor documentation improvements (check-in: [c6d77093f7] user: js, branch: trunk, size: 2116) [annotate] [blame] [check-ins using] [diff]
17:45
[e47718b6a0] part of check-in [5a31a537a1] Fix typos in comments and strings found by aspell (check-in: [5a31a537a1] user: js, branch: trunk, size: 2432) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[ec872c3343] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 2432) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:41
[4ad6b8c21e] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 2426) [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
[c4fa3ea10e] part of check-in [9e76144ef8] Add support for and use the new nullability (check-in: [9e76144ef8] user: js, branch: trunk, size: 2422) [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
[d9cfb7f06a] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 2374) [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
[e825bde366] part of check-in [246cfe0807] Documentation: Show correct imports (check-in: [246cfe0807] user: js, branch: trunk, size: 2368) [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
[9dded99b23] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 2291) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[7b7e104b06] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 2285) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[c4bc0a71ca] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 2285) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[6e97eee322] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 2283) [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
[6e133e1966] part of check-in [1ad9565253] Switch to a headerdoc-compatible doc format. (check-in: [1ad9565253] user: js, branch: trunk, size: 2277) [annotate] [blame] [check-ins using] [diff]
2012-09-17
09:30
[5fa48ae30d] part of check-in [c9bea2982f] Simplify autoreleasing. (check-in: [c9bea2982f] user: js, branch: trunk, size: 2277) [annotate] [blame] [check-ins using] [diff]
2012-09-16
22:16
[cce576bf12] part of check-in [cc9601c228] Make sure an autorelease pool is always in place. (check-in: [cc9601c228] user: js, branch: trunk, size: 2301) [annotate] [blame] [check-ins using] [diff]
15:27
[fd7231bed2] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 2203) [annotate] [blame] [check-ins using] [diff]
2012-07-14
20:00
[d6d789a7b7] part of check-in [f5927f8a84] New autorelease pools.

This uses the runtime's autorelease pools and implements autorelease
pools in the ObjFW runtime. It therefore uses ObjFW's autorelease pools
when using the ObjFW runtime and Apple's autorelease pools when using
the Apple runtime.

These new pools should be ARC-compatible now and finally, it should be
possible to mix OFAutoreleasePools and NSAutoreleasePools again, even
@autoreleasepool is allowed in the mix now. This also means the old
bridge to NSAutoreleasePool should not be required anymore, as both use
the runtime's autorelease pools now.

As a bonus, it's significantly faster to use the ObjFW runtime with
ObjFW's autorelease pools than to use Apple's runtime with Apple's
autorelease pools, as a quick benchmark using OFXMLParser on large files
showed. (Note: This is not only due to the different autorelease pools,
but also due to the fact that even with the same autorelease pools it is
faster using the ObjFW runtime, as can be seen in versions prior to this
commit.) (check-in: [f5927f8a84] user: js, branch: trunk, size: 2201) [annotate] [blame] [check-ins using] [diff]

2012-02-29
21:12
[ed23b75b52] part of check-in [95db0335d8] \cond internal is not needed anymore. (check-in: [95db0335d8] user: js, branch: 0.6, size: 2259) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[859d666060] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 2291) [annotate] [blame] [check-ins using] [diff]
2011-09-22
12:09
[55b2b70b8b] part of check-in [2e484248de] Make it impossible to add objects to arbitrary autorelease pools.

This is almost never done, and was made impossible in ARC-compatible
code. (check-in: [2e484248de] user: js, branch: trunk, size: 2285) [annotate] [blame] [check-ins using] [diff]

2011-09-10
18:36
[0009cc3f48] part of check-in [972a3ee40d] Remove -[finalize] as ARC will be implemented instead of a GC. (check-in: [972a3ee40d] user: js, branch: trunk, size: 2410) [annotate] [blame] [check-ins using] [diff]
2011-05-05
21:17
[490a0d1357] part of check-in [8490c927d2] More documentation improvements. (check-in: [8490c927d2] user: js, branch: trunk, size: 2495) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[a9ab0a42bf] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 2393) [annotate] [blame] [check-ins using] [diff]
2010-09-07
09:10
[5d5e0f8518] part of check-in [eafb8d18ed] Rename +[addObjectToTopmostPool:] to +[addObject:]. (check-in: [eafb8d18ed] user: js, branch: trunk, size: 2137) [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
[219e7884ea] part of check-in [e2b06423e0] Replace OFObject* with id in many places.

We assume now that every object understands retain, release, etc. so
that we can weaken the type from OFObject* to id. This makes it
possible to use different root object classes. (check-in: [e2b06423e0] user: js, branch: trunk, size: 2150) [annotate] [blame] [check-ins using] [diff]

2010-07-08
09:20
[20042a6dbe] part of check-in [f92e1c77a0] Optimize OFAutoreleasePool.

It always allocates memory for 16 objects now. releaseObjects does not
free the memory allocated to store objects so that the same number of
objects can be stored in the autorelease pool again without the need to
allocate memory. This will give loops creating lots of objects a huge
performance boost. (check-in: [f92e1c77a0] user: js, branch: trunk, size: 2164) [annotate] [blame] [check-ins using] [diff]

2010-04-17
22:27
[80b6b20e53] part of check-in [37db8f0fb3] New ivar naming convention.

ivars are now named like this: thisIsAnIVar. If an accessor exists for
the ivar, the ivar is named like the accessor. This is required for
@property to work. (check-in: [37db8f0fb3] user: js, branch: trunk, size: 1769) [annotate] [blame] [check-ins using] [diff]

15:46
[4c33f3246c] part of check-in [062a052b50] Don't return self where not necessary, return void or something useful. (check-in: [062a052b50] user: js, branch: trunk, size: 1771) [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
[6a7b6de75c] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 1759) [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
[d36ba6919e] part of check-in [72caeab860] Documentation improvements. (check-in: [72caeab860] user: js, branch: trunk, size: 1759) [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
[049148d03d] part of check-in [1433aef0d0] Reduce dependencies between headers. (check-in: [1433aef0d0] user: js, branch: trunk, size: 1699) [annotate] [blame] [check-ins using] [diff]
14:43
[2774ec3150] part of check-in [1348a32d47] Remove mutation methods from immutable classes' interfaces. (check-in: [1348a32d47] user: js, branch: trunk, size: 1714) [annotate] [blame] [check-ins using] [diff]
2009-12-23
22:30
[68fc70c495] part of check-in [19ac0520ae] Documentation improvements. (check-in: [19ac0520ae] user: js, branch: trunk, size: 1708) [annotate] [blame] [check-ins using] [diff]
2009-11-22
16:33
[2aeb457e29] part of check-in [2f85ceeed7] Add -[drain] to OFAutoreleasePool. (check-in: [2f85ceeed7] user: js, branch: trunk, size: 1711) [annotate] [blame] [check-ins using] [diff]
2009-11-14
12:17
[19776ae923] part of check-in [12101c192f] New solution for TLS key destructors that works on any OS. (check-in: [12101c192f] user: js, branch: trunk, size: 1107) [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
[07ca47b0fe] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 1086) [annotate] [blame] [check-ins using] [diff]
2009-09-16
16:22
[33de3af070] part of check-in [a99f512a4a] Rework OFAutoreleasePool and remove now unnecessary hack from OFList. (check-in: [a99f512a4a] user: js, branch: trunk, size: 1089) [annotate] [blame] [check-ins using] [diff]
2009-05-23
21:53
[9729efb348] part of check-in [526d04018d] A few renames.

OFArray:
* -[add:] to -[addObject:].
* -[last] to -[lastObject].

OFAutoreleasePool:
* +[addToPool:] to +[addObjectToTopmostPool:].
* -[addToPool:] to -[addObject:].

OFDataArray:
* -[add:] to -[addItem:].
* -[last] to -[lastItem].

OFObject:
* -[addToMemoryPool:] to -[addItemToMemoryPool:]. (check-in: [526d04018d] user: js, branch: trunk, size: 1083) [annotate] [blame] [check-ins using] [diff]

2009-01-06
22:38
[d4653e60d0] part of check-in [dfc10dbeb8] Use OFList and OFArray in OFAutoreleasePool.
This reduces code duplication and looks far better.
(check-in: [dfc10dbeb8] user: js, branch: trunk, size: 1080) [annotate] [blame] [check-ins using] [diff]
2009-01-05
00:59
[b23ad42b20] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 1101) [annotate] [blame] [check-ins using] [diff]
00:56
Added: [cc7ef60296] part of check-in [b412845664] Initial OFAutoreleasePool - still needs a *lot* of testing. (check-in: [b412845664] user: js, branch: trunk, size: 1094) [annotate] [blame] [check-ins using]