Commit Graph

35 Commits

Author SHA1 Message Date
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
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 c7558b3646 fixes for Rational
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3985 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-02 19:11:58 +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
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
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 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
dolby-oss ff27c9122f further work on lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3133 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-16 14:27:42 +00:00
dolby-oss 309a9b6d72 enhancements to handling of lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3109 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-12-02 14:08:12 +00:00
dolby-oss 42ffd051dc optimization of getAllExposedUses for lexical scoping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3046 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-10-03 20:10:09 +00:00
sjfink 9f2fa75340 delete PointerFlowGraph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2611 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-24 00:05:42 +00:00
sjfink 118cdac3e8 new logic to interpret Class.newInstance() on a class constant, such as generated by forName(String constant).
Thanks Marco.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2574 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-13 18:49:00 +00:00
sjfink ecfb8b8d43 enhance reflection support to evaluate Class.forName() on a string constant.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2541 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-05 19:08:29 +00:00
sjfink a359ba825d refactoring: move some classes into appropriate packages
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2453 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-24 22:20:51 +00:00
dolby-oss 8e46277e51 move echo instruction to CAst core; generalized invokes to deal with multiple return values; generalize function support to handle non-first-class functions, modeled as statics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2131 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-12-10 04:26:21 +00:00
sjfink c9ed34510d adapt to wala.core IteratorPlusOne change and clean up some generics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1707 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-31 23:51:10 +00:00
sjfink 6a1a7d0e75 decouple IR caching from AnalysisOptions with a new AnalysisCache object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1514 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-20 15:19:33 +00:00
sjfink c91caedab6 use Hash factories everywhere
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1435 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 21:07:32 +00:00
sjfink d72e0a1752 restructure to allow CGNodes to dwell in more than one CallGraph. lift some functions up from CGNode to CallGraph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1420 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 16:24:45 +00:00
sjfink 39da63410a massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1390 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:09:29 +00:00
dolby-oss 03c523a52e fixes to pointer analysis to handle languages that have a separate 'null' type for which no one should be reading/writing fields; minor fixes to misc hack context selector
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1323 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-28 14:30:15 +00:00
dolby-oss d958868f41 a but more javadoc; added accessor for getting all value numbers exposed to lexical scoping; allow scopes during translation to ask for parent scopes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1274 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-12 13:43:16 +00:00
sjfink 9f1ab271a9 remove some unnecessary IClassHierarchy parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1256 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-06 20:15:48 +00:00
dolby-oss 8472f026f5 support for cross-language call graphs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1215 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:31:35 +00:00
sjfink 93e0e4c06e change some Iterators in API to Collections
remove some unnecessary WarningSet parameters

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1209 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-31 02:38:56 +00:00
rmfuhrer 16938f0f70 getLocalReadKey() is now aware that certain invoke instructions
have uses other than parameters and lexical uses (e.g. X10's
async invoke instruction, which has a separate use for the
"place expr").

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1177 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-25 16:41:47 +00:00
sjfink 44e81fe29f misc. cleanups and refactoring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1166 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-23 13:42:47 +00:00
sjfink 8c5fdceec3 organize imports
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@994 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-24 13:51:15 +00:00
dolby-oss 0023341733 new instruction to represent checking whether a local or a field is defined
new abstract base for CAst rewriters, used by the CAstCloner



git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@985 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-19 13:48:01 +00:00
dolby-oss 25a4b64c12 Added source position information for entire code bodies as a whole
Rewrote to the mechanism for invoking the callbacks for lexical scoping to not suck as much as before, i.e. it is somewhat less inefficient

adapt to filter instance key changes

bug fixes to IR generation for switch statements


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@839 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 02:00:43 +00:00
dolby-oss 9e79e45c93 some minimal javadoc comments for new instruction classes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@732 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-14 03:07:33 +00:00
sjfink 05e1f973a6 squash remaining Eclipse warnings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@700 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-09 15:33:45 +00:00
sjfink a92bff31bb some generics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@692 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-08 20:45:07 +00:00
dolby-oss 3d9390a397 Initial contribution of core script analysis code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@616 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-02 17:17:13 +00:00