-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
fix effect_free computation over getfield #18017
Conversation
osx travis got stuck, log backed up to https://gist.github.com/a62ec9f360ea4b4c8a8cdaec465b52dd and restarted |
# first argument must be immutable to ensure e is affect_free | ||
a = ea[2] | ||
typ = widenconst(exprtype(a, linfo)) | ||
if !isa(typ, DataType) || typ.mutable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we might need || typ.abstract
here.
Yes that part looks right to me. |
afa53b5
to
72a13ed
Compare
Expand docs on enumerate's relationship with indexing
It looks like this caused some pretty major performance regressions. https://github.com/JuliaCI/BaseBenchmarkReports/blob/1ea0d8c99a047f5d72c9d2aa70af49ccc8ab5463/c48d203_vs_b80dad4/report.md is mostly fine at c48d203, https://github.com/JuliaCI/BaseBenchmarkReports/blob/ec71a5c4cb488dde420d1908f81b7b66524630c8/a0d75a4_vs_b80dad4/report.md is bad at a0d75a4 |
Can we try to use this super awesome benchmark tool a bit more frequently. A run doesn't take that long. Saves @tkelman from manually having to bisect performance regressions. |
fixes regression caused by #18017
I agree. Running benchmarks on every commit is starting to get urgent. If it takes too long or we don't have enough resources, we should run a reduced version of the suite. Running on every commit is much more important than having perfect coverage. |
fix more of the #18017 regression
fixes regression caused by JuliaLang#18017
fix #18015
@JeffBezanson this also fixes the bug you noted where inlineable was passing the wrong
sv
toeffect_free
. It would be appreciated if you could verify I've picked the right linfo to pass in each case.