History of the file that is called src/OFAutoreleasePool.m at check-in e382d2a8cbfb2fbb
|
2019-09-29
| ||
| 15:58 |
Deleted:
Remove OFAutoreleasePool
OFAutoreleasePools have long been discouraged in favor of the runtime's | |
|
2019-08-01
| ||
| 20:14 |
[966b634bbb]
part of check-in [5358e9ea6a]
Split threading.[hm] into multiple files
This allows the runtime to only link against the parts it needs, without | |
|
2019-01-03
| ||
| 19:13 | [8f3a2dc0ae] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 3391) [annotate] [blame] [check-ins using] [diff] | |
|
2018-01-03
| ||
| 19:49 | [dc1cdf1574] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 3385) [annotate] [blame] [check-ins using] [diff] | |
|
2017-10-17
| ||
| 00:33 |
[ae2a82f384]
part of check-in [2f4e0df8be]
Do not use implicit method return types
Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does | |
|
2017-05-21
| ||
| 21:28 |
[e9bf9ceb4f]
part of check-in [6b77a5dd8b]
Prefix private methods with of_ instead of OF_
This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 3306) [annotate] [blame] [check-ins using] [diff] | |
|
2017-05-07
| ||
| 20:10 |
[d441366c61]
part of check-in [4af49a13c3]
Small code style change
Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 3306) [annotate] [blame] [check-ins using] [diff] | |
|
2017-01-09
| ||
| 17:36 |
[88fd4d2a1a]
part of check-in [44f45c2e35]
Update copyright
Forgot to add 2017, even though I already did quite some changes in | |
|
2016-02-21
| ||
| 15:37 | [98e7771e8f] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 3299) [annotate] [blame] [check-ins using] [diff] | |
|
2016-01-03
| ||
| 00:41 |
[f48e2b8969]
part of check-in [2a27cf3000]
Update copyright
While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 3319) [annotate] [blame] [check-ins using] [diff] | |
|
2015-01-03
| ||
| 20:57 | [4ad3cb8fc5] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 3315) [annotate] [blame] [check-ins using] [diff] | |
|
2014-06-21
| ||
| 21:43 |
[0f577bcb9a]
part of check-in [13ee56edf3]
Move all macros from OFObject.h to macros.h
This means that OFObject.h imports macros.h now, making it unnecessary | |
|
2014-05-14
| ||
| 20:19 |
[c6736b8348]
part of check-in [c701e89b83]
Use thread_local instead of __thread
If threads.h exists, the thread_local from there is used. If it doesn't, | |
|
2014-01-04
| ||
| 00:24 | [afda14705e] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 3348) [annotate] [blame] [check-ins using] [diff] | |
|
2013-11-23
| ||
| 01:27 | [ce4907a277] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 3342) [annotate] [blame] [check-ins using] [diff] | |
|
2013-09-15
| ||
| 18:51 | [c1b6db103b] part of check-in [29e4d00225] OFAutoreleasePool: Free pool cache on thread exit. (check-in: [29e4d00225] user: js, branch: trunk, size: 3411) [annotate] [blame] [check-ins using] [diff] | |
|
2013-03-04
| ||
| 17:20 |
[06405e2bb2]
part of check-in [c5ef582958]
Replace BOOL with bool.
The only places where BOOL is left are those where they are required by | |
|
2013-02-18
| ||
| 12:27 | [933769a877] part of check-in [e0c9168dfc] Add -[OFMutableArray initWithCapacity:]. (check-in: [e0c9168dfc] user: js, branch: trunk, size: 3013) [annotate] [blame] [check-ins using] [diff] | |
|
2013-02-12
| ||
| 18:22 | [d0fc457afc] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 3033) [annotate] [blame] [check-ins using] [diff] | |
|
2013-01-12
| ||
| 20:53 | [b51231d742] part of check-in [b8ce2359f3] Clean up the feature #ifdef mess. (check-in: [b8ce2359f3] user: js, branch: trunk, size: 3023) [annotate] [blame] [check-ins using] [diff] | |
| 20:21 | [5c43e2c904] part of check-in [85b8efadbc] Fix --disable-threads. (check-in: [85b8efadbc] user: js, branch: trunk, size: 2963) [annotate] [blame] [check-ins using] [diff] | |
|
2013-01-09
| ||
| 22:24 | [ec3c376704] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 2745) [annotate] [blame] [check-ins using] [diff] | |
|
2012-12-22
| ||
| 15:37 | [b1114f3a89] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 2739) [annotate] [blame] [check-ins using] [diff] | |
|
2012-09-17
| ||
| 09:30 | [b7dda03eca] part of check-in [c9bea2982f] Simplify autoreleasing. (check-in: [c9bea2982f] user: js, branch: trunk, size: 2868) [annotate] [blame] [check-ins using] [diff] | |
|
2012-09-16
| ||
| 22:16 | [f049b285d4] part of check-in [cc9601c228] Make sure an autorelease pool is always in place. (check-in: [cc9601c228] user: js, branch: trunk, size: 3618) [annotate] [blame] [check-ins using] [diff] | |
| 15:27 | [ef9f34b1d7] part of check-in [c137da5e5b] Prefix all private methods with OF_. (check-in: [c137da5e5b] user: js, branch: trunk, size: 3552) [annotate] [blame] [check-ins using] [diff] | |
|
2012-08-09
| ||
| 15:37 | [1a29185e97] part of check-in [4ad6599390] Cache 32 autorelease pools per thread. (check-in: [4ad6599390] user: js, branch: trunk, size: 3550) [annotate] [blame] [check-ins using] [diff] | |
|
2012-08-07
| ||
| 08:35 | [d255c7767f] part of check-in [7fbf13845b] Add autorelease.h and export functions. (check-in: [7fbf13845b] user: js, branch: trunk, size: 2636) [annotate] [blame] [check-ins using] [diff] | |
|
2012-07-16
| ||
| 23:49 |
[6cf9fdd824]
part of check-in [417b213d41]
Add OF_ENSURE.
This is to be used when the condition includes a statement that needs to | |
| 12:19 | [6326631fd1] part of check-in [5abd9baa33] Free memory when the last pool has been drained. (check-in: [5abd9baa33] user: js, branch: trunk, size: 2734) [annotate] [blame] [check-ins using] [diff] | |
|
2012-07-14
| ||
| 22:21 | [20bd5ed7f7] part of check-in [95b1b31aa5] Fall back to of_tlskey if __thread is unavailable. (check-in: [95b1b31aa5] user: js, branch: trunk, size: 2818) [annotate] [blame] [check-ins using] [diff] | |
| 20:00 |
[9b9e08d0f0]
part of check-in [f5927f8a84]
New autorelease pools.
This uses the runtime's autorelease pools and implements autorelease These new pools should be ARC-compatible now and finally, it should be As a bonus, it's significantly faster to use the ObjFW runtime with | |
|
2012-07-12
| ||
| 01:28 | [6d60b227fa] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 4246) [annotate] [blame] [check-ins using] [diff] | |
|
2012-06-10
| ||
| 13:28 | [42c4c969f4] part of check-in [11d3d69a22] More API improvements. (check-in: [11d3d69a22] user: js, branch: trunk, size: 4210) [annotate] [blame] [check-ins using] [diff] | |
|
2012-06-06
| ||
| 13:47 |
[bc3a0d2a2f]
part of check-in [f7576a66ce]
Slightly change the memory management API.
Also fix a bug where OFBigDataArray would waste memory. (check-in: [f7576a66ce] user: js, branch: trunk, size: 4218) [annotate] [blame] [check-ins using] [diff] | |
|
2012-01-05
| ||
| 00:56 | [9f23f6d996] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 4219) [annotate] [blame] [check-ins using] [diff] | |
|
2011-09-22
| ||
| 23:25 |
[6cfd14d520]
part of check-in [e1e7ffa903]
Exceptions are now autoreleased.
This is safe as an "exception loop" can't happen, since if allocating So, the worst case would be that an autorelease of an exception fails, | |
| 12:09 |
[74a7fa7b2d]
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 | |
|
2011-09-19
| ||
| 16:34 |
[5a81eccbfb]
part of check-in [f173477bef]
Rename -[allocMemoryForNItems:withSize:] and friends. It is now -[allocMemoryForNItems:ofSize:]. (check-in: [f173477bef] user: js, branch: trunk, size: 4164) [annotate] [blame] [check-ins using] [diff] | |
|
2011-05-05
| ||
| 21:17 | [9d07df10aa] part of check-in [8490c927d2] More documentation improvements. (check-in: [8490c927d2] user: js, branch: trunk, size: 4164) [annotate] [blame] [check-ins using] [diff] | |
|
2011-03-24
| ||
| 19:42 | [152777f944] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 4006) [annotate] [blame] [check-ins using] [diff] | |
|
2011-01-01
| ||
| 20:19 | [ed50e7f16a] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 3948) [annotate] [blame] [check-ins using] [diff] | |
|
2010-12-28
| ||
| 22:18 | [201a88918f] part of check-in [88c920bd62] Make ObjFW work again without threads and without atomic ops. (check-in: [88c920bd62] user: js, branch: trunk, size: 3692) [annotate] [blame] [check-ins using] [diff] | |
|
2010-10-25
| ||
| 23:03 | [2e10041b61] part of check-in [8a7ca573c4] Clean up a lot of code (mostly init methods) and fix a missing rethrow. (check-in: [8a7ca573c4] user: js, branch: trunk, size: 3693) [annotate] [blame] [check-ins using] [diff] | |
|
2010-09-07
| ||
| 09:10 | [4e90c8c96d] part of check-in [eafb8d18ed] Rename +[addObjectToTopmostPool:] to +[addObject:]. (check-in: [eafb8d18ed] user: js, branch: trunk, size: 3810) [annotate] [blame] [check-ins using] [diff] | |
|
2010-09-05
| ||
| 23:19 |
[0e3d14e495]
part of check-in [e2b06423e0]
Replace OFObject* with id in many places.
We assume now that every object understands retain, release, etc. so | |
|
2010-07-08
| ||
| 09:20 |
[14bd700788]
part of check-in [f92e1c77a0]
Optimize OFAutoreleasePool.
It always allocates memory for 16 objects now. releaseObjects does not | |
|
2010-04-17
| ||
| 15:46 | [e16884bf15] 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: 3473) [annotate] [blame] [check-ins using] [diff] | |
|
2010-02-19
| ||
| 16:36 | [86ca3a0b16] part of check-in [42886185fd] Update copyright. (check-in: [42886185fd] user: js, branch: trunk, size: 3528) [annotate] [blame] [check-ins using] [diff] | |
|
2010-01-16
| ||
| 15:05 | [25082e063b] part of check-in [1433aef0d0] Reduce dependencies between headers. (check-in: [1433aef0d0] user: js, branch: trunk, size: 3528) [annotate] [blame] [check-ins using] [diff] | |
|
2009-12-11
| ||
| 12:52 | [929d90108c] part of check-in [6caac0826e] Make it possible to build ObjFW without support for threads. (check-in: [6caac0826e] user: js, branch: trunk, size: 3527) [annotate] [blame] [check-ins using] [diff] | |
|
2009-11-22
| ||
| 16:33 | [3ea4e1ab45] part of check-in [2f85ceeed7] Add -[drain] to OFAutoreleasePool. (check-in: [2f85ceeed7] user: js, branch: trunk, size: 3099) [annotate] [blame] [check-ins using] [diff] | |
|
2009-11-14
| ||
| 12:17 | [8c6dcd3941] part of check-in [12101c192f] New solution for TLS key destructors that works on any OS. (check-in: [12101c192f] user: js, branch: trunk, size: 3025) [annotate] [blame] [check-ins using] [diff] | |
|
2009-11-13
| ||
| 21:02 | [7523e6d739] part of check-in [d7d45d4b69] Fix one more FIXME. (check-in: [d7d45d4b69] user: js, branch: trunk, size: 3209) [annotate] [blame] [check-ins using] [diff] | |
|
2009-11-09
| ||
| 22:45 | [c0583ef178] part of check-in [a3cc34b139] Rename libobjfw to ObjFW. (check-in: [a3cc34b139] user: js, branch: trunk, size: 2678) [annotate] [blame] [check-ins using] [diff] | |
|
2009-09-21
| ||
| 20:35 | [5130372aa2] part of check-in [59969f5450] A few minor Win32 fixes. (check-in: [59969f5450] user: js, branch: trunk, size: 2681) [annotate] [blame] [check-ins using] [diff] | |
| 11:15 | [2c07550cc7] part of check-in [15a67e8ee5] Move platform-specific threading stuff to threading.h. (check-in: [15a67e8ee5] user: js, branch: trunk, size: 2731) [annotate] [blame] [check-ins using] [diff] | |
|
2009-09-16
| ||
| 17:23 | [992a58ee6a] part of check-in [0375b1e0ea] A few very small mingw32 fixes. (check-in: [0375b1e0ea] user: js, branch: trunk, size: 3847) [annotate] [blame] [check-ins using] [diff] | |
| 16:22 | [b3f1509666] part of check-in [a99f512a4a] Rework OFAutoreleasePool and remove now unnecessary hack from OFList. (check-in: [a99f512a4a] user: js, branch: trunk, size: 3797) [annotate] [blame] [check-ins using] [diff] | |
|
2009-07-19
| ||
| 14:05 | [d23a1326bd] part of check-in [4eae61a78f] Rename andFoo: to foo: in all methods. (check-in: [4eae61a78f] user: js, branch: trunk, size: 3049) [annotate] [blame] [check-ins using] [diff] | |
|
2009-06-30
| ||
| 12:07 |
[f5bf7ad9a3]
part of check-in [67bb344ba6]
A few renames in OFObject, see details.
* +[conformsTo:] to +[conformsToProtocol:]. | |
|
2009-06-02
| ||
| 20:15 |
[bb48a7e604]
part of check-in [e6f6113b5c]
No need to override -[release] in OFAutoreleasePool.
As we can't retain a pool, -[dealloc] will always be called when -[release] | |
|
2009-05-24
| ||
| 18:04 | [8e1c79e9ad] part of check-in [94ea6848a8] Always use #include "config.h" instead of #import "config.h". (check-in: [94ea6848a8] user: js, branch: trunk, size: 3218) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-23
| ||
| 21:53 |
[bd25c897fc]
part of check-in [526d04018d]
A few renames.
OFArray: OFAutoreleasePool: OFDataArray: OFObject: | |
| 01:59 | [2fd942db62] part of check-in [e0163c30a9] Prevent + initialize from being called twice. (check-in: [e0163c30a9] user: js, branch: trunk, size: 3198) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-19
| ||
| 10:33 | [4359bf55c9] part of check-in [e5efcb03ac] Better error handling for OFAutoreleasePools. (check-in: [e5efcb03ac] user: js, branch: trunk, size: 3147) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-18
| ||
| 17:50 | [81f708f0c4] part of check-in [163409967e] Split OFArray into OFArray and OFMutableArray. (check-in: [163409967e] user: js, branch: trunk, size: 2731) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-15
| ||
| 22:59 | [c665c234c4] part of check-in [4c6d6c56ac] As we memset our ivars to 0, get rid of some useless ivar inits. (check-in: [4c6d6c56ac] user: js, branch: trunk, size: 2724) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-14
| ||
| 14:24 | [3f9b8ad9ca] part of check-in [bdc9b3219f] Get rid of OFNotInSetException. (check-in: [bdc9b3219f] user: js, branch: trunk, size: 2741) [annotate] [blame] [check-ins using] [diff] | |
| 13:46 |
[1d59e36e29]
part of check-in [af41efe079]
Two small fixes for OFAutoreleasePool.
First, when an OFAutoreleasePool is deallocated, it should always Second, releaseObject should also release the objects of the pools on | |
|
2009-05-13
| ||
| 20:39 |
[99c26c51d9]
part of check-in [6d589825cd]
Let - release return void again.
If you want to know if it will be released, you can just get the retain | |
| 20:31 | [4d907e6ad8] part of check-in [9e6dd00ef5] Rename - free to - (void)dealloc. (check-in: [9e6dd00ef5] user: js, branch: trunk, size: 2748) [annotate] [blame] [check-ins using] [diff] | |
| 19:49 | [5bcc5ee828] part of check-in [917188fdcc] There's no need for + initialize to return anything. (check-in: [917188fdcc] user: js, branch: trunk, size: 2737) [annotate] [blame] [check-ins using] [diff] | |
| 17:58 | [82173abc64] part of check-in [4f4f619d84] Also release pools that are on top of the pool being released. (check-in: [4f4f619d84] user: js, branch: trunk, size: 2746) [annotate] [blame] [check-ins using] [diff] | |
|
2009-05-05
| ||
| 12:05 |
[0e0d5e7d64]
part of check-in [2a4aa05a84]
Rename OFArray to OFDataArray and add a new OFArray which stores objects. Additionally, change OFAutoreleasePool to use the new OFArray. And while at it, change #import <config.h> in some files to | |
|
2009-05-04
| ||
| 13:01 | [c9f95c0438] part of check-in [2d09137a6b] Use OFThread's TLS in OFAutoreleasePool. (check-in: [2d09137a6b] user: js, branch: trunk, size: 2402) [annotate] [blame] [check-ins using] [diff] | |
|
2009-04-21
| ||
| 17:16 | [f928f923c8] part of check-in [d87df02e8b] The if ((self = [super init])) construct isn't needed anymore. (check-in: [d87df02e8b] user: js, branch: trunk, size: 2771) [annotate] [blame] [check-ins using] [diff] | |
|
2009-04-20
| ||
| 01:16 | [6c7114863d] part of check-in [cc4fe36d83] Fix forgotten change of - release in OFAutoreleasePool. (check-in: [cc4fe36d83] user: js, branch: trunk, size: 2796) [annotate] [blame] [check-ins using] [diff] | |
|
2009-03-15
| ||
| 16:54 | [c444fdcf51] part of check-in [c9b6747306] Fix missing #import "config.h". (check-in: [c9b6747306] user: js, branch: trunk, size: 2794) [annotate] [blame] [check-ins using] [diff] | |
|
2009-03-08
| ||
| 16:06 | [3a1c237454] part of check-in [43e4d25ca7] Rename initWithRetainAndReleaseEnabled to initWithoutRetainAndRelease. (check-in: [43e4d25ca7] user: js, branch: trunk, size: 2774) [annotate] [blame] [check-ins using] [diff] | |
|
2009-03-04
| ||
| 20:49 | [c9b8f8d309] part of check-in [e73e76e40f] - release should not be chained, might be free'd. Therefore return void. (check-in: [e73e76e40f] user: js, branch: trunk, size: 2782) [annotate] [blame] [check-ins using] [diff] | |
|
2009-02-27
| ||
| 12:31 | [69d36d4f2d] part of check-in [3b62c10b6f] (void)initialize -> initialize. (check-in: [3b62c10b6f] user: js, branch: trunk, size: 2784) [annotate] [blame] [check-ins using] [diff] | |
|
2009-02-14
| ||
| 17:26 |
[94601c49b9]
part of check-in [029511474c]
Always use #include for libc headers due to glibc being broken. Do the same for win32 headers, just in case. They should work with #import, but you never know ;). (check-in: [029511474c] user: js, branch: trunk, size: 2775) [annotate] [blame] [check-ins using] [diff] | |
|
2009-01-24
| ||
| 15:24 | [6b8df1f839] part of check-in [1496808b81] Adjust API to introduction of OFAutoreleasePool. (check-in: [1496808b81] user: js, branch: trunk, size: 2772) [annotate] [blame] [check-ins using] [diff] | |
|
2009-01-20
| ||
| 14:53 |
[53c2a094cf]
part of check-in [cb9fd1e5dd]
Fix a bug causing an exception when autorelease was requested. This happened when the last pool was released before. (check-in: [cb9fd1e5dd] user: js, branch: trunk, size: 2763) [annotate] [blame] [check-ins using] [diff] | |
|
2009-01-07
| ||
| 17:10 |
[d3843af4f8]
part of check-in [03618ea87b]
Also release the pools when we release the pool list. We need to do that manually as we disabled retain / release for the list. (check-in: [03618ea87b] user: js, branch: trunk, size: 2735) [annotate] [blame] [check-ins using] [diff] | |
|
2009-01-06
| ||
| 22:38 |
[8a91012795]
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: 2480) [annotate] [blame] [check-ins using] [diff] | |
|
2009-01-05
| ||
| 00:59 | [e28fa49a4f] part of check-in [f1b749d113] Update copyright. (check-in: [f1b749d113] user: js, branch: trunk, size: 4150) [annotate] [blame] [check-ins using] [diff] | |
| 00:56 | Added: [801231f42a] part of check-in [b412845664] Initial OFAutoreleasePool - still needs a *lot* of testing. (check-in: [b412845664] user: js, branch: trunk, size: 4143) [annotate] [blame] [check-ins using] | |