-
-
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
Backports release 1.11 #55936
Backports release 1.11 #55936
Commits on Sep 30, 2024
-
Mmap: fix grow! for non file IOs (#55849)
Fixes #54203 Requires #55641 Based on #55641 (comment) cc. @JakeZw @ronisbr --------- Co-authored-by: Jameson Nash <[email protected]> (cherry picked from commit b0db75d)
Configuration menu - View commit details
-
Copy full SHA for 050ecea - Browse repository at this point
Copy the full SHA 050eceaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f46099 - Browse repository at this point
Copy the full SHA 5f46099View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c2f533 - Browse repository at this point
Copy the full SHA 7c2f533View commit details -
Fix some corner cases of
isapprox
with unsigned integers (#55828)(cherry picked from commit e4b29f7)
Configuration menu - View commit details
-
Copy full SHA for 969d816 - Browse repository at this point
Copy the full SHA 969d816View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb8845f - Browse repository at this point
Copy the full SHA eb8845fView commit details -
inference: add missing
TypeVar
handling forinstanceof_tfunc
(#55884) I thought these sort of problems had been addressed by d60f92c, but it seems some were missed. Specifically, `t.a` and `t.b` from `t::Union` could be `TypeVar`, and if they are passed to a subroutine or recursed without being unwrapped or rewrapped, errors like #55882 could occur. This commit resolves the issue by calling `unwraptv` in the `Union` handling within `instanceof_tfunc`. I also found a similar issue inside `nfields_tfunc`, so that has also been fixed, and test cases have been added. While I haven't been able to make up a test case specifically for the fix in `instanceof_tfunc`, I have confirmed that this commit certainly fixes the issue reported in #55882. - fixes #55882 (cherry picked from commit 4b27a16)
Configuration menu - View commit details
-
Copy full SHA for 4f26286 - Browse repository at this point
Copy the full SHA 4f26286View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73d43af - Browse repository at this point
Copy the full SHA 73d43afView commit details -
do not intentionally suppress errors in precompile script from being …
Configuration menu - View commit details
-
Copy full SHA for b3181b8 - Browse repository at this point
Copy the full SHA b3181b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4c3a19 - Browse repository at this point
Copy the full SHA a4c3a19View commit details -
KristofferC committed
Sep 30, 2024 Configuration menu - View commit details
-
Copy full SHA for 2b28354 - Browse repository at this point
Copy the full SHA 2b28354View commit details -
Configuration menu - View commit details
-
Copy full SHA for 108bd2e - Browse repository at this point
Copy the full SHA 108bd2eView commit details
Commits on Oct 1, 2024
-
TOML: Avoid type-pirating
Base.TOML.Parser
(#55892)Since stdlibs can be duplicated but Base never is, `Base.require_stdlib` makes type piracy even more complicated than it normally would be. To adapt, this changes `TOML.Parser` to be a type defined by the TOML stdlib, so that we can define methods on it without committing type-piracy and avoid problems like Pkg.jl#4017 Resolves JuliaLang/Pkg.jl#4017 (comment) (cherry picked from commit 2a2878c)
Configuration menu - View commit details
-
Copy full SHA for d5e8e1f - Browse repository at this point
Copy the full SHA d5e8e1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 23b7de6 - Browse repository at this point
Copy the full SHA 23b7de6View commit details -
Limit
@inbounds
to indexing in the dual-iterator branch in `copyto_……unaliased!` (#55919) This simplifies the `copyto_unalised!` implementation where the source and destination have different `IndexStyle`s, and limits the `@inbounds` to only the indexing operation. In particular, the iteration over `eachindex(dest)` is not marked as `@inbounds` anymore. This seems to help with performance when the destination uses Cartesian indexing. Reduced implementation of the branch: ```julia function copyto_proposed!(dest, src) axes(dest) == axes(src) || throw(ArgumentError("incompatible sizes")) iterdest, itersrc = eachindex(dest), eachindex(src) for (destind, srcind) in zip(iterdest, itersrc) @inbounds dest[destind] = src[srcind] end dest end function copyto_current!(dest, src) axes(dest) == axes(src) || throw(ArgumentError("incompatible sizes")) iterdest, itersrc = eachindex(dest), eachindex(src) ret = iterate(iterdest) @inbounds for a in src idx, state = ret::NTuple{2,Any} dest[idx] = a ret = iterate(iterdest, state) end dest end function copyto_current_limitinbounds!(dest, src) axes(dest) == axes(src) || throw(ArgumentError("incompatible sizes")) iterdest, itersrc = eachindex(dest), eachindex(src) ret = iterate(iterdest) for isrc in itersrc idx, state = ret::NTuple{2,Any} @inbounds dest[idx] = src[isrc] ret = iterate(iterdest, state) end dest end ``` ```julia julia> a = zeros(40000,4000); b = rand(size(a)...); julia> av = view(a, UnitRange.(axes(a))...); julia> @Btime copyto_current!($av, $b); 617.704 ms (0 allocations: 0 bytes) julia> @Btime copyto_current_limitinbounds!($av, $b); 304.146 ms (0 allocations: 0 bytes) julia> @Btime copyto_proposed!($av, $b); 240.217 ms (0 allocations: 0 bytes) julia> versioninfo() Julia Version 1.12.0-DEV.1260 Commit 4a4ca9c (2024-09-28 01:49 UTC) Build Info: Official https://julialang.org release Platform Info: OS: Linux (x86_64-linux-gnu) CPU: 8 × Intel(R) Core(TM) i5-10310U CPU @ 1.70GHz WORD_SIZE: 64 LLVM: libLLVM-18.1.7 (ORCJIT, skylake) Threads: 1 default, 0 interactive, 1 GC (on 8 virtual cores) Environment: JULIA_EDITOR = subl ``` I'm not quite certain why the proposed implementation here (`copyto_proposed!`) is even faster than `copyto_current_limitinbounds!`. In any case, `copyto_proposed!` is easier to read, so I'm not complaining. This fixes #53158 (cherry picked from commit 06e7b9d)
Configuration menu - View commit details
-
Copy full SHA for 9cb1ea6 - Browse repository at this point
Copy the full SHA 9cb1ea6View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb5cd2a - Browse repository at this point
Copy the full SHA cb5cd2aView commit details