Commit Graph

305 Commits

Author SHA1 Message Date
dolby-oss 4c6d062dbb blunt force trauma to CAst frond end:
1) 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.
2) Some refactoring to share some AST generation code across the Java and JavaScript front ends.
3) 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.
4) Common 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.
5) Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
6) An example of retranslation to specialize JavaScript methods based on how many arguments they receive at call sites.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4425 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-27 20:15:33 +00:00
msridhar1 c40917c3da remove unused imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4421 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 23:31:16 +00:00
msridhar1 8b547b4812 Split up ForInLoopRewriter in preparation for merging changes back into
open-source WALA. The extraction code is now in com.ibm.wala.cast.js,
with some more general stuff moved to com.ibm.wala.cast and
com.ibm.wala.util. The tests are in com.ibm.wala.cast.js.test and
com.ibm.wala.cast.js.rhino.test. ForInLoopRewriter itself only contains
the framework specific tests and the copies of the frameworks
themselves.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4418 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:52:26 +00:00
msridhar1 aa5cf116be Bug fix for lexical_broken.js
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4416 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:51:11 +00:00
msridhar1 533344e43f Amended toString of ReflectedFieldPointerKeys to also print information
about the container object.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4414 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:50:36 +00:00
msridhar1 ea76fd31ab Extraction of correlated read/write pairs needs to be done _before_
property read expansion. Extended TranslatorToCAst to support this.
Various other changes to make it possible to plug in the correlated pair
extractor.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4411 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:49:48 +00:00
msridhar1 2f86937ae1 some more diagnostic code in TestUtil, related changes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4399 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:27 +00:00
msridhar1 67b2103a49 no scoping contexts for built-in Object and Array constructors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4397 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:45:49 +00:00
msridhar1 caf83a7857 don't use lexical scoping contexts for the array constructor
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4395 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:45:22 +00:00
msridhar1 f8132eab21 optimize recursion check
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4392 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:44:39 +00:00
msridhar1 2a61536747 fixed recursion check for lexical scoping contexts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4390 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:44:11 +00:00
msridhar1 082607327d test case for bad recursion check bug
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4389 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:43:58 +00:00
msridhar1 16317238ff Print call graph information more compactly.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4378 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:27 +00:00
msridhar1 6051baf5fb fix bug exposed by wrap3.js: we were not recusring properly in ScopeMappingInstanceKey.getFunargNodes()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4377 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:37:13 +00:00
msridhar1 ed37d9ee5d another failing test case for scoping and closures
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4376 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:59 +00:00
msridhar1 eb508d52f1 polishing of fix for wrap2.js issue
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4375 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:37 +00:00
msridhar1 22fa1d4692 initial version of bug fix for wrap2.js; needs to be commented / polished
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4374 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:36:23 +00:00
msridhar1 63c20d5f8d reset default timeout in TestUtil; kill CGNodeResolver.toString()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4357 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:32:25 +00:00
msridhar1 9aabf5c042 extra javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4355 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:57 +00:00
msridhar1 e4bab37a82 bug fix with cached DefUse in AstCGNode
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4353 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:30 +00:00
msridhar1 72c2c92294 added coarser lexical-scoping resolver. reduces memory usage, but analysis seems to slower. disabled as regression tests don't pass
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4352 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:31:15 +00:00
msridhar1 cf37a6728d more work on toString() methods
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4350 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:46 +00:00
msridhar1 1aa85b27eb comments and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4349 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:32 +00:00
msridhar1 aa94e28908 some javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4348 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:30:17 +00:00
msridhar1 d01db4d276 Now eliminating duplicates when copying names during SSA conversion.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4343 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:29:14 +00:00
msridhar1 e71b067b6e default call graph dumping to off
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4339 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:16 +00:00
msridhar1 3057d11607 stop dumping call graph in the MediaWiki test to speed things up; add a flag to Util to suppress call graph output in other cases
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4337 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:42 +00:00
msridhar1 5f91087b44 re-enable debug output
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4322 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:23:13 +00:00
msridhar1 306bc98bf5 progress on modeling the global object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4321 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:58 +00:00
msridhar1 37f3af5b86 undo CG dumping change
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4318 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:21:54 +00:00
msridhar1 b042d61a67 initial implementation of handling Function.call(). also, fix previous change that caused some tests to fail
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4316 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:21:26 +00:00
msridhar1 939f6b3f34 Organise imports.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4306 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:19:01 +00:00
msridhar1 0c1068ef99 More correct handling of scoped entities.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4303 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:18:20 +00:00
msridhar1 f763f34fda Added support for CAstNode.IS_DEFINED_EXPR to CAstPrinter.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4301 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:17:52 +00:00
msridhar1 b517c6ca85 Started testing on MooTools.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4299 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:17:15 +00:00
msridhar1 4edec7f18e remove unused imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4297 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 20:10:34 +00:00
msridhar1 59e46916ce Generalize certain IR data structures to be less Java-specific. Generalize annotations code to allow for reading annotation parameters. Various other fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4290 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:27 +00:00
msridhar1 3e4e4836e2 allow for clearing error messages to free memory
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4225 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-22 15:58:41 +00:00
dolby-oss 9980532da1 minor type fix
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4214 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-06 19:50:56 +00:00
dolby-oss 880a6166a7 performance work on lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4202 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-02 15:14:11 +00:00
dolby-oss ef474b9dde removed out-of-date comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4197 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-01 13:42:14 +00:00
dolby-oss a990bafa21 minor performance tuning
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4196 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-01 13:41:11 +00:00
dolby-oss 9432654ac9 minor performance tuning
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4195 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-01 13:40:26 +00:00
dolby-oss b27fd8de26 performance work on lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4192 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-30 15:45:58 +00:00
dolby-oss 3e573a992d upgrades to lexical soping implements to address some performance issues
fixes to HTML model to capture use of local vars as window state in scripts


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4176 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-23 16:27:07 +00:00
msridhar1 2de1da2948 kill unused field
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4174 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-05 14:31:47 +00:00
msridhar1 40a294a5e4 optimization: cache result of getMappedNodes()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4173 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-05 04:15:06 +00:00
msridhar1 047ac9f0ce bug fix: add missing check for invariant points-to set
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4170 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-05 03:51:14 +00:00
msridhar1 fcdce3f128 javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4167 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-04 20:42:05 +00:00
msridhar1 1496188862 get rid of unneeded ScopeMap class
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4166 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-04 20:41:56 +00:00