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
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
Manu Sridharan
730151956f
organize imports
2013-01-04 12:00:26 -08:00
Manu Sridharan
6084f4ff61
Generate proper InstanceFieldKeys for property accesses with Numbers.
...
Note that this change actually breaks a couple of our unit tests. But,
it seems they were only passing by accident before anyway, and this change
at least leads to a more consistent handling of dynamic property accesses
with String vs. Number property names.
2012-12-18 10:11:59 -08:00
Manu Sridharan
5bcdb30014
add method to get a PointerKey for a global
2012-11-30 13:37:34 -05:00
Manu Sridharan
4a87d7b145
compare FieldValueDispatch objects based on CGNode as well
2012-11-30 11:04:48 -05:00
Manu Sridharan
3ee6f9d229
Merge branch 'master' of github.com:wala/WALA
2012-10-08 13:34:04 -07:00
Manu Sridharan
fae5d9f3dd
weaken recursion check slightly
2012-10-08 13:33:45 -07:00
Manu Sridharan
bcee68c412
bug fix in generated IR
2012-10-08 13:32:59 -07:00
dolby
d8985fe60b
Merge branch 'master' of https://github.com/wala/WALA.git
2012-10-03 10:53:39 -04:00
dolby
f7a7d66b28
move loop unrolling code to wala from Miniatur/MemSAT
2012-10-03 10:53:04 -04:00
Manu Sridharan
695b9948a3
fix getNodes() to correctly return nodes corresponding to constructors
2012-10-02 12:27:31 -07:00
dolby
fae5c86114
fixes for users of JDT interfaces, such as Miniatur/MemSAT
2012-10-01 13:11:10 -04:00
Manu Sridharan
a3efc8bbc3
Merge branch 'master' of riverdale.watson.ibm.com:jsanalysis
2012-09-18 14:07:37 -04:00
Max Schaefer
e130a5b963
Some refactoring of prologue.js and preamble.js to use more consistent
...
names.
2012-09-18 13:22:17 -04:00
Manu Sridharan
e4c9c7ab91
add some javadoc
2012-09-12 11:36:54 -07:00
Manu Sridharan
24eb803211
organize imports; no semantic change
2012-09-04 16:24:37 -07:00
Max Schaefer
2a13228e50
Fixed for-in loop body extractor after recent changes to CAst representation of for-in loops.
2012-08-30 10:55:19 -04:00
dolby
17ab92b8f2
assert that the first line number is always not -1
2012-08-28 21:49:04 -04:00
Manu Sridharan
9847bf21f4
Merge remote-tracking branch 'origin/master'
2012-07-12 10:30:56 -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
Max Schaefer
ff3416a89f
Be more careful when determining source-level names for SSA variable to
...
avoid index-out-of-bounds accesses.
2012-07-05 11:20:25 -04:00
Max Schaefer
fca3999e9a
Fixed rewriting of non-constant switch cases.
2012-07-05 09:37:47 -04:00
Manu Sridharan
f6e52c9b93
Merge remote-tracking branch 'riverdale/master'
2012-07-04 10:27:13 -07:00
Max Schaefer
7bdc127ce5
Workaround for invalid end positions in CAst.
2012-07-04 12:19:05 -04:00
dolby
4b3cba710d
changes from upstream
2012-06-29 15:47:54 -04:00
Manu Sridharan
2edb070437
changed FileProvider to have instance methods
2012-04-16 14:57:14 -04:00
dolby-oss
44e7a02ac3
improve handling of binary expressions
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4544 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-08 17:35:04 +00:00
dolby-oss
8f4ddd6920
remove warnings
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4537 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-03 00:25:47 +00: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
dolby-oss
3a5013d8e5
generalize hack for finding 'base' variables. fix bugs in renaming arguments.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4526 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:44:09 +00:00
msridhar1
ec7be6dc39
Got rid of IntegerContextItem and BooleanContextItem and replaced them
...
by uses of ContextItem.Value.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4514 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:16 +00:00
msridhar1
1ae581819f
add one level of caller-site sensitivity for call() and apply(); experimental
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4513 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:03 +00:00
msridhar1
5c2ca88ba2
more comments
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4511 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:36 +00:00
msridhar1
5bc7fb3e44
Within for/in bodies, use a marker for/in context instead of a CallerSiteContext
...
to better handle certain recursion. Still needs better Javadoc
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4510 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:24 +00:00
msridhar1
d1974d8b54
new context selector that just checks for recursion instead of bounding it
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4509 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:14 +00:00
msridhar1
a840e068d6
When extracting correlated pairs, check that the extraction region does
...
not reference the "arguments" variable.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4506 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:39 +00:00
msridhar1
a3d0b45eef
Added support for localising variables through which correlated reads
...
flow. This somewhat compensates for the lack of SSA form for closure
variables under the new lexical scheme.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4505 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:22 +00:00
msridhar1
5106842f30
fix memory leak
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4504 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:06 +00:00
msridhar1
efcbdd625c
Merge remote-tracking branch 'riverdale/extractor-fix' into lexical-again
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4502 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:48 +00:00
msridhar1
e60be259ae
avoid crashes in LoadFileTargetSelector
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4500 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:08 +00:00
msridhar1
1eb7236267
use a CallStringContext when hitting the recursion bound with constructors
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4499 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:57 +00:00
msridhar1
e9d2ad598a
move recursion bound selector to HTMLCGBuilder; a temporary solution
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4497 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:37 +00:00
msridhar1
965896c210
add general recursion bounding via an additional context selector. Also, completely eliminate dependence on contexts for correct pointer analysis with new lexical scheme.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4496 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:21 +00:00
msridhar1
954a1f091b
more work on precise lexical configuration
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4495 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:55 +00:00
msridhar1
4037ef9b02
add new analysis option JSAnalysisOptions.usePreciseLexical(), which allows for a less precise handling of lexical accesses
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4494 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:30 +00:00
msridhar1
a3826f23a8
refactoring: rename some Util classes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4492 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:59 +00:00
msridhar1
92d8dc1e3d
Revert "refactor context selectors: extract delegation into ComposedContextSelector"
...
This reverts commit 7ff1219c5baed388a82d14fcf81d2b1f456c4e95. That commit broke
a dojo test, and I'm not sure why.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4491 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:18 +00:00
msridhar1
59d602e9b7
added a recursion check
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4490 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:20:36 +00:00
msridhar1
edd300cf00
refactor context selectors: extract delegation into ComposedContextSelector
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4489 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:20:26 +00:00