Skip to content

JavaScript: Make access paths more reusable#3980

Closed
max-schaefer wants to merge 6 commits intogithub:mainfrom
max-schaefer:make-access-paths-more-reusable
Closed

JavaScript: Make access paths more reusable#3980
max-schaefer wants to merge 6 commits intogithub:mainfrom
max-schaefer:make-access-paths-more-reusable

Conversation

@max-schaefer
Copy link
Contributor

As discussed, this factors out a few reusable predicates from the access-path computation. The API graphs currently don't use this yet, so there is no particular rush to merge this, I just wanted to put it up for visibility and discussion.

An evaluation (internal link) shows a slight performance degradation. The massive apparent slowdown on gecko for the first run was due to the base SHA timing out on definitions.ql and the tip SHA timing out on a later query; on rerun, both timed out on definitions.ql.

@max-schaefer max-schaefer requested a review from asgerf July 27, 2020 10:51
@max-schaefer max-schaefer requested a review from a team as a code owner July 27, 2020 10:51
Copy link
Contributor

@asgerf asgerf left a comment

Choose a reason for hiding this comment

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

Thanks! LGTM apart from the one comment.

The test failure is probably due to line number shifting.

*/
cached
predicate rhs2rhs(DataFlow::Node pred, DataFlow::Node succ, string step) {
any(DataFlow::PropWrite pw).writes(pred, step, succ)
Copy link
Contributor

Choose a reason for hiding this comment

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

This predicate seems to be identical to ref2rhs.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, yes; I suppose that isn't really very useful. I'll remove it.

@max-schaefer
Copy link
Contributor Author

Thanks for the review, @asgerf! Comments addressed.

@adityasharad adityasharad changed the base branch from master to main August 14, 2020 18:33
@max-schaefer
Copy link
Contributor Author

Looks like we won't immediately need this, so closing for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants