Skip to content

Conversation

@aschackmull
Copy link
Contributor

This prunes the dispatch flow steps based on types. On jdk9 this reduces the set of call-callee pairs that are validated by dispatch flow from 460992 to 434463 (out of 1022290 candidate pairs for which dispatch flow is applied). The first commit contains the actual change, and the second commit just reorders the predicates.

@aschackmull aschackmull requested a review from a team as a code owner September 28, 2018 12:35
}

/** Holds if `t` is a type that is relevant for dispatch flow. */
predicate relevant(RefType t) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the added predicate and class perhaps remain private implementation details, or are they intended to be used elsewhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, they should indeed be private. Fixed.

@semmle-qlci semmle-qlci merged commit 03f2d8f into github:master Oct 4, 2018
@aschackmull aschackmull deleted the java/dispatchflow-typepruning branch October 5, 2018 07:05
aibaars pushed a commit that referenced this pull request Oct 14, 2021
smowton pushed a commit to smowton/codeql that referenced this pull request Feb 7, 2022
MathiasVP added a commit to MathiasVP/ql that referenced this pull request Aug 10, 2025
…odes

PS: Add `Node.getCallee` predicate on `DataFlow::CallNode`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants