-
Notifications
You must be signed in to change notification settings - Fork 35
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
Adjust to upcoming compiler change #611
Conversation
The `.inferred` field is being removed in [1], so delete the assertion. [1] JuliaLang/julia#53219
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #611 +/- ##
==========================================
- Coverage 85.06% 82.77% -2.30%
==========================================
Files 12 12
Lines 2537 2397 -140
==========================================
- Hits 2158 1984 -174
- Misses 379 413 +34 ☔ View full report in Codecov by Sentry. |
@@ -68,7 +68,6 @@ function optimize!(code::CodeInfo, scope) | |||
mod = moduleof(scope) | |||
evalmod = mod == Core.Compiler ? Core.Compiler : CompiledCalls | |||
sparams = scope isa Method ? sparam_syms(scope) : Symbol[] | |||
code.inferred && error("optimization of inferred code not implemented") |
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 wondered if we can replace the condition of this assertion with this one:
code.slottypes !== nothing && error("optimization of inferred code not implemented")
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.
And the same for LoweredCodeUtils.jl too.
When we use options like code coverage, we can't use the native code present in the cache file since it is not instrumented. PR #52123 introduced the capability of skipping the native code during loading, but created the issue that subsequent packages could have an explicit or implicit dependency on the native code. PR #53439 tainted the current process by setting `use_sysimage_native_code`, but this flag is propagated to subprocesses and lead to a regression in test time. Move this to a process local flag to avoid the regression. In the future we might be able to change the calling convention for cross-image calls to `invoke(ci::CodeInstance, args...)` instead of `ci.fptr(args...)` to handle native code not being present. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com>
The
.inferred
field is being removed in [1], so delete the assertion.[1] JuliaLang/julia#53219