David Chisnall
b3f7b1bac3
Remove Boehm GC support code.
...
This removes all support for GC mode.
This was deprecated by Apple in OS X 10.8 (2012) and never supported in
iOS. Very little code ever tried to use it with this runtime.
It's gone from the build system already.
3 years ago
David Chisnall
de9f74015f
Fix warning.
7 years ago
Jordan Schidlowsky
6e3c618b82
cleanup in blocks runtime for closer consistency with apple
7 years ago
David Chisnall
d015f0160c
Rename PUBLIC to OBJC_PUBLIC to avoid some namespace pollution.
7 years ago
David Chisnall
da5e411d24
Add two Apple-compatible block introspection functions.
7 years ago
David Chisnall
934cd13a7a
Initial pass at Windows support.
...
All tests now pass with the new ABI on x86-64, with the new ABI. Some
of the code is ugly and other platforms are probably broken.
8 years ago
David Chisnall
6451d35e92
Fix block refcounts to use saturating arithmetic.
8 years ago
Zenny Chen
5f01917a49
Update blocks_runtime.h ( #45 )
...
Update blocks_runtime.h to be compatible with Apple / LLVM version.
8 years ago
theraven
cec2be9431
Fix double-free when making C++ objects __block
14 years ago
thebeing
f845df37c1
Add objc/blocks_private.h header to expose some internals of the blocks runtime
...
that are accessed by libdispatch. Also rename the relevant structs to be
compatible with the BlocksRuntime from compiler-rt.
14 years ago
theraven
0f7cc4716a
Fix a memory management issue with blocks.
...
Patch by Jens Alfke!
14 years ago
theraven
43ee8b9819
Add initial support for imp_implementationWithBlock() and friends. Currently
...
only works on x86 and x86-64 and doesn't work with sret functions.
14 years ago
theraven
55d86bba6c
Blocks cleanups.
15 years ago
theraven
3219a530d6
Don't call byref keep / dispose when they don't exist.
15 years ago
theraven
61a7c53a08
Handle NULL arguments to block copy / release.
15 years ago
theraven
d61e9b3209
Fix __weak references to blocks.
15 years ago
theraven
663995f08c
Small cleanup. Use the ARC functions for retain / release / autorelease messages everywhere. This will make properties faster if we're using an ARC-compatible NSObject.
15 years ago
theraven
9967d85d60
Fixes to be blocks runtime. Make sure that objects are not prematurely deallocated if referenced by multiple blocks.
15 years ago
theraven
e7767baf50
Don't send retain / release messages in GC mode when copying object pointers into blocks.
15 years ago
theraven
9dcc66f7f6
Make sure that associated objects and blocks use GC-scanned memory in GC mode.
...
Blocks do not yet support __weak bound variables. This needs fixing before the release.
15 years ago
theraven
ff915fc373
Added a really ugly hack to work around the painfully broken register allocator in GCC that caused the compiler to crash when attempting to compile blocks_runtime.m.
15 years ago
theraven
caa4a7253c
Some memory management fixes to the blocks runtime.
15 years ago
theraven
4e3cacf997
Comment out some unused variables.
15 years ago
theraven
a83428b883
Move toydispatch into libobjc2.
...
Some build system tidies.
Add -retain / release to Protocol.
Initial work on clang-specific makefile.
15 years ago
theraven
b5f4782dbf
Tidy up the block code slightly.
15 years ago
theraven
786b34875e
Removed line that should not have been committed.
15 years ago
theraven
5519421c57
Apparently the BLOCK_HAS_DESCRIPTOR flag now means something else...
15 years ago
theraven
ee32f78b0a
Tweaked the GNUmakefile to (more or less) work with gcc.
...
Fixed block introspection for the new (Apple-compatible) ABI.
16 years ago
theraven
85c07b836e
Fix some warnings with -Wextra.
16 years ago
theraven
8e95b6f637
Fix warnings with GCC. Patch by TOM, tweaked to not introduce errors with clang.
16 years ago
theraven
569a48650d
Various tidies.
16 years ago
theraven
9c65b1c84c
Added types support to blocks runtime, tidied up UNIX98 stuff.
17 years ago
theraven
bba507bf70
Removed incorrect comment from blocks runtime. Tweaked runtime.h to make it show the new functions even in GNU-compat mode and made sure the object-substitution hook is called even when object substitution can't be used, so GNUstep can use it for the 10.5 NSObject runtime functions.
17 years ago
theraven
252447c95f
Updated block interface to more closely match Apple's one. Added support for introspectable blocks.
17 years ago
theraven
323e3dfaeb
Added new runtime library, based on GCC 4.4 libobjc, libobjc_tr and Objective2.framework.
17 years ago