ObjFW  History of src/OFBlock.m of 9350b01931ad9dd7

History of the file that is called src/OFBlock.m at check-in 9350b01931ad9dd7

2024-04-03
02:16
[e8eabc79e2] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 12295) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[8f6ad5fb69] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 12087) [annotate] [blame] [check-ins using] [diff]
2023-08-08
15:32
[4c4dfcbe66] part of check-in [a6f520157a] A few minor cleanups (check-in: [a6f520157a] user: js, branch: trunk, size: 12087) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[d7b2cab799] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 12071) [annotate] [blame] [check-ins using] [diff]
2022-11-16
23:09
[ab07b43024] part of check-in [0169988a33] Add missing #import (check-in: [0169988a33] user: js, branch: trunk, size: 12071) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[0c18ed18b9] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 12050) [annotate] [blame] [check-ins using] [diff]
2021-04-25
11:05
[032a1ec707] part of check-in [27103855c2] A few last renames (check-in: [27103855c2] user: js, branch: new-naming-convention, size: 12050) [annotate] [blame] [check-ins using] [diff]
2021-04-18
21:20
[c096d5bece] part of check-in [29ccd9b1af] Rename everything in OFBlock (check-in: [29ccd9b1af] user: js, branch: new-naming-convention, size: 12055) [annotate] [blame] [check-ins using] [diff]
21:12
[5d7b26ef7b] part of check-in [b06b86d6f9] OF_RETAIN_COUNT_MAX -> OFMaxRetainCount (check-in: [b06b86d6f9] user: js, branch: new-naming-convention, size: 12201) [annotate] [blame] [check-ins using] [diff]
20:51
[7d7ac9eae6] part of check-in [35de667566] Rename everything in several smaller files (check-in: [35de667566] user: js, branch: new-naming-convention, size: 12204) [annotate] [blame] [check-ins using] [diff]
15:55
[88c6f8d970] part of check-in [7392685ffc] Rename all functions in macros.h (check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 12196) [annotate] [blame] [check-ins using] [diff]
2021-04-17
20:47
[67452f43b9] part of check-in [dfaf287249] Rename atomic operations (check-in: [dfaf287249] user: js, branch: new-naming-convention, size: 12224) [annotate] [blame] [check-ins using] [diff]
16:29
[f799cd3c36] part of check-in [fabf53041a] of_spinlock_t -> OFSpinlock (check-in: [fabf53041a] user: js, branch: new-naming-convention, size: 12202) [annotate] [blame] [check-ins using] [diff]
15:20
[2e686f4654] part of check-in [03ea273cb3] Clean up blocks a little (check-in: [03ea273cb3] user: js, branch: new-naming-convention, size: 12236) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[678cbad32a] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 12090) [annotate] [blame] [check-ins using] [diff]
2020-12-20
21:26
[ada45ac629] 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: 12179) [annotate] [blame] [check-ins using] [diff]

2020-11-07
20:23
[d3c798f275] part of check-in [4fbdca698c] OFObject: Remove -[allocMemoryWithSize:] (check-in: [4fbdca698c] user: js, branch: trunk, size: 12095) [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
[a597363d01] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 12536) [annotate] [blame] [check-ins using] [diff]
2019-11-24
23:57
[b86036ff7d] part of check-in [3cc333fb2f] runtime: Always set class->isa->isa correctly (check-in: [3cc333fb2f] user: js, branch: trunk, size: 12533) [annotate] [blame] [check-ins using] [diff]
22:23
[814d0106d2] part of check-in [c6d2de4312] runtime: Remove duplicate structs for ABI (check-in: [c6d2de4312] user: js, branch: trunk, size: 12618) [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
[acebb38475] part of check-in [5358e9ea6a] Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. (check-in: [5358e9ea6a] user: js, branch: trunk, size: 12624) [annotate] [blame] [check-ins using] [diff]

2019-03-16
14:32
[4165d94e90] part of check-in [a2d31cca3d] Naming consistency for 2 forgotten structs (check-in: [a2d31cca3d] user: js, branch: trunk, size: 12628) [annotate] [blame] [check-ins using] [diff]
2019-02-07
21:31
[dd601345d1] part of check-in [754bf24742] More style improvements (check-in: [754bf24742] user: js, branch: trunk, size: 12632) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[f20a52dd95] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 12562) [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
[3a05c21b00] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 12556) [annotate] [blame] [check-ins using] [diff]
2017-11-05
18:25
[5e4669db9b] part of check-in [0a4565fb0f] Use -[isMemberOfClass:] instead of object_getClass (check-in: [0a4565fb0f] user: js, branch: trunk, size: 12533) [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
[a2a5089265] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 12539) [annotate] [blame] [check-ins using] [diff]

2017-07-09
15:29
[bc6ad5b4e9] part of check-in [5bb771755d] runtime: Rename include to ObjFW-RT.h (check-in: [5bb771755d] user: js, branch: trunk, size: 12465) [annotate] [blame] [check-ins using] [diff]
2017-06-07
20:22
[d386c614c9] part of check-in [c12d5c986f] OFBlock: Fix a type mismatch (check-in: [c12d5c986f] user: js, branch: trunk, size: 12465) [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
[48fc4cece6] 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: 12464) [annotate] [blame] [check-ins using] [diff]

2017-04-02
15:30
[067d5d407d] part of check-in [4e40a57efa] Make __objc_exec_class() take a void*

This is necessary for ObjC++ with GCC, as otherwise, this generates an
error. Since the objc_abi_module struct is private anyway, there is not
much reason to have the argument of that type. (check-in: [4e40a57efa] user: js, branch: trunk, size: 12431) [annotate] [blame] [check-ins using] [diff]

01:06
[0163c4920f] part of check-in [d07c56a8bb] Add OF_CONSTRUCTOR() / OF_DESTRUCTOR() (check-in: [d07c56a8bb] user: js, branch: trunk, size: 12488) [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
[9a8524cb7e] 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: 12534) [annotate] [blame] [check-ins using] [diff]

2016-10-16
20:01
[0d239bd3d6] part of check-in [9dc0755178] OFBlocks: Forward stack block to copy when copied

While at it, also make things thread-safe. (check-in: [9dc0755178] user: js, branch: trunk, size: 12528) [annotate] [blame] [check-ins using] [diff]

2016-10-15
13:49
[ec9702862e] part of check-in [dbb706d21e] OFBlock: Set (*dst)->forwarding after memcpy()

Setting it before the memcpy() meant it was effectively a nop.

This also improves on the tests to catch this in the future. (check-in: [dbb706d21e] user: js, branch: trunk, size: 11160) [annotate] [blame] [check-ins using] [diff]

2016-09-12
00:27
[a5bedf0289] part of check-in [13f4c6c678] Add OF_DEALLOC_UNSUPPORTED macro (check-in: [13f4c6c678] user: js, branch: trunk, size: 11160) [annotate] [blame] [check-ins using] [diff]
2016-04-23
09:43
[ce186b9740] part of check-in [3572e824c6] Never end enums with a comma

While this makes moving things around easier, this has been done by
accident and looks ugly. (check-in: [3572e824c6] user: js, branch: trunk, size: 11216) [annotate] [blame] [check-ins using] [diff]

2016-02-21
15:37
[49bc2fd375] part of check-in [e0b9167693] Make use of C99-style for loops (check-in: [e0b9167693] user: js, branch: trunk, size: 11218) [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
[cbcd129d92] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 11217) [annotate] [blame] [check-ins using] [diff]

00:41
[39f7323be4] part of check-in [2a27cf3000] Update copyright

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

2015-10-19
22:15
[3d4ae6ee72] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 11219) [annotate] [blame] [check-ins using] [diff]
2015-08-23
10:34
[536f7c35b9] part of check-in [3c3467423a] OFBlock: Fix two bugs

The first was that _Block_object_{assign,dispose} would only be a NOP
when called from a byref helper instead of only being a NOP when called
for an object from a byref helper.

The second was that byref helpers would even be called when there are no
byref helpers (bit 25 in the byref flags needs to be checked -
conveniently, bit 25 indicates copy/dispose helpers in the block literal
flags, too, so that define can be reused). (check-in: [3c3467423a] user: js, branch: trunk, size: 11213) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[c478213743] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 11223) [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
[9cf137c0dc] 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
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 11217) [annotate] [blame] [check-ins using] [diff]

2014-05-14
20:28
[f3946988e2] part of check-in [e35b10115e] Always use __foo__ instead of foo for attributes (check-in: [e35b10115e] user: js, branch: trunk, size: 11315) [annotate] [blame] [check-ins using] [diff]
2014-05-05
01:08
[5efc26dc00] part of check-in [a92844520a] Improve atomics API (check-in: [a92844520a] user: js, branch: trunk, size: 11311) [annotate] [blame] [check-ins using] [diff]
2014-02-21
17:19
[aa21105e0f] part of check-in [3204ceeca0] Don't use objc_initializeClassPair on OS X/PPC64

OS X/PPC64 is limited to 10.5 and thus it does not exist there, even
though __OBJC2__ is defined. (check-in: [3204ceeca0] user: js, branch: trunk, size: 11311) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[02f8f90a87] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 11253) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:27
[1ced59ee61] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 11247) [annotate] [blame] [check-ins using] [diff]
01:12
[c640f522f6] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 11415) [annotate] [blame] [check-ins using] [diff]
2013-07-04
14:04
[84017da3fd] part of check-in [8fbc6b4e63] OFBlock: Initialize spinlocks in +[load].

As most blocks are static instances, there's a chance +[initialize] is
never called.

As a nice side effect, this also fixes the bug that the spinlocks were
initialized multiple times. (check-in: [8fbc6b4e63] user: js, branch: trunk, size: 11503) [annotate] [blame] [check-ins using] [diff]

2013-02-05
22:24
[e7f8997037] part of check-in [737a82e1a4] Move abort() to make old GCCs happy. (check-in: [737a82e1a4] user: js, branch: trunk, size: 11525) [annotate] [blame] [check-ins using] [diff]
2013-01-12
20:53
[069bfaafeb] part of check-in [b8ce2359f3] Clean up the feature #ifdef mess. (check-in: [b8ce2359f3] user: js, branch: trunk, size: 11525) [annotate] [blame] [check-ins using] [diff]
20:21
[7f1306bf32] part of check-in [85b8efadbc] Fix --disable-threads. (check-in: [85b8efadbc] user: js, branch: trunk, size: 11536) [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
[9f16b74f72] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 11515) [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
[68b4ea5979] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 11509) [annotate] [blame] [check-ins using] [diff]
2012-11-20
20:40
[90b4a8e14a] part of check-in [2bedfac177] OFBlock: Make use of objc_initializeClassPair().

This way, we don't need the mach_alias_list anymore. (check-in: [2bedfac177] user: js, branch: trunk, size: 11835) [annotate] [blame] [check-ins using] [diff]

2012-11-03
22:18
[79c29da2a3] part of check-in [616b4e0dd2] Blocks: Only use the lower 2 bytes as retain count (check-in: [616b4e0dd2] user: js, branch: trunk, size: 11785) [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
[6ab3d02d2d] part of check-in [fcade8da38] Make GCC 4.4 happy. (check-in: [fcade8da38] user: js, branch: trunk, size: 11900) [annotate] [blame] [check-ins using] [diff]
2012-07-16
23:49
[a204e2796b] part of check-in [417b213d41] Add OF_ENSURE.

This is to be used when the condition includes a statement that needs to
be executed, as with assert, this would not be executed anymore when
NDEBUG is defined. (check-in: [417b213d41] user: js, branch: trunk, size: 11934) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[badbea4cd4] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 11921) [annotate] [blame] [check-ins using] [diff]
2012-06-11
20:50
[d9ed74f314] part of check-in [19a677b596] Merge branch 'master' into runtime

* master: (6 commits)
Improve -[OFNumber description].
... (check-in: [19a677b596] user: js, branch: runtime, size: 11689) [annotate] [blame] [check-ins using] [diff]

2012-06-10
13:28
[76c357f460] part of check-in [11d3d69a22] More API improvements. (check-in: [11d3d69a22] user: js, branch: trunk, size: 12227) [annotate] [blame] [check-ins using] [diff]
2012-04-03
18:30
[36beda4104] part of check-in [931a8783ca] Make clang happy. (check-in: [931a8783ca] user: js, branch: runtime, size: 11714) [annotate] [blame] [check-ins using] [diff]
2012-03-23
12:04
[100cdf479d] part of check-in [3719e10281] Merge branch 'master' into runtime (check-in: [3719e10281] user: js, branch: runtime, size: 11675) [annotate] [blame] [check-ins using] [diff]
2012-03-15
11:29
[5825d5d284] part of check-in [28170f5f65] Greatly improve OFObject's memory handling and performance.

A linked-list is put before each memory chunk allocated instead of
having an array of all memory chunks. This means only one malloc now
instead of one malloc and one realloc. This also means that when
checking reallocs and frees, it's no longer necessary to iterate through
all memory chunks, as the linked list also contains the owner, meaning
realloc and free are no longer O(n), but O(1) now.

As allocating bigger chunks seems to be a little bit slower than smaller
chunks, it seems that this is slightly slower in benchmarks if only very small
chunks are allocated. However, measuring real world usage, it's a lot faster. (check-in: [28170f5f65] user: js, branch: trunk, size: 12252) [annotate] [blame] [check-ins using] [diff]

2012-03-04
20:47
[5f9f9c11d5] part of check-in [8002f3e823] Make OFBlock compile with the ObjFW runtime. (check-in: [8002f3e823] user: js, branch: runtime, size: 11802) [annotate] [blame] [check-ins using] [diff]
20:20
[33e8ca2e9a] part of check-in [129f90b580] Import and integrate ObjFW-RT. (check-in: [129f90b580] user: js, branch: runtime, size: 11759) [annotate] [blame] [check-ins using] [diff]
19:42
[41dec8a8ba] part of check-in [7f0b0c9811] Remove all code for the GNU runtime. (check-in: [7f0b0c9811] user: js, branch: runtime, size: 11701) [annotate] [blame] [check-ins using] [diff]
19:28
[26addffed9] part of check-in [1664513cf6] Change includes of objfw-rt.h to include local runtime.h. (check-in: [1664513cf6] user: js, branch: runtime, size: 12342) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[aca779a840] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 12379) [annotate] [blame] [check-ins using] [diff]
2011-09-28
14:22
[355bef0432] part of check-in [8835fdb56d] Don't depend on struct objc_class being defined by the GNU runtime. (check-in: [8835fdb56d] user: js, branch: trunk, size: 12373) [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
[4b700a1d09] part of check-in [e1e7ffa903] Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. (check-in: [e1e7ffa903] user: js, branch: trunk, size: 12361) [annotate] [blame] [check-ins using] [diff]

2011-07-18
23:47
[7216dff99f] part of check-in [86169923d6] Fix a bug (hopefully the last!) in blocks. (check-in: [86169923d6] user: js, branch: 0.5, size: 11550) [annotate] [blame] [check-ins using] [diff]
23:47
[736d4bd7b9] part of check-in [b330936afe] Fix a bug (hopefully the last!) in blocks. (check-in: [b330936afe] user: js, branch: trunk, size: 12274) [annotate] [blame] [check-ins using] [diff]
03:01
[52c8c831cc] part of check-in [7caa622124] Fix reference counting for blocks.

Hopefully, there is no weird situation left where it fails... (check-in: [7caa622124] user: js, branch: 0.5, size: 11547) [annotate] [blame] [check-ins using] [diff]

03:01
[0147efccdf] part of check-in [dbd79d0747] Fix reference counting for blocks.

Hopefully, there is no weird situation left where it fails... (check-in: [dbd79d0747] user: js, branch: trunk, size: 12271) [annotate] [blame] [check-ins using] [diff]

2011-07-14
23:06
[b9b5eda4af] part of check-in [66be98f1d1] Fix reference counting for blocks. (check-in: [66be98f1d1] user: js, branch: 0.5, size: 11583) [annotate] [blame] [check-ins using] [diff]
23:06
[ff454a2522] part of check-in [5b3aebb65a] Fix reference counting for blocks. (check-in: [5b3aebb65a] user: js, branch: trunk, size: 12307) [annotate] [blame] [check-ins using] [diff]
23:04
[c7116e51f3] part of check-in [0c5ed4d438] Always do nothing if OF_BLOCK_BYREF_CALLER is set. (check-in: [0c5ed4d438] user: js, branch: 0.5, size: 11510) [annotate] [blame] [check-ins using] [diff]
23:04
[feff30d170] part of check-in [eb207e5ecd] Always do nothing if OF_BLOCK_BYREF_CALLER is set. (check-in: [eb207e5ecd] user: js, branch: trunk, size: 12234) [annotate] [blame] [check-ins using] [diff]
22:56
[2087d2a41e] part of check-in [989d2c3e36] Fix missing return. (check-in: [989d2c3e36] user: js, branch: 0.5, size: 11414) [annotate] [blame] [check-ins using] [diff]
22:56
[467fbfe40b] part of check-in [7455987d6e] Fix missing return. (check-in: [7455987d6e] user: js, branch: trunk, size: 12138) [annotate] [blame] [check-ins using] [diff]
21:18
[9f99b09857] part of check-in [7025192253] Allow passing NULL to _Block_object_assign() / _Block_object_dispose(). (check-in: [7025192253] user: js, branch: 0.5, size: 11403) [annotate] [blame] [check-ins using] [diff]
21:18
[c584d16b63] part of check-in [017a85770c] Allow passing NULL to _Block_object_assign() / _Block_object_dispose(). (check-in: [017a85770c] user: js, branch: trunk, size: 12127) [annotate] [blame] [check-ins using] [diff]
2011-07-08
15:29
[4ae738487f] part of check-in [0b846bcc4a] Make it possible to add more ivars to OFConstantString. (check-in: [0b846bcc4a] user: js, branch: trunk, size: 12067) [annotate] [blame] [check-ins using] [diff]
2011-05-01
14:24
[b8304c7ab5] part of check-in [69ebd2ccbf] Move structs and enums only needed internally to .m files. (check-in: [69ebd2ccbf] user: js, branch: trunk, size: 12088) [annotate] [blame] [check-ins using] [diff]
2011-04-12
14:51
[b5411ea8fa] part of check-in [c02e48e140] Use void in declarations when we take no parameters. (check-in: [c02e48e140] user: js, branch: trunk, size: 11347) [annotate] [blame] [check-ins using] [diff]
2011-03-29
19:27
[cb7452fd95] part of check-in [ac7830ff4f] Fix missing include in OFBlock.m for the Apple 32 bit runtime. (check-in: [ac7830ff4f] user: js, branch: trunk, size: 11343) [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
[45f9d51398] part of check-in [cda44767f4] Get rid of OFExceptions.h. (check-in: [cda44767f4] user: js, branch: trunk, size: 11299) [annotate] [blame] [check-ins using] [diff]
2011-03-23
12:58
[1ed9ce6a37] part of check-in [8de8df50e9] Make the return type of retainCount unsigned int.
This way, the OFObject protocol is compatible to NSObject.
(check-in: [8de8df50e9] user: js, branch: trunk, size: 11249) [annotate] [blame] [check-ins using] [diff]
2011-01-17
18:54
[1de0172b54] part of check-in [d5aea9cf4c] Make OFBlocks compile with ObjFW-RT. (check-in: [d5aea9cf4c] user: js, branch: trunk, size: 11232) [annotate] [blame] [check-ins using] [diff]
2011-01-14
11:01
[f29296dab5] part of check-in [c50d483262] It can never happen that we don't have threads and atomic ops.
If we don't have threads, everything is atomic.
(check-in: [c50d483262] user: js, branch: trunk, size: 11163) [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
[3f030b240f] part of check-in [da6b3d26cb] Change license. (check-in: [da6b3d26cb] user: js, branch: trunk, size: 11325) [annotate] [blame] [check-ins using] [diff]
2010-12-28
22:18
[60baf332a9] part of check-in [88c920bd62] Make ObjFW work again without threads and without atomic ops. (check-in: [88c920bd62] user: js, branch: trunk, size: 11069) [annotate] [blame] [check-ins using] [diff]
2010-12-18
23:39
[49b08c57ae] part of check-in [6f4eb004a3] Add support for the new GNU runtime.

Currently, the properties test for nonatomic fails. This is a bug in
the new GNU runtime. (check-in: [6f4eb004a3] user: js, branch: trunk, size: 9781) [annotate] [blame] [check-ins using] [diff]

2010-12-10
11:21
[d6602a5fe7] part of check-in [fada60d54c] Documentation fixes. (check-in: [fada60d54c] user: js, branch: trunk, size: 9744) [annotate] [blame] [check-ins using] [diff]
2010-11-12
19:36
[f036063ec4] part of check-in [38bde7146a] Ensure OF{Stack,Global,Malloc}Block get initialized. (check-in: [38bde7146a] user: js, branch: trunk, size: 9808) [annotate] [blame] [check-ins using] [diff]
16:00
[86829d5175] part of check-in [4285aea3c6] Always use our _Block_copy.

The reason is that the _Block_copy from libSystem references the wrong
_NSConcreteMallocBlock. (check-in: [4285aea3c6] user: js, branch: trunk, size: 9283) [annotate] [blame] [check-ins using] [diff]

15:08
[0576db1a73] part of check-in [7a6f696ef3] Make blocks work with the old Apple ObjC runtime. (check-in: [7a6f696ef3] user: js, branch: trunk, size: 9314) [annotate] [blame] [check-ins using] [diff]
14:06
[04ef10271b] part of check-in [c0863afedf] More compatibility with other blocks runtimes. (check-in: [c0863afedf] user: js, branch: trunk, size: 7645) [annotate] [blame] [check-ins using] [diff]
13:37
[922e8efbd5] part of check-in [09d6e5b6da] Improve autoreleasing blocks. (check-in: [09d6e5b6da] user: js, branch: trunk, size: 7599) [annotate] [blame] [check-ins using] [diff]
2010-11-11
21:55
[e3fe4dcc30] part of check-in [56393a3fbd] OFBlock is now based on OFObject. (check-in: [56393a3fbd] user: js, branch: trunk, size: 7491) [annotate] [blame] [check-ins using] [diff]
20:47
[daa6113db1] part of check-in [1a7c408c7d] Add full blocks support for OS X. (check-in: [1a7c408c7d] user: js, branch: trunk, size: 6089) [annotate] [blame] [check-ins using] [diff]
2010-11-01
03:46
[0cda48050d] part of check-in [eb3e09c153] Fix a bug with recent Clang revisions and Blocks. (check-in: [eb3e09c153] user: js, branch: trunk, size: 5660) [annotate] [blame] [check-ins using] [diff]
2010-10-31
22:18
[d2c4fcd6af] part of check-in [9626d917a6] Check if 64 bit version of OSAtomic* functions is available. (check-in: [9626d917a6] user: js, branch: trunk, size: 5542) [annotate] [blame] [check-ins using] [diff]
22:01
[239ba34c9f] part of check-in [758559fd9f] Make reference counting of blocks atomic. (check-in: [758559fd9f] user: js, branch: trunk, size: 5523) [annotate] [blame] [check-ins using] [diff]
2010-10-24
13:31
[8d52188a1e] part of check-in [eb7788d3de] Hide an internal protocol from Doxygen. (check-in: [eb7788d3de] user: js, branch: trunk, size: 5487) [annotate] [blame] [check-ins using] [diff]
2010-10-21
17:20
[9109abb2db] part of check-in [d32efe1c1e] Include stdint.h in OFBlock.m. (check-in: [d32efe1c1e] user: js, branch: trunk, size: 5455) [annotate] [blame] [check-ins using] [diff]
2010-10-06
19:37
[cfb90f7281] part of check-in [2bf66ace60] Add missing #ifdef OF_HAVE_BLOCKS. (check-in: [2bf66ace60] user: js, branch: trunk, size: 5435) [annotate] [blame] [check-ins using] [diff]
09:21
[ec9c649489] part of check-in [7334aa1c81] Fix x86(_64) asm for of_atomic_{or,and,xor}_32.
Improve x86(_64) asm for of_atomic_cmpswap_{32,ptr}.
(check-in: [7334aa1c81] user: js, branch: trunk, size: 5378) [annotate] [blame] [check-ins using] [diff]
2010-10-05
20:01
[995214f475] part of check-in [f78e4e4714] Remove -[autorelease] from OFBlock.

The reason is that a block might be an NSBlock on OS X where it would
add the block to an NSAutoreleasePool. This change forces the developer
to use [OFAutoreleasePool addObject: block], which will also work if
the block is an NSBlock. Thus, this change is to force developers to
write portable code. (check-in: [f78e4e4714] user: js, branch: trunk, size: 5408) [annotate] [blame] [check-ins using] [diff]

2010-09-19
01:49
[f102f6c695] part of check-in [ac3f7882e5] Add +[class] to OFBlock. (check-in: [ac3f7882e5] user: js, branch: trunk, size: 5689) [annotate] [blame] [check-ins using] [diff]
2010-09-16
00:00
[f28b3d88fe] part of check-in [0f04c85a63] Documentation improvements. (check-in: [0f04c85a63] user: js, branch: trunk, size: 5655) [annotate] [blame] [check-ins using] [diff]
2010-09-15
15:31
[21e2be9e39] part of check-in [2fec3bda8c] The metaclass of the metaclass is set by the runtime. (check-in: [2fec3bda8c] user: js, branch: trunk, size: 5623) [annotate] [blame] [check-ins using] [diff]
15:01
[0ee627944f] part of check-in [eac76c7a30] Rename __objc_gnu_init.

It seems it generates a conflict with some gcc versions. (check-in: [eac76c7a30] user: js, branch: trunk, size: 5401) [annotate] [blame] [check-ins using] [diff]

2010-09-08
09:58
[8b59b6b4ef] part of check-in [0c55736c5d] Add some #ifdefs to make OFBlocks.m compile with the Apple runtime. (check-in: [0c55736c5d] user: js, branch: trunk, size: 5405) [annotate] [blame] [check-ins using] [diff]
2010-09-07
09:45
[0cb72d5e21] part of check-in [3e8d3a2668] More compatibility with Apple's Blocks runtime. (check-in: [3e8d3a2668] user: js, branch: trunk, size: 5222) [annotate] [blame] [check-ins using] [diff]
09:10
[0aebe6c0fb] part of check-in [eafb8d18ed] Rename +[addObjectToTopmostPool:] to +[addObject:]. (check-in: [eafb8d18ed] user: js, branch: trunk, size: 5264) [annotate] [blame] [check-ins using] [diff]
2010-09-06
20:27
Added: [ef0cae1828] part of check-in [ccf87e1ffb] Blocks can be used like normal ObjC objects now. (check-in: [ccf87e1ffb] user: js, branch: trunk, size: 5277) [annotate] [blame] [check-ins using]