Skip to content
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

inference: make limit::Int as a caching key of CachedMethodTable #46799

Merged
merged 1 commit into from
Sep 17, 2022

Conversation

aviatesk
Copy link
Sponsor Member

Sometimes Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int) is called with different limit setting (in particularity return_type_tfunc calls it with limit=-1). The query should return different results given different limit settings, so its cache should also have different keys per different limit settings.

fix #46722

Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)`
is called with different `limit` setting (in particularity
`return_type_tfunc` calls it with `limit=-1`). The query should return
different results given different `limit` settings, so its cache should
also have different keys per different `limit` settings.

fix #46722
@aviatesk aviatesk added compiler:inference Type inference backport 1.8 Change should be backported to release-1.8 labels Sep 16, 2022
@aviatesk
Copy link
Sponsor Member Author

@nanosoldier runbenchmarks("inference", vs=":master")

@nanosoldier
Copy link
Collaborator

Your benchmark job has completed - no performance regressions were detected. A full report can be found here.

@aviatesk aviatesk merged commit e24dd3b into master Sep 17, 2022
@aviatesk aviatesk deleted the avi/46722 branch September 17, 2022 02:59
aviatesk added a commit that referenced this pull request Sep 17, 2022
…46799)

Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)`
is called with different `limit` setting (in particularity
`return_type_tfunc` calls it with `limit=-1`). The query should return
different results given different `limit` settings, so its cache should
also have different keys per different `limit` settings.

fix #46722
@aviatesk aviatesk mentioned this pull request Sep 17, 2022
28 tasks
@aviatesk aviatesk removed the backport 1.8 Change should be backported to release-1.8 label Sep 17, 2022
@giordano
Copy link
Contributor

Isn't there any test that could be added?

@aviatesk
Copy link
Sponsor Member Author

#46818

KristofferC pushed a commit that referenced this pull request Sep 19, 2022
…46799)

Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)`
is called with different `limit` setting (in particularity
`return_type_tfunc` calls it with `limit=-1`). The query should return
different results given different `limit` settings, so its cache should
also have different keys per different `limit` settings.

fix #46722
KristofferC pushed a commit that referenced this pull request Sep 19, 2022
…46799)

Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)`
is called with different `limit` setting (in particularity
`return_type_tfunc` calls it with `limit=-1`). The query should return
different results given different `limit` settings, so its cache should
also have different keys per different `limit` settings.

fix #46722
aviatesk added a commit that referenced this pull request Dec 9, 2022
…46799)

Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)`
is called with different `limit` setting (in particularity
`return_type_tfunc` calls it with `limit=-1`). The query should return
different results given different `limit` settings, so its cache should
also have different keys per different `limit` settings.

fix #46722
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:inference Type inference
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broadcasting picks wrong method in 1.8.1
4 participants