Commit Graph

167 Commits

Author SHA1 Message Date
sjfink 1f42098a1e bug fix in getBlockForInstruction()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1487 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-16 16:33:34 +00:00
sjfink ed58e0ee92 ExpandedCFG cleanup
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1486 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-16 16:18:26 +00:00
sjfink 1bfe7cb052 fix toString()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1485 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-16 15:53:22 +00:00
sjfink 5c89985acf add some comments
tweak SSASwitchInstruction.toString()

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1469 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-13 21:34:04 +00:00
sjfink 2cc59a6805 add comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1465 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-13 19:04:38 +00:00
sjfink 9be999a666 add a comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1456 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-13 12:51:54 +00:00
sjfink 059761fb70 use Hash factories everywhere
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1438 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 21:08:12 +00:00
sjfink c55404d1ff a bug fix in ExpandedControlFlowGraph, and misc. cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1400 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-09 16:38:08 +00:00
sjfink 70b22bf4c6 misc slicing related bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1398 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-09 15:58:17 +00:00
sjfink 5eb76541f0 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1382 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:08:13 +00:00
dolby-oss 9ffe419bb3 new constant value accessors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1376 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 15:13:06 +00:00
sjfink 4310457e45 misc. housekeeping and some slicer bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1373 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 14:11:16 +00:00
sjfink ae534d2d89 minor housekeeping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1371 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 04:18:16 +00:00
sjfink 8864b70d50 miscellaneous housekeeping
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1364 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 03:07:14 +00:00
sjfink 8b13f5d9ef add method getCFG()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1340 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-03 20:48:23 +00:00
sjfink f411feb5c4 generics from manu
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1329 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-02 11:52:50 +00:00
dolby-oss d6a5efccc1 fixes to pointer analysis to handle languages that have a separate 'null' type for which no one should be reading/writing fields
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1322 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-28 14:27:38 +00:00
sjfink a74ba72b15 just update a comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1319 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-27 18:36:54 +00:00
sjfink 1eefd4cf38 add getIntegerValue
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1311 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-25 18:56:14 +00:00
sjfink 6421783e52 introduce factory for Iterator2Collection
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1308 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-21 16:14:00 +00:00
sjfink f120c54852 use covariant return type for getBasicBlock()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1300 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-19 15:27:27 +00:00
sjfink a206218bde small bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1289 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-15 18:42:46 +00:00
sjfink c49d6d84e2 delete a broken comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1257 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-06 21:13:22 +00:00
sjfink b0d31d38cb remove some unnecessary IClassHierarchy parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1254 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-06 20:15:37 +00:00
sjfink 65cc4433cd make some fields final
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1244 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-05 14:01:26 +00:00
sjfink c20ec6e81a remove unnecessary casts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1235 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-03 21:43:09 +00:00
sjfink cbd2206cfd delete a comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1234 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 21:50:56 +00:00
sjfink 8e52444761 make many fields final
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1232 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 21:38:35 +00:00
dolby-oss 0ed8d96d55 Changes to allow cross-language call graphs. The three biggest changes are as follows:
1) The visitors nested in the SSAPropagationCallGraph have become static classes so that they can be reused in a delegation pattern for the cross-language call graph builder.
2) The ClassHierarchy is now encapsulated behind an IClassHierarchy interface to allow for a CrossLanguageClassHierarchy that delegates to a set of child hierarchies, one for each language.  The internals of the ClassHierarchy are almost entirely unchanged
3) There is now a new Language interface in com.ibm.wala.classLoader, and all IClassLoader objects have to know what language they load for.  This language object now encapsulates a few language-specific options that were previously hacked into the AnalysisOptions object.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1212 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:26:18 +00:00
sjfink ea3caa1e8a mostly clean up old comments.
also rename InferGraphRootsImpl to InferGraphRoots

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1200 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 19:05:23 +00:00
sjfink fdb7a17af3 add @Overrides annotations and nuke unnecessary casts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1197 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 15:16:05 +00:00
sjfink 0d83415651 small bug fix in toString()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1186 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-29 13:13:03 +00:00
sjfink 9ba9b164df some annotations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1184 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-28 00:11:02 +00:00
sjfink f2f40b3d4e more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1154 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-21 16:04:27 +00:00
sjfink b0598a95f4 more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1133 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-15 19:35:57 +00:00
sjfink 4acf542744 validate some arguments; throw IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1119 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-15 03:15:05 +00:00
sjfink 46eeca59af Feature 1718799: refactor ShrikeUtil.makeMethodReference and makeFieldReference
into MethodReference and FieldReference findOrCreate()s

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1112 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-14 17:53:49 +00:00
sjfink ed509d5910 throw IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1098 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-08 21:49:58 +00:00
sjfink 5f3bb0aa86 add some more functions to look up instructions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1051 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-03 20:09:42 +00:00
sjfink a03a4accd8 make SSAInstruction.equals() consistently use ==
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1047 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-03 17:26:31 +00:00
dolby-oss 57742fc75a add comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1021 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-27 14:35:49 +00:00
sjfink a2c7c8d6e4 check arguments to public methods
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1019 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 20:35:25 +00:00
sjfink b9e9306198 misc. cleanups and annotations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1017 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 18:15:56 +00:00
sjfink f239bd6148 bug fixes, cleanups, and more generics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1014 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 17:29:50 +00:00
sjfink 0c79812aca misc. cleanups, annotations, and bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1010 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 15:36:44 +00:00
sjfink ec2e0f5967 misc minor cleanups, annotations, and bug fixes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1009 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 14:47:41 +00:00
sjfink 4a29f033c8 annotations and minor cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1008 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 13:53:16 +00:00
sjfink 4ff1b044f8 annotations and minor cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1004 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-26 12:48:58 +00:00
dolby-oss 66a83b0e3c fixes for Pi nodes for new boolean constant values
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@924 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-04 17:40:44 +00:00
dolby-oss 10ccb7410e support for boolean-typed constants and customizable default values for uninitialized values; both of these are used to support scripting language features
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@919 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-04 13:00:04 +00:00
dolby-oss fa57d84cc9 1) add IR accessors for new sites
2) fix issues with classloaderref for some array classes
3) minor fix to ctor in thread native model


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@898 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-27 19:53:41 +00:00
sjfink 766cf2e008 change return type of getInstructions() to SSAInstruction[]
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@893 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-26 16:21:14 +00:00
mkogane 61d26d85d9 added isSpecial() method
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@884 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-23 05:41:54 +00:00
sjfink e02937e61b make IBasicBlock an Iterable<IInstruction>. Rename iterateAllInstructions() to iterator()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@878 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-22 10:50:42 +00:00
sjfink e955c1e657 Graph API change: Graph is now an Iterable of Nodes!
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@867 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-21 21:07:30 +00:00
dolby-oss 2dc8f805d4 major change is reworking how filtering works in the propagation call graph builders. The old notion of a filter as a type or an instance key has been replaced with an interface TypeFilter that supports arbitrary filtering. The class and instance key filters have been redone to use it, and a new filter that filters for types that dispatch to a particular method has also been added.
other minor changes:

TypeInference:
 1) fix to handle constant that is the last value number
 2) add visitor to set result of instanceof to boolean if doPrimitives
 3) PrimitivePropagateOperator not final to allow specialization
PrimitiveType:
 mimic Java semantics for implicit upcasts: add notion of size and 
 define meet to take larger size
SSASwitchInstruction:
 add iterator for switch labels
cfg.Util:
 add more helpers for dealing with switches


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@838 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 01:56:32 +00:00
sjfink d60734d54b refactoring of relations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@783 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-23 17:07:21 +00:00
sjfink be1415de88 more generics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@684 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-08 20:17:02 +00:00
sjfink 1347463992 misc bug fixes and annotations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@595 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-19 15:24:05 +00:00
sjfink 8942ca89cf misc. bug fixes and annotations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@582 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-15 21:06:37 +00:00
sjfink e2c552a1cb misc. bug fixes and annotations
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@579 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-15 18:31:55 +00:00
sjfink 29523612f1 misc bug fixes and dead code elimination
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@572 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-15 15:06:11 +00:00
sjfink 979451f05c rename Shrike*Wrapper to just Shrike*
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@551 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-10 20:49:24 +00:00
dolby-oss f3f4a25a20 when it is available, add source position info to IR printing
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@527 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-08 14:53:10 +00:00
sjfink 59f5f9d69e introduce ClassHierarchyDweller
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@516 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2006-12-21 19:03:50 +00:00
dolby-oss 9fc30f8c19 more covariant return types in SSACFG; use enumeration objects to print opcodes for binary op instructions; allow using a PrintWriter for Trace
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@506 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2006-12-08 14:30:14 +00:00
sjfink df97f42b7e attempt to introduce tags and trunk
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@490 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2006-11-22 17:38:46 +00:00