Commit Graph

76 Commits

Author SHA1 Message Date
Manu Sridharan 3b1889121b add missing copyright headers 2013-05-22 15:39:19 -07:00
Julian Dolby 1cc5e5ce9c fixes for bug with dead code and exception handlers 2013-04-10 21:16:12 -04:00
Manu Sridharan 1d06b2f764 organize imports 2013-01-22 15:42:04 -08:00
Julian Dolby 9aa474fdb1 1) added InstanceKey.getCreation sites and its implementations
2) fixes for issues with keys representing dynamic properties
  i) all properties are converted to strings, in an approximation of JS
semantics
3) fix to handling of instance keys representing numbers in binary +;
now it understands that adding constant keys of type Number requires
adding a non-constant Number key to the lval
2013-01-07 20:18:27 -05:00
dolby f7a7d66b28 move loop unrolling code to wala from Miniatur/MemSAT 2012-10-03 10:53:04 -04:00
dolby b2034ed90f extensions to HTML file source position tracking 2012-05-08 14:03:43 -04:00
dolby-oss a9ec87f360 Changes motivated by analysis issues in JavaScript. The main change is that 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.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4535 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 02:45:51 +00:00
msridhar1 78ef6e3a03 further work
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4465 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:26 +00:00
msridhar1 8982d35800 fixed one CG building bug with useLocalsForLexicalVars() disabled
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4463 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:51 +00:00
msridhar1 9ad5c55d85 generate lexical access instructions for methods accessing their own exposed vars. still need to fix call graph construction
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:26 +00:00
msridhar1 daf36902bd Avoid plugging in the same AST node twice when creating code for a
method call.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4444 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:35 +00:00
dolby-oss 79946e98d6 purported fixes for Max's latest bugs (with some tests)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4433 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-07 13:50:08 +00:00
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 f9d6e38eea Removed spurious "arguments" property on function objects.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4329 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:25:06 +00:00
msridhar1 4d9876d452 Fixed a bug where the property read expander was generating a DAG, and
another one which prevented CFG node targets from being properly copied.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4302 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:18:06 +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
dolby-oss 1f2ebb7943 fix for read expansion issue
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4215 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-06 19:52:51 +00:00
msridhar1 201b28eea0 bug fixes for handling of prototype and __proto__
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4188 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-22 21:23:49 +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 cbd5613a35 javadoc, formatting, move a DEBUG flag
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4163 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-02 22:11:27 +00:00
msridhar1 3fffba2c87 javadoc and formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4149 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-26 18:44:49 +00:00
msridhar1 a1b36e3488 comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4146 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 23:00:31 +00:00
msridhar1 06b529e146 javadoc, formatting, more generic types
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4144 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 22:59:13 +00:00
msridhar1 c3e6ea9526 formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4143 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-22 22:57:55 +00:00
msridhar1 53294397f8 javadoc, formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4128 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 22:31:27 +00:00
dolby-oss 9006fce690 some bug fixes to CAst IR generation, especially in handling exceptions
cleanup of how JDT analysis engines work, to make using the JDT front end more modular
bug foxes to JavaScript handling, most notably fixing scoping of functions

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4123 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:27:15 +00:00
dolby-oss adca756422 preserve exception control flow when expanding reads
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4120 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:20:31 +00:00
dolby-oss cdd42a68b6 updates to processing of Web pages:
1) adopted the code from Rational for HTML handling
    i) extended it to integrate better source mapping into IR
    ii) integrated fixes from the old html processing to collect more info on forms
    iii) added some copyright comments
  2) updated version of jericho
  3) added support for nu.validator for html5
  4) added script to fetch html parser jars, and removed binary jar
  

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4090 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 15:23:58 +00:00
dolby-oss 658598e82b fix to handle redefinition of 'undefined' (yuck)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3970 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-11 14:25:52 +00:00
yinnon_haviv 38f8a44044 Fix prototype contamination bug (described in added test).
When someone writes: 
MyFunction.prototype.myMethod = ...
we want "myMethod" to be accessible only for objects of type "MyFunction".

- Change how generated ctors look like - now they have a private prototype object into which methods can be added
- Change the PropertyReadExpander to have a different handling when reading the "prototype" field, avoid performing a loop on the prototype chain, so that the points to set of fetched field will be accurate (and allow us to set only the fields of it)


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3959 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-02 19:30:03 +00:00
dolby-oss e4b9d03be5 bug fixes for unicode names and to prevent analysis from modifying the symbol table
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3936 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-14 20:29:05 +00:00
dolby-oss dec3802c1c fixes for symbols that are used by the call graph builders
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3928 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-10 22:33:47 +00:00
dolby-oss 2e724aac3e fixes for JavaScript motivated by Web examples
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3823 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-28 19:38:28 +00:00
dolby-oss e877067710 Ishizaki-san's patch for hasMonitorOp
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3733 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-17 13:58:55 +00:00
dolby-oss a3dc6411ae separate Rhino-specific portions of javascript analysis
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3731 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-16 18:09:54 +00:00
dolby-oss c3769d5717 performance and other fixes driven by models of Web pages for JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3562 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-04 14:11:31 +00:00
sjfink 9939142eae switch from Assertions._assert to Java assertions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3555 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-30 13:16:52 +00:00
sjfink addfb7ddc2 organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3483 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-20 12:54:33 +00:00
dolby-oss f6f7b92bfe clean ups, and work on error reporting in the CAst front end
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-15 12:52:40 +00:00
sjfink 77101da20f misc. cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3434 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-10 19:48:32 +00:00
dolby-oss e80dc6ef8c refactor handling of constants in Shrike to abstract away from Java bytecode
introduce factories to create SSAInstruction objects


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3433 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-10 18:33:07 +00:00
sjfink 957cb2b8ca deprecate Trace
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3432 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-09 20:31:14 +00:00
sjfink aeda43e97e minor cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3265 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-09 17:59:09 +00:00
sjfink ec2c48b42a organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3263 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-03-09 17:49:23 +00:00
dolby-oss 159e25f52e fixes for Rhino issue---ignoring multiple variables in a single var declaration
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3201 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-02 20:46:51 +00:00
dolby-oss 9979d0899c more fixes to lexical scoping for JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3196 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-30 16:33:22 +00:00
dolby-oss f8d02b4541 fixes for JavaScript for Anders
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3191 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-27 17:40:11 +00:00
dolby-oss 37e0676e93 fixes to unary operators for JavaScript
(i.e. unary +x is not the same as x+0, same for unary -x)


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3190 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-22 14:38:34 +00:00
dolby-oss 8d3c76715c misc. fixes motivated by JavaScript
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3175 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-19 15:12:39 +00:00
sjfink b1f300156e patch from yinnon to make analysis scopes obey list order
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3144 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-17 19:52:27 +00:00