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 |