-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Dataflow perf investigations #15444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Dataflow perf investigations #15444
Conversation
} | ||
|
||
pragma[nomagic] | ||
private predicate isExactArgument(ArgumentNode arg, BasicBlock bb, Method m, ArgumentPosition apos) { |
Check warning
Code scanning / CodeQL
Dead code
} | ||
|
||
pragma[nomagic] | ||
private predicate setsInstanceField(Field f, Node qualifier, BasicBlock bb) { |
Check warning
Code scanning / CodeQL
Dead code
} | ||
|
||
pragma[nomagic] | ||
private predicate isInstanceFieldSetter(Method m, ArgumentPosition apos, Field f) { |
Check warning
Code scanning / CodeQL
Dead code
) | ||
} | ||
|
||
private predicate sdf(Field f, Class c) { |
Check warning
Code scanning / CodeQL
Dead code
) | ||
} | ||
|
||
/** A debug predicate for identifying the most busy node in forwards flow. */ |
Check warning
Code scanning / CodeQL
Predicate QLDoc style.
) | ||
} | ||
|
||
/** A debug predicate for identifying the most busy node in reverse flow. */ |
Check warning
Code scanning / CodeQL
Predicate QLDoc style.
b4b45d6
to
069406e
Compare
/** | ||
* Holds if forward flow with access path `tail` and type `t1` reaches a | ||
* store of `c` on a container of type `t2` resulting in access path | ||
* `cons`. | ||
*/ | ||
pragma[nomagic] | ||
private predicate fwdFlowConsCand(Typ t2, Ap cons, Content c, Typ t1, Ap tail) { | ||
fwdFlowStore(_, t1, tail, c, t2, _, _, _, _, _, _) and | ||
private predicate fwdFlowConsCandNoStrenght( |
Check warning
Code scanning / CodeQL
Misspelling
73da939
to
147f854
Compare
pragma[nomagic] | ||
additional predicate nodeMayFlowThrough(ParamNode p, Ap argAp, NodeEx node, Ap ap) { | ||
// revFlow(node, _, TReturnCtxMaybeFlowThrough(_), _, ap) | ||
exists(ApOption argApO, ReturnPosition pos, Ap returnAp, ApOption returnApO | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable
@@ -33,6 +33,11 @@ | |||
result.asSummarizedCallable().getACall() = c.asCall() | |||
} | |||
|
|||
private DataFlowCallable viableCallable(DataFlowCall c, int k) { |
Check warning
Code scanning / CodeQL
Dead code
@@ -122,6 +127,26 @@ | |||
mayBenefitFromCallContext(call.asCall(), _, _) | |||
} | |||
|
|||
private DataFlowCallable testviableImplInCallContext(DataFlowCall call, DataFlowCall ctx) { |
Check warning
Code scanning / CodeQL
Dead code
} | ||
|
||
pragma[nomagic] | ||
private predicate foo(DataFlowCall call, DataFlowCall ctx1, DataFlowCall ctx2) { |
Check warning
Code scanning / CodeQL
Dead code
) | ||
} | ||
|
||
private DataFlowCallable testviableImplInCallContext( |
Check warning
Code scanning / CodeQL
Dead code
@@ -365,6 +408,12 @@ | |||
erasedHaveIntersection(t1, t2) | |||
} | |||
|
|||
private predicate sdef(DataFlowType t1, DataFlowType t2) { |
Check warning
Code scanning / CodeQL
Dead code
147f854
to
f8347e9
Compare
sanitizer instanceof PathInjectionSanitizer | ||
sanitizer instanceof PathInjectionSanitizer or | ||
sanitizer.getLocation().getFile().getBaseName() = | ||
[/*"BaseObject.java", "SimpleNode.java",*/ "Context.java"] |
Check warning
Code scanning / CodeQL
Singleton set literal
@@ -33,6 +33,16 @@ | |||
result.asSummarizedCallable().getACall() = c.asCall() | |||
} | |||
|
|||
private DataFlowCallable testviableCallable(DataFlowCall c) { |
Check warning
Code scanning / CodeQL
Dead code
private module Stage3 = MkStage<Stage2_5>::Stage<Stage3Param>; | ||
|
||
// private predicate mostBusyNodeFwd3 = Stage3::mostBusyNodeFwd/10; | ||
private predicate mostBusyNodeFwd3_5 = Stage3_5::mostBusyNodeFwd/10; |
Check warning
Code scanning / CodeQL
Dead code
private predicate mostBusyNodeFwd3_5 = Stage3_5::mostBusyNodeFwd/10; | ||
|
||
// private predicate mostBusyNodeFwd4 = Stage4::mostBusyNodeFwd/10; | ||
private predicate mostBusyNodeFwd5 = Stage5::mostBusyNodeFwd/10; |
Check warning
Code scanning / CodeQL
Dead code
ArgTyp argT, Ap argAp, ApApprox argApa, Typ t, TypOption origT, Ap ap, ApApprox apa, | ||
boolean allowsFieldFlow | ||
) { | ||
exists(DataFlowCall call, RetNodeEx ret | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable
) { | ||
exists(ReturnKindExt kind | | ||
exists(DataFlowCall call, ReturnKindExt kind | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable
No description provided.