forked from gnustep/libobjc2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ANNOUNCE
50 lines (36 loc) · 2.15 KB
/
ANNOUNCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
GNUstep Objective-C Runtime 1.x
===============================
This the ninth official release of the GNUstep Objective-C runtime (a.k.a.
libobjc2). This runtime was designed to support the features of modern
dialects of Objective-C for use with GNUstep and other Objective-C programs.
Highlights of this release include:
- 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.
You may obtain the code for this release from git and use the 1.x branch:
https://github.com/gnustep/libobjc2.git
Alternatively, a tarball is available from:
https://github.com/gnustep/libobjc2/archive/v1.x.zip
https://github.com/gnustep/libobjc2/archive/v1.x.tar.gz
The runtime library is responsible for implementing the core features of the
object model, as well as exposing introspection features to the user. The
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
of GCC APIs for legacy compatibility.
This library is based on the Étoilé Objective-C Runtime, an earlier research
prototype, and includes support for non-fragile instance variables,
type-dependent dispatch, and object planes. It is fully backwards compatible
with the FSF's GCC 4.2.1 Objective-C ABI and also implements a new ABI that is
supported by Clang and Étoilé's LanguageKit and is required for some of the
newer features.
If you come across any problems, please file them in the issue tracker:
https://github.com/gnustep/libobjc2/issues