-
Notifications
You must be signed in to change notification settings - Fork 1.8k
JS: Introduce SharedTaintStep #3603
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
Conversation
What was the point of the Cache in different order commit? |
That was for performance reasons. It seemed to be faster and my theory is:
The A concrete example of this is To support people overriding
But as far as I can tell, there is no way to change this without breaking either the callers or the overriders of |
Superseded by the backlinked PR above. |
Adds the
SharedTaintStep
class as discussed in https://github.com/github/codeql-javascript-team/issues/110.This PR first bases it on a unit type, and then towards the end changes it to a string type. The categorization of steps is then evolved a bit more at the end.
Performance is OK.
Some previous experimental results that are not quite up-to-date with this PR or the performance PRs that landed separately in the meantime.
FlowLabel.isSharedStep
trick reduced tuple counts but caused a regression in real time anyway.Some points to discuss: