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

Backports release 1.10 #52503

Merged
merged 11 commits into from
Dec 17, 2023
Merged

Backports release 1.10 #52503

merged 11 commits into from
Dec 17, 2023

Conversation

ranocha and others added 8 commits December 12, 2023 13:13
Related to #52134. It would be nice if the underlying inference issue
was fixed but this seems to be a hotfix for now.

I have seen this inference problem occurring in Julia v1.9, v1.10, and
current `master`. For example, on Julia v1.9.3, I get

```julia

julia> code_warntype(ismutable, (Function,))
MethodInstance for ismutable(::Function)
  from ismutable(x) @ Base reflection.jl:521
Arguments
  #self#::Core.Const(ismutable)
  x::Function
Body::Any
1 ─      nothing
│        nothing
│   %3 = Base.typeof(x)::Type{<:Function}
│   %4 = Base.getproperty(%3, :name)::Any
│   %5 = Base.getproperty(%4, :flags)::Any
│   %6 = (%5 & 0x02)::Any
│   %7 = (%6 == 0x02)::Any
└──      return %7
```

This causes some invalidations when `using OrdinaryDiffEq`.

(cherry picked from commit df40bab)
Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de>
(cherry picked from commit 53f1eb8)
Channel `iterate` calls might miss trailing items without this patch. I
have not seen proof of this reaching a failure, but we do appear to be
missing this ordering specification in visual review.

Should not make a difference to generated code on x86, which already has
TSO guaranteed, but may alter optimizations and other CPUs with weaker
memory orderings.

(cherry picked from commit 856e112)
This dependency seems to be superfluous, and `Pkg` brings lots of
dependencies into the project (Downloads, LibGit2, etc.) which makes it
hard to create leaner binary packages via `PackageCompiler` for projects
that depend on `SuiteSparse_jll`.

(cherry picked from commit 3b9c39a)
Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com>
(cherry picked from commit bf6c31c)
@KristofferC KristofferC added the kind:release Release management and versioning. label Dec 12, 2023
d-netto and others added 2 commits December 12, 2023 13:20
Supersedes #51061 and
#51414.

Still needs more perf analysis.

(cherry picked from commit e26c257)
(cherry picked from commit 641f717)
@KristofferC
Copy link
Sponsor Member Author

@nanosoldier runtests()

@nanosoldier
Copy link
Collaborator

The package evaluation job you requested has completed - possible new issues were detected.
The full report is available.

What observed in #52531 is that `QuoteNode` can embed global variables
that users can modify. Therefore, when dealing with `QuoteNode`, it's
necessary to taint its `:inaccessiblememonly` just like we do for
`GlobalRef`.

- fixes #52531
- replaces #52536
@KristofferC KristofferC merged commit e27685f into release-1.10 Dec 17, 2023
9 checks passed
@KristofferC KristofferC deleted the backports-release-1.10 branch December 17, 2023 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:release Release management and versioning.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet