ObjFW  History of src/OFAutoreleasePool.h of 9160269d5fd58581

History of file src/OFAutoreleasePool.h at check-in 9160269d5fd58581

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
Update copyright file: [96bdb1482b] check-in: [0509d7a844] user: js, branch: trunk, size: 2145 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [9b8141eb7d] check-in: [7e5c81e186] user: js, branch: trunk, size: 2139 [annotate] [blame] [check-ins using] [diff]
2017-02-04
18:23
Minor documentation improvements file: [85acd20c32] check-in: [c6d77093f7] user: js, branch: trunk, size: 2116 [annotate] [blame] [check-ins using] [diff]
17:45
Fix typos in comments and strings found by aspell file: [e47718b6a0] check-in: [5a31a537a1] user: js, branch: trunk, size: 2432 [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
Update copyright

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

2016-01-03
00:41
Update copyright

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

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

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

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

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

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

2011-09-10
18:36
Remove -[finalize] as ARC will be implemented instead of a GC. file: [0009cc3f48] check-in: [972a3ee40d] user: js, branch: trunk, size: 2410 [annotate] [blame] [check-ins using] [diff]
2011-05-05
21:17
More documentation improvements. file: [490a0d1357] check-in: [8490c927d2] user: js, branch: trunk, size: 2495 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [a9ab0a42bf] check-in: [da6b3d26cb] user: js, branch: trunk, size: 2393 [annotate] [blame] [check-ins using] [diff]
2010-09-07
09:10
Rename +[addObjectToTopmostPool:] to +[addObject:]. file: [5d5e0f8518] check-in: [eafb8d18ed] user: js, branch: trunk, size: 2137 [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
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. file: [219e7884ea] check-in: [e2b06423e0] user: js, branch: trunk, size: 2150 [annotate] [blame] [check-ins using] [diff]

2010-07-08
09:20
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. file: [20042a6dbe] check-in: [f92e1c77a0] user: js, branch: trunk, size: 2164 [annotate] [blame] [check-ins using] [diff]

2010-04-17
22:27
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. file: [80b6b20e53] check-in: [37db8f0fb3] user: js, branch: trunk, size: 1769 [annotate] [blame] [check-ins using] [diff]

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

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