GNUstep Objective-C Runtime
The GNUstep Objective-C runtime is designed as a drop-in replacement for the
GCC runtime. It supports both a legacy and a modern ABI, allowing code
compiled with old versions of GCC to be supported without requiring
recompilation. The modern ABI adds the following features:
- Non-fragile instance variables.
- Protocol uniquing.
- Object planes support.
- Declared property introspection.
- Devel package for openSUSE:Factory
- Links to openSUSE:Factory / gnustep-libobjc2
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout X11:GNUstep/gnustep-libobjc2 && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
gnustep-libobjc2.changes | 0000002817 2.75 KB | |
gnustep-libobjc2.spec | 0000003232 3.16 KB | |
libobjc2-1.9.tar.gz | 0000175808 172 KB |
Revision 13 (latest revision is 24)
Fred kiefer (fredkiefer)
accepted
request 676969
from
Luigi Baldoni (alois)
(revision 13)
- Update to version 1.9 * Support for 64-bit ARM (AArch64) processors, including assembly fast paths for message sending. * Improved the dispatch table representation to improve performance and cache usage on the fast path. * The implementation of `imp_implementationWithBlock`, the function that allows blocks to be used as methods, no longer requires physical pages to be mapped both writeable and executable. * Numerous improvements to the interaction between runtime functions and ARC. * Support for Thumb-2 interworking on ARM. Note that the library must be compiled for ARMv7 or ARMv6T2 for this code to be enabled. Once it has been, other Objective-C binaries linked with the library can be compiled as ARM or Thumb-2 code. This will also generate Thumb-2 message send functions, improving instruction cache usage. * Significant improvements to ARC, including + The runtime no longer acquires a global lock on every object deallocation (a global lock is still used for objects that have weak references). *NOTE:* This is incompatible with other code directly inspecting the reference count and will break with older versions of GNUstep Base! + Weak references use a scheme closer to C++ `std::weak_pointer` and are lazily zeroed on access. This reduces the space overheads for weak references. + Some additional helper functions are added for use in `NSObject` and other root classes, which simplifies the layering between the runtime and the Foundation (or equivalent) implementation. * Improvements to how the runtime handles layout of ivars with strong alignment requirements, which should fix issues relating to using vector types in Objective-C objects. * The option to build a separate libobjcxx has been removed. The runtime will now depend on the C++ standard library implementation if no useable C++ runtime is available. Note that C++ exception interworking does not work because LLVM's libc++abi (shipped by Apple) does not provide GNU-compatible hooks and so Objective-C++ exception support will be automatically disabled on this platform. Any other platforms shipping libc++abi should consider either GNU libsupc++ or libcxxrt as an alternative. - Renamed library package to reflect its SONAME - Fixes (boo#1120915)
Comments 0