Niels Grewe
2855d17714
feat(blocks runtime): Enable using libBlocksRuntime instead of the embedded runtime
2 years ago
David Chisnall
d015f0160c
Rename PUBLIC to OBJC_PUBLIC to avoid some namespace pollution.
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
8eb06a3b15
Improve ARC test and fix bugs it uncovered.
...
This cleans up handling of objects that are not reference counted and
makes their interactions with ARC more consistent. We should probably
generalise this somewhat - it currently special cases NSConstantString
and NSGlobalBlock, but it would be nice to have an API for constant
objects.
8 years ago
David Chisnall
4036a88936
Remove separate flags for class and metaclass.
...
Every class is either a class or a metaclass, it doesn't make sense to
use two flags to store one bit of data.
Also remove the newabi flag from classes in the v2 ABI, where it's
redundant.
8 years ago
David Chisnall
0964d63ba9
Update for the compiler / linker setting up superclass pointers.
...
In the legact ABI, superclass pointers are initially set to strings
containing the superclass name and the runtime fixes them up. In the
new ABI, the compiler sets up the linkage directly.
8 years ago
theraven
55d86bba6c
Blocks cleanups.
15 years ago
theraven
d51500184c
More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts.
15 years ago
theraven
779b28abeb
Lots of tidying, removing legacy stuff.
16 years ago
theraven
168a0d02e1
Revert last commit. Was fixing the wrong thing.
16 years ago
theraven
3f52e353ee
Mark NSBlocks classes as resolved, so we don't crash trying to interpret the class pointers as strings...
16 years ago
theraven
0abdc2a574
Small cleanups from last commit.
16 years ago
theraven
8ce32fd1c9
Rewrote class resolving code. Now it only resolves classes that actually need resolving, rather than iterating over the entire class table.
...
(This is part 1. Part 2 will lazily resolve classes.)
16 years ago
theraven
4e06c2a9f0
Removed NSObject.h dependency from NSBlocks.m
16 years ago
rfm
6e29945894
Fix missing return
16 years ago
theraven
93ac6e7f2f
Fixed block class creation so libobjc2 no longer has a static dependency on NSObject. This lets blocks work without Foundation, just as on OS X. This requires GNUstep to call a runtime function when NSObject is loaded.
16 years ago
theraven
8efbf98e55
Fixed potential load-order conflict in NSBlocks.
16 years ago
theraven
baed61c3e6
Added property support functions, NSBlock base classes and uncaught exception handler.
16 years ago