discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ANN: GNUstep Objective-C Runtime (a.k.a. libobjc2) 1.0


From: David Chisnall
Subject: ANN: GNUstep Objective-C Runtime (a.k.a. libobjc2) 1.0
Date: Tue, 5 Oct 2010 13:47:43 +0100

Hi Everyone,

I've just branched the 1.0 release of libobjc2.  A great many thanks to 
everyone who tested this, who sent me bug reports and test cases, and most 
especially to the people who fixed bugs for me.  

This runtime supports both the legacy GCC-compatible ABI and a new ABI that is 
fully supported by clang 2.8 and hopefully, thanks to Nicola's work, in future 
versions of GCC.  

It also supports a few features not found anywhere else, such as type-dependent 
dispatch, which means that programs that will corrupt the stack with other 
runtimes can be handled safely.  The slot mechanism allows Self-style inline 
caching, eliminating the cost of message lookup in common cases and allowing 
speculative inlining to be performed safely.  In the opts/ directory, there are 
several LLVM optimisation passes that make use of this.

Thanks again to everyone who helped make this release possible, with testing, 
suggestions, and advice,

David




GNUstep Objective-C Runtime 1.0
===============================

This is the first official release of the GNUstep Objective-C runtime (a.k.a.
libobjc2).  This runtime was designed to support the features of Objective-C 2
for use with GNUstep and other Objective-C programs.

You may obtain the code for this release from subversion at the following
subversion branch:

svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.0

Alternatively, a tarball is available from:

http://download.gna.org/gnustep/libobjc2-1.0.tar.bz2

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 compatible with the
FSF's GCC Objective-C ABI and also implements a new ABI that is supported by
Clang and is required for some of the newer features.

Although the runtime has been tested by several people, and is being used
extensively by the Étoilé project, it is entirely new (MIT licensed) code and
may still contain bugs.  If you come across any problems, please report them to
the GNUstep Developer mailing list <gnustep-dev@gnu.org>.  A 1.1 release,
fixing any bugs that are encountered in wider deployment, is planned to
coincide with the next GNUstep release.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]