Commit Graph

185 Commits

Author SHA1 Message Date
Manu Sridharan 3b1889121b add missing copyright headers 2013-05-22 15:39:19 -07:00
Manu Sridharan dcc7cd206d bug fix: allow each language to determine when a CGNode represents the "definer" method for a lexical access 2013-04-29 20:34:40 -07:00
Manu Sridharan 6c9cf10870 flipped useLocalValsForLexicalVars to false for Java; causes tests to break 2013-04-29 16:48: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 dae0b33233 Merge branch 'master'
Conflicts:
	com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhinoJericho.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/vis/JsViewerDriver.java
	com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
	com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
	com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstEntity.java
2013-04-09 15:56:47 -07:00
Manu Sridharan 11c6619c7f Variety of changes to JS front end.
- crash fixes
- small enhancements to prologue and preamble
- tighter handling of timeouts during CG construction
2013-04-09 15:47:22 -07:00
Julian Dolby 321e925660 work on CHA 2013-04-03 12:12:43 -04:00
Julian Dolby afccdd2189 Annotation support 2013-02-02 21:27:45 -05:00
dolby f7a7d66b28 move loop unrolling code to wala from Miniatur/MemSAT 2012-10-03 10:53:04 -04:00
dolby fae5c86114 fixes for users of JDT interfaces, such as Miniatur/MemSAT 2012-10-01 13:11:10 -04:00
Manu Sridharan 24eb803211 organize imports; no semantic change 2012-09-04 16:24:37 -07:00
Manu Sridharan 256cd06460 Convert all Java source files to use Unix line endings; no semantic change 2012-09-04 15:56:05 -07:00
Manu Sridharan 9a0e105e51 fix so that new lexical scheme can be enabled with Java frontends 2012-07-12 10:27:24 -07: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 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
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 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
dolby-oss 81c12b97af cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4189 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-30 15:41:40 +00:00
dolby-oss 4da02a9125 Changes to extend supported context sensitivity to CPA-style:
1) extend ContextSelector interface to allow it to specify parameters of interest
  2) extend filtering mechanism at call sites to allow CPA-style filtering when requested by contexts
  3) various related fixes and extensions:
    a) removed redundant code to handle dispatch for JavaScript, so now it shares the core mechanism
    b) tighten types for operators that take an array of args - now the array is T[] at the cost of a few array allocation methods
    c) a bit more support for empty int sets
    d) void function objects
    e) bug fixes for lexical scoping support, and adaptation to work with core dispatch mechanism
    f) example of CPA-style sensitivity to handle nastiness in a JavaScript for(.. in ...) loop
    

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4150 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-27 13:58:56 +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 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 0ce752ccff formatting
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4129 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 23:08:17 +00:00
dolby-oss 67d26e74c5 allow IR translator to give warnings and errors via the loader
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4125 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-14 01:16:36 +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 c4891ba35d fixes to defining types
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4088 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 15:17:31 +00:00
msridhar1 857e456806 organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4081 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-03 04:08:05 +00:00
sjfink fa825de846 refactoring of fixpoint API
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4033 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 21:43:18 +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 3fa3c8b03c change to how default values for value numbers are recorded for SSA conversion by CAst
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3916 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-09 14:02:15 +00:00
dolby-oss 086c22dc13 provide more options for choosing classfiles vs source files. Thanks to Dan Marino.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3852 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-07-19 14:05:19 +00:00
msridhar1 b8ecc8d48a nuked ReflectionSpecification
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3832 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-12 17:19:54 +00:00
egeay d7443eb6d6 Need a way to extend JavaClass implementation for X10.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3792 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-01-07 22:16:24 +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
sjfink a0efbee8ff Major refactoring to introduce com.ibm.wala.ide. Many related changes and patches from Marcelo Paternostro.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3693 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-22 15:06:12 +00:00
dolby-oss d079132c07 fix type-o in comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3646 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 13:00:29 +00:00
dolby-oss e85f813477 work on generalizing type inference
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3625 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-03 18:24:46 +00:00
dolby-oss 18a3e1ef07 fix minor warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3604 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-20 18:55:14 +00:00
dolby-oss 50a4df0f32 more stuff deemed 'relevant' for JMM
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3602 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-20 17:07:18 +00:00
dolby-oss 4595806dc9 slice locks for concurrent code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3599 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-19 18:02:53 +00:00
dolby-oss 7c01256b30 fix hackish multithreaded support to deal with array writes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3594 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-14 19:15:45 +00:00
dolby-oss 0890ed0795 trivial bug fix
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3585 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-07 16:41:10 +00:00
rmfuhrer 125dcbedd9 Made buildAnalysisScope() public so that, e.g., one can build a class hierarchy without building a call graph.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3573 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-06 20:25:32 +00:00
rmfuhrer d498070dcf JavaClass can now represent the root class, in case it resides in source (previously, it required every class to have a superclass).
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3568 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-05 17:22:57 +00:00
rmfuhrer ff82965836 Extracted a common subexpression to a local in defineFunction().
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3567 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-05 15:52:32 +00:00
sjfink de6adbc4d7 more migration to Java assertions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3559 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-01 17:42:28 +00:00
sjfink 948dab4d0d remove ClassHierarchyException from IClass.getAllMethods
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3557 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-05-01 12:50:17 +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
dolby-oss e66d5ed88a approximate support for multithreaded code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3532 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-23 18:00:20 +00:00
sjfink 6868b753eb organize imports and tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3439 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-13 13:50:45 +00:00