Tom Hvitved
6cd87757f6
C#: Fix a few minor performance regressions
2019-03-18 14:36:41 +01:00
Tom Hvitved
84c3073c2a
C#: Fix performance regression in cs/user-controlled-bypass
2019-03-14 10:36:50 +01:00
Tom Hvitved
8db983c2ee
Merge branch 'rc/1.19' into merge-rc
2019-03-12 17:34:44 +01:00
Calum Grant
242f8f2b43
Merge pull request #1058 from hvitved/csharp/dataflow/performance
...
C#: Data flow performance improvements
2019-03-11 18:23:21 +00:00
Tom Hvitved
10491e6497
C#: More data flow performance tweaks
2019-03-11 10:54:07 +01:00
calum
3fd10ec994
C#: Address review comment.
2019-03-11 09:38:23 +00:00
calum
d6c315bbdf
C#: Model NHibernate framework.
2019-03-11 09:38:22 +00:00
Tom Hvitved
b48576d7b9
C#: Address review comments
2019-03-10 15:45:31 +01:00
Tom Hvitved
8959d528a1
Merge remote-tracking branch 'upstream/rc/1.20' into csharp/dataflow/performance
2019-03-10 15:07:18 +01:00
Tom Hvitved
548a28ff7d
Merge pull request #912 from calumgrant/cs/ef
...
C#: Model EntityFrameworkCore
2019-03-08 22:13:13 +01:00
Calum Grant
f6828fa5e5
Merge pull request #1053 from hvitved/csharp/dispatch-tweak
...
C#: `Dispatch.qll` performance tweaks
2019-03-07 16:21:29 +00:00
calum
b358f87570
C#: Improve performance.
2019-03-07 14:56:07 +00:00
calum
6cf2aee2ce
C#: Fix failed CIL test.
2019-03-07 12:58:50 +00:00
Tom Hvitved
397cc56a6f
C#: Cache DataFlow::Node::getLocation()
2019-03-07 12:16:12 +01:00
Tom Hvitved
e6f7632d4c
C#: Introduce data flow return nodes
...
Before this change,
```
flowOutOfCallableStep(CallNode call, ReturnNode ret, OutNode out, CallContext cc)
```
would compute all combinations of call sites `call` and returned expressions `ret`
up front.
Now, we instead introduce explicit return nodes, so each callable has exactly
one return node (as well as one for each `out`/`ref` parameter). There is then
local flow from a returned expression to the relevant return node, and
`flowOutOfCallableStep()` computes combinations of call sites and return nodes.
Not only does this result in better performance, it also makes `flowOutOfCallableStep()`
symmetric to `flowIntoCallableStep()`, where each argument is mapped to a parameter,
and not to all reads of that parameter.
2019-03-07 12:16:06 +01:00
Tom Hvitved
e6630cda6b
C#: Use explicit recursion in data flow predicate
2019-03-07 12:16:01 +01:00
Tom Hvitved
738d1117f2
C#: Avoid recomputing flowThroughCallableLibraryOutRef() between queries
2019-03-07 12:15:53 +01:00
Tom Hvitved
397ff84898
C#: Cache Ssa::ExplicitDefinition::getADefinition()
2019-03-07 12:15:44 +01:00
Calum Grant
c087394917
Merge pull request #1030 from hvitved/csharp/structural-comparison
...
C#: Speedup structural comparison library
2019-03-06 15:47:44 +00:00
calum
3c6ef8dbf7
C#: Refactor additionalJumpStep for performance.
2019-03-06 15:04:39 +00:00
Tom Hvitved
7825642954
C#: Dispatch.qll performance tweaks
2019-03-06 14:54:36 +01:00
Tom Hvitved
d0c442a950
C#: Use explicit recursion in TupleExpr::isReadAccess()
2019-03-06 14:54:25 +01:00
Calum Grant
4bdcfec674
Merge pull request #990 from hvitved/csharp/cfg/get-a-thrown-exception
...
C#: Reduce size of `getAThrownException()`
2019-03-06 12:31:00 +00:00
Tom Hvitved
440809623b
C#: Fix whitespaces
2019-03-06 08:15:46 +01:00
Tom Hvitved
0afb85cb91
C#: Address review comments
2019-03-05 19:27:36 +01:00
Calum Grant
926ee7425a
Merge pull request #1014 from hvitved/csharp/same-children-modulo-type-params
...
C#: Speedup `sameChildrenModuloTypeParameters()`
2019-03-05 16:43:33 +00:00
Calum Grant
b17de116f8
Merge pull request #995 from hvitved/csharp/split-guards-performance
...
C#: Speedup guards predicates
2019-03-05 16:42:39 +00:00
Tom Hvitved
b2ede5e2a1
Revise logic for reducing size of getAThrownException()
...
When determining which core library a "tried control flow element" is compiled against,
first look at exceptions caught by the surrounding `try` block, then look at assembly
attributes, and finally choose (randomly) the core library with the highest lexicographic
order.
2019-03-05 14:57:46 +01:00
Max Schaefer
7f5e2630a1
Merge pull request #1032 from xiemaisi/master-for-merge
...
Merge master into rc/1.20
2019-03-04 21:23:51 +00:00
Tom Hvitved
1434b10b7a
C#: Speedup structural comparison library
2019-03-04 21:23:34 +01:00
semmle-qlci
245b47add7
Merge pull request #1017 from hvitved/csharp/get-label-performance
...
Approved by calumgrant
2019-03-04 20:22:38 +00:00
Tom Hvitved
8ec0573915
C#: Speedup sameChildrenModuloTypeParameters()
2019-03-04 21:06:13 +01:00
calum
e8bb7f2139
C#: Fix for performance.
2019-03-04 16:54:59 +00:00
Tom Hvitved
4054dc43e2
C#: Speedup Element::getLabel()
2019-03-04 13:21:10 +01:00
Tom Hvitved
c70a0a646d
C#: Add test for getLabel()
2019-03-04 13:21:10 +01:00
Tom Hvitved
6135b5b7eb
C#: Updated expected test output
2019-03-04 13:19:00 +01:00
Tom Hvitved
2e1ba7b1f9
C#: Speedup Implements.qll
2019-03-04 13:19:00 +01:00
calum
f7b4985ed1
C#: Fix merge conflict.
2019-03-04 09:54:48 +00:00
calum
741666d561
C#: Address review comment.
2019-03-04 09:54:40 +00:00
calum
d77b60bba8
C#: Add preservesValue to NonLocalJumpNode.getAJumpSuccessor. Allow DataFlow::Configuration::isAdditionalFlowStep to jump between callables.
2019-03-04 09:54:28 +00:00
calum
7343e70151
C#: Fix tests
2019-03-04 09:54:12 +00:00
calum
74b30d6071
C#: Model EntityFramework
2019-03-04 09:53:49 +00:00
calum
7010ca8cf3
C#: Fix whitespace in test.
2019-03-04 09:53:37 +00:00
Tom Hvitved
51e5a301cd
Merge pull request #956 from raulgarciamsft/users/raulga/ICryptoTransform
...
Detect usage of ICryptoTransform that would be thread-unsafe
2019-03-01 11:49:27 +01:00
Calum Grant
c945b7793c
Merge pull request #944 from hvitved/csharp/cfg/accessor-call
...
C#: Improve CFG for assignments
2019-02-28 09:34:56 +00:00
Raul Garcia
1ae18974d8
Fixing bugs found during Code Review.
2019-02-27 18:41:23 -08:00
Tom Hvitved
4cbbe37b1e
C#: Updated expected test output
2019-02-27 19:25:14 +01:00
Tom Hvitved
996b0efa47
C#: Address review comments
2019-02-27 13:49:15 +01:00
Tom Hvitved
7027cd36c6
C#: Speedup isGuardedByNode()
2019-02-27 13:29:14 +01:00
Tom Hvitved
72384e57e1
C#: Speedup Assertion::strictlyDominates()
2019-02-27 13:29:14 +01:00