ObjFW  History of src/OFBlock.m of f2e96ebd9a89f730

History of file src/OFBlock.m at check-in f2e96ebd9a89f730

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

2020-11-07
20:23
OFObject: Remove -[allocMemoryWithSize:] file: [d3c798f275] check-in: [4fbdca698c] user: js, branch: trunk, size: 12095 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [a597363d01] check-in: [c7f0229795] user: js, branch: trunk, size: 12536 [annotate] [blame] [check-ins using] [diff]
2019-11-24
23:57
runtime: Always set class->isa->isa correctly file: [b86036ff7d] check-in: [3cc333fb2f] user: js, branch: trunk, size: 12533 [annotate] [blame] [check-ins using] [diff]
22:23
runtime: Remove duplicate structs for ABI file: [814d0106d2] check-in: [c6d2de4312] user: js, branch: trunk, size: 12618 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
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. file: [acebb38475] check-in: [5358e9ea6a] user: js, branch: trunk, size: 12624 [annotate] [blame] [check-ins using] [diff]

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

2017-07-09
15:29
runtime: Rename include to ObjFW-RT.h file: [bc6ad5b4e9] check-in: [5bb771755d] user: js, branch: trunk, size: 12465 [annotate] [blame] [check-ins using] [diff]
2017-06-07
20:22
OFBlock: Fix a type mismatch file: [d386c614c9] check-in: [c12d5c986f] user: js, branch: trunk, size: 12465 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [48fc4cece6] check-in: [4af49a13c3] user: js, branch: trunk, size: 12464 [annotate] [blame] [check-ins using] [diff]

2017-04-02
15:30
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. file: [067d5d407d] check-in: [4e40a57efa] user: js, branch: trunk, size: 12431 [annotate] [blame] [check-ins using] [diff]

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

2016-10-16
20:01
OFBlocks: Forward stack block to copy when copied

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

2016-10-15
13:49
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. file: [ec9702862e] check-in: [dbb706d21e] user: js, branch: trunk, size: 11160 [annotate] [blame] [check-ins using] [diff]

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

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

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

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

00:41
Update copyright

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

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [3d4ae6ee72] check-in: [1ba08eebc5] user: js, branch: trunk, size: 11219 [annotate] [blame] [check-ins using] [diff]
2015-08-23
10:34
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). file: [536f7c35b9] check-in: [3c3467423a] user: js, branch: trunk, size: 11213 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [c478213743] check-in: [cfd374b906] user: js, branch: trunk, size: 11223 [annotate] [blame] [check-ins using] [diff]
2014-06-21
21:43
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. file: [9cf137c0dc] check-in: [13ee56edf3] user: js, branch: trunk, size: 11217 [annotate] [blame] [check-ins using] [diff]

2014-05-14
20:28
Always use __foo__ instead of foo for attributes file: [f3946988e2] check-in: [e35b10115e] user: js, branch: trunk, size: 11315 [annotate] [blame] [check-ins using] [diff]
2014-05-05
01:08
Improve atomics API file: [5efc26dc00] check-in: [a92844520a] user: js, branch: trunk, size: 11311 [annotate] [blame] [check-ins using] [diff]
2014-02-21
17:19
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. file: [aa21105e0f] check-in: [3204ceeca0] user: js, branch: trunk, size: 11311 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [02f8f90a87] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 11253 [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:27
Add OF_UNRECOGNIZED_SELECTOR. file: [1ced59ee61] check-in: [6e19bd47ee] user: js, branch: trunk, size: 11247 [annotate] [blame] [check-ins using] [diff]
01:12
Add OF_INVALID_INIT_METHOD. file: [c640f522f6] check-in: [35dafd5c57] user: js, branch: trunk, size: 11415 [annotate] [blame] [check-ins using] [diff]
2013-07-04
14:04
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. file: [84017da3fd] check-in: [8fbc6b4e63] user: js, branch: trunk, size: 11503 [annotate] [blame] [check-ins using] [diff]

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

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

2012-11-03
22:18
Blocks: Only use the lower 2 bytes as retain count file: [79c29da2a3] check-in: [616b4e0dd2] user: js, branch: trunk, size: 11785 [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
Make GCC 4.4 happy. file: [6ab3d02d2d] check-in: [fcade8da38] user: js, branch: trunk, size: 11900 [annotate] [blame] [check-ins using] [diff]
2012-07-16
23:49
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. file: [a204e2796b] check-in: [417b213d41] user: js, branch: trunk, size: 11934 [annotate] [blame] [check-ins using] [diff]

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

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

2012-06-10
13:28
More API improvements. file: [76c357f460] check-in: [11d3d69a22] user: js, branch: trunk, size: 12227 [annotate] [blame] [check-ins using] [diff]
2012-04-03
18:30
Make clang happy. file: [36beda4104] check-in: [931a8783ca] user: js, branch: runtime, size: 11714 [annotate] [blame] [check-ins using] [diff]
2012-03-23
12:04
Merge branch 'master' into runtime file: [100cdf479d] check-in: [3719e10281] user: js, branch: runtime, size: 11675 [annotate] [blame] [check-ins using] [diff]
2012-03-15
11:29
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. file: [5825d5d284] check-in: [28170f5f65] user: js, branch: trunk, size: 12252 [annotate] [blame] [check-ins using] [diff]

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

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

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

03:01
Fix reference counting for blocks.

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

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

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

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

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

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

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

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

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