-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Dataflow perf investigations #15444
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 Warning
} | ||
|
||
pragma[nomagic] | ||
private predicate setsInstanceField(Field f, Node qualifier, BasicBlock bb) { |
Check warning
Code scanning / CodeQL
Dead code Warning
} | ||
|
||
pragma[nomagic] | ||
private predicate isInstanceFieldSetter(Method m, ArgumentPosition apos, Field f) { |
Check warning
Code scanning / CodeQL
Dead code Warning
) | ||
} | ||
|
||
private predicate sdf(Field f, Class c) { |
Check warning
Code scanning / CodeQL
Dead code Warning
) | ||
} | ||
|
||
/** A debug predicate for identifying the most busy node in forwards flow. */ |
Check warning
Code scanning / CodeQL
Predicate QLDoc style. Warning
) | ||
} | ||
|
||
/** A debug predicate for identifying the most busy node in reverse flow. */ |
Check warning
Code scanning / CodeQL
Predicate QLDoc style. Warning
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 Warning
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 Warning
in this argument
@@ -33,6 +33,11 @@ | |||
result.asSummarizedCallable().getACall() = c.asCall() | |||
} | |||
|
|||
private DataFlowCallable viableCallable(DataFlowCall c, int k) { |
Check warning
Code scanning / CodeQL
Dead code Warning
@@ -122,6 +127,26 @@ | |||
mayBenefitFromCallContext(call.asCall(), _, _) | |||
} | |||
|
|||
private DataFlowCallable testviableImplInCallContext(DataFlowCall call, DataFlowCall ctx) { |
Check warning
Code scanning / CodeQL
Dead code Warning
} | ||
|
||
pragma[nomagic] | ||
private predicate foo(DataFlowCall call, DataFlowCall ctx1, DataFlowCall ctx2) { |
Check warning
Code scanning / CodeQL
Dead code Warning
) | ||
} | ||
|
||
private DataFlowCallable testviableImplInCallContext( |
Check warning
Code scanning / CodeQL
Dead code Warning
@@ -365,6 +408,12 @@ | |||
erasedHaveIntersection(t1, t2) | |||
} | |||
|
|||
private predicate sdef(DataFlowType t1, DataFlowType t2) { |
Check warning
Code scanning / CodeQL
Dead code Warning
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 Warning
@@ -33,6 +33,16 @@ | |||
result.asSummarizedCallable().getACall() = c.asCall() | |||
} | |||
|
|||
private DataFlowCallable testviableCallable(DataFlowCall c) { |
Check warning
Code scanning / CodeQL
Dead code Warning
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 Warning
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 Warning
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 Warning
in this argument
) { | ||
exists(ReturnKindExt kind | | ||
exists(DataFlowCall call, ReturnKindExt kind | |
Check warning
Code scanning / CodeQL
Omittable 'exists' variable Warning
No description provided.