Overview

Request 676969 accepted

- 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)


Request History
Luigi Baldoni's avatar

alois created request

- 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)


Fred kiefer's avatar

fredkiefer accepted request

openSUSE Build Service is sponsored by