Release 1.3.4
From WalaWiki
Revision as of 20:20, 6 April 2012; view current revision
←Older revision | Newer revision→
←Older revision | Newer revision→
We will periodically tag the subversion repository with release numbers. To check out a particular release, see the tags branch of the subversion repository.
- Previous Release: Release 1.3.3
- Next Release: Release 1.3.5
- Subversion path: https://wala.svn.sourceforge.net/svnroot/wala/tags/R_1.3.4
- Date: April 5, 2012
[edit]
ChangeLog
Changes since Release 1.3.3:
- New features
- Switching to the latest Rhino, release 1.7R3; this is a pervasive change to the JavaScript Rhino translator, since it involves switching to the new AST interface in Rhino.
- Common CAst code to, as an option, translate Do-style loops by replicating the loop body. This allows the use of CAstNode.LOOP forms for such loops.
- revamped handling of lexical scoping during JavaScript call graph construction
- Calls of the form f.x() in JavaScript are now analyzed like 'method calls' so that the 'this' pointer in the receiver functions can be filtered based upon the types that actually have the method being invoked. This requires much more dynamic filtering than in a language like Java, since properties like 'x' are simply properties that happen to hold functions, and so can be assigned in a first-class manner. Thus, the filtering needs to handle variance in both the types and the values of their properties; this is implemented as multiple levels of abstract object directed side effect equations in the dataflow system.
- Code cleanup
- Structural changes in the AstTranslator to allow retranslation and generation of custom IR. This is mostly moving state from the translator itself into the context.
- Some refactoring to share some AST generation code across the Java and JavaScript front ends.
- API Changes
- Some poorly-named Util classes have been given more meaningful names, e.g., CAstCallGraphUtil, JSCallGraphUtil, and JSCallGraphBuilderUtil.
- Bug Fixes
- Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
- fix for bug reported by Juergen Graf: handle multiple fields with the same name in a JVM class
