ObjFW  History of src/runtime/autorelease.m of 3f79f0542adc6330

History of the file that is called src/runtime/autorelease.m at check-in 3f79f0542adc6330

2024-04-03
02:16
[ba740929be] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 3840) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[bcf56c003e] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 3632) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[2df304f6dc] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 3632) [annotate] [blame] [check-ins using] [diff]
2022-09-19
19:10
[a652114a4e] part of check-in [41c2b305ce] Fix missing void in function declarations (check-in: [41c2b305ce] user: js, branch: trunk, size: 3632) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[44274c4d6f] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 3628) [annotate] [blame] [check-ins using] [diff]
2021-08-07
23:31
[4890f3bc38] part of check-in [f04894828e] Make autorelease.m work with old Apple runtimes (check-in: [f04894828e] user: js, branch: trunk, size: 3628) [annotate] [blame] [check-ins using] [diff]
2021-05-02
14:28
[c90ec8958a] part of check-in [0c7760bd05] Don't use OFEnsure() in runtime (check-in: [0c7760bd05] user: js, branch: trunk, size: 3491) [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
[2b09f19f70] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 3295) [annotate] [blame] [check-ins using] [diff]
15:55
[6bcc230085] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 3293) [annotate] [blame] [check-ins using] [diff]
2021-04-17
15:45
[ae6a8b4a1b] part of check-in [cc3a4a7b43] of_tlskey_t -> OFTLSKey (check-in: [cc3a4a7b43] user: js, branch: new-naming-convention, size: 3303) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[cddc441815] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 3340) [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:26
[0e5c7aa48b] part of check-in [5b37fbeb82] Return error instead of using errno for threading

errno is problematic for Amiga libraries and is also not thread-safe on
some systems, even though it should. (check-in: [5b37fbeb82] user: js, branch: trunk, size: 3429) [annotate] [blame] [check-ins using] [diff]

2020-09-27
23:27
[e5ceb906d0] part of check-in [bb18681460] Fix missing include (check-in: [bb18681460] user: js, branch: trunk, size: 3384) [annotate] [blame] [check-ins using] [diff]
01:56
[81f19ca445] part of check-in [877616edaf] Fix compiling for old Apple runtime (check-in: [877616edaf] user: js, branch: trunk, size: 3365) [annotate] [blame] [check-ins using] [diff]
2020-01-24
03:03
[99568ccb12] part of check-in [e7f4f80e23] runtime: Correctly handle AR pool push during pop

Getting a pointer and increasing it until we reach the top pointer does
not work: Releasing an object can temporarily create new autorelease
pools, which can trigger resizing of "objects" using realloc, which can
move it to a different address, which will then lead to continuing to
iterate on a now invalid pointer.

This is now solved by using an index into "objects" instead. Since we're
now indexing for the pop, let's use indexes everywhere, as they're more
readable anyway.

While debugging this, I noticed that the last pool is popped quite
frequently, only for a new pool to be pushed immediately again. This
resulted in a free followed by a malloc every time. Instead, keep the
pool, but let OFThread explicitly say when to free everything. (check-in: [e7f4f80e23] user: js, branch: trunk, size: 3222) [annotate] [blame] [check-ins using] [diff]

2020-01-02
22:16
Added: [6a15e61b81] part of check-in [f2fe8f96d5] Move autorelease pools to runtime (check-in: [f2fe8f96d5] user: js, branch: trunk, size: 3192) [annotate] [blame] [check-ins using]