The abc team is pleased to announce the release of abc version 1.3.0. 
A lot of work has gone into this release; some of the highlights are:
* New frontend: A completely new Java frontend is provided as a 
stand-alone extension called abc.ja. This is implemented using the 
JastAdd compiler compiler system, and uses the JastAddJ extensible 
Java compiler to provide great compatibility with pure Java. In 
particular, you can compile Java5 source code with this extension.
More information is available at: 
          http://aspectbench.org/papers#aosd2008
* Reworked AbcExtension structure: It is now possible to customise the 
compilation process even further.
* More bundled extensions: The existing EAJ and tracematches 
extensions have been ported to make use of the new frontend and serve 
as examples for extenders of abc; they are available as abc.ja.eaj 
and abc.ja.tm.
* Performance improvements, in particular for tracematches and their 
whole-program analyses.
* Lots of bugfixes and infrastructure improvements.
This release also uses updated versions of Polyglot (for the old 
frontend) and Soot, propagating many bugfixes to our users.
As usual, the release can be downloaded from
http://aspectbench.org/download, a full changelog can be found below.
Cheers,
Pavel (on behalf of the abc team)
CHANGELOG:
Extenders:
- The structure of the AbcExtension class has been reworked; in 
particular, the entire compilation process is now driven by a 
CompileSequence. This allows greater flexibility in replacing parts 
of the compiler; in particular, it is possible to replace the 
complete frontend or backend.
- abc extenders wishing to write their extensions using JastAdd should 
extend abc.ja.AbcExtension, abc.ja.CompileSequence, etc. rather than 
abc.AbcExtension as they normally would - see the new implementation 
of EAJ-ja for an example of how this is done.
Users:
- abc now has a completely re-written frontend. It is no longer 
pure-Java, but is a modern form of attribute grammar - compiled with 
the JastAdd meta-compiler. The new frontend extends the existing Java 
and Java 5 frontends written by the creator of JastAdd, Torbjorn 
Ekman. As a result, abc now supports Java 5 source code! (but not 
AspectJ 5) To use the new frontend, invoke abc with the option: -ext 
abc.ja
- abc.eaj now supports the arrayget()/arrayset() pointcut primitives. 
abc now supports multiple whole-program optimizations for 
tracematches. Those can be enabled by selecting the extension 
abc.tmwpopt instead of abc.tm. The optimization level can be set 
using the command line option -laststage. (see -help)
- abc.eaj now supports additional pointcuts, in particular the 
arrayget/arrayset pointcuts and the lock/unlock pointcuts (enabled 
via -debug enableLockPointcuts) see: 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=123759
- abc further supports the new pointcut maybeShared() that matches 
field set and get events affecting fields which are potentially 
shared between threads. In the default setting, this pointcut matches 
*all* sets/gets; to enable whole-program optimizations, state -debug 
optimizeMaybeSharedPointcut on the command line.
Received on Wed Apr 02 2008 - 09:54:50 BST
This archive was generated by hypermail 2.2.0 : Thu Apr 10 2008 - 20:30:11 BST