https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
48d4fd4 set VERSION to 1.10.4 (#54625) 04 June 2024, 10:41:39 UTC
d2ea484 backport: fix missing uuid check on extension when finding the location of an extension (#54658) (#54663) 04 June 2024, 10:26:25 UTC
61f9847 backport 1.10: create phantom task for GC threads (#53815) (#54632) A common idiom used throughout the codebase is to get a pointer to thread-local-state through `jl_current_task->ptls`. Create a phantom task for GC threads so that we can make use of this idiom when running in the GC threads as well. Idea originally suggested by @vchuravy, bugs are mine. (cherry picked from commit 9636ef72eebe0155710471fb79eb5c75cc26949b) Co-authored-by: Diogo Netto <61364108+d-netto@users.noreply.github.com> Co-authored-by: Max Horn <max@quendi.de> 31 May 2024, 14:55:27 UTC
a5540b3 Backports for 1.10.4 (#54416) Backported PRs: - [x] #54010 <!-- Overload `Base.literal_pow` for `AbstractQ` --> - [x] #54143 <!-- Fix `make install` from tarballs --> - [x] #54151 <!-- LinearAlgebra: Correct zero element in `_generic_matvecmul!` for block adj/trans --> - [x] #54233 <!-- set MAX_OS_WRITE on unix --> - [x] #54251 <!-- fix typo in gc_mark_memory8 when chunking a large array --> - [x] #54363 <!-- typeintersect: fix another stack overflow caused by circular constraints --> - [x] #54497 <!-- Make TestLogger thread-safe (introduce a lock) --> - [x] #53796 <!-- Add a missing doc --> - [x] #54465 <!-- typeintersect: conservative typevar subtitution during `finish_unionall` --> - [x] #54514 <!-- typeintersect: followup cleanup for the nothrow path of type instantiation --> Need manual backport: - [ ] #52505 <!-- fix alignment of emit_unbox_store copy --> - [ ] #53373 <!-- fix sysimage-native-code=no option with pkgimages --> - [ ] #53815 <!-- create phantom task for GC threads --> - [ ] #53984 <!-- Profile: fix heap snapshot is valid char check --> - [ ] #54276 <!-- Fix solve for complex `Hermitian` with non-vanishing imaginary part on diagonal --> Contains multiple commits, manual intervention needed: - [ ] #52854 <!-- Change to streaming out the heap snapshot data --> - [ ] #53218 <!-- Fix interpreter_exec.jl test --> - [ ] #53833 <!-- Profile: make heap snapshots viewable in vscode viewer --> - [ ] #54303 <!-- LinearAlgebra: improve type-inference in Symmetric/Hermitian matmul --> - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> Non-merged PRs with backport label: - [ ] #54471 <!-- Actually setup jit targets when compiling packageimages instead of targeting only one --> - [ ] #53452 <!-- RFC: allow Tuple{Union{}}, returning Union{} --> - [ ] #51479 <!-- prevent code loading from lookin in the versioned environment when building Julia --> 30 May 2024, 09:07:26 UTC
7ebe203 typeintersect: followup cleanup for the nothrow path of type instantiation (#54514) (cherry picked from commit af545b90c5657e0e210aa638542052e16ca90fef) 28 May 2024, 17:06:58 UTC
c81d02c typeintersect: conservative typevar subtitution during `finish_unionall` (#54465) (cherry picked from commit a946631240cc085c883e38b6a69c4ae01c715414) 28 May 2024, 17:06:58 UTC
007d8de Set storage class of julia globals to dllimport on windows to avoid auto-import weirdness (#54572) Fixes https://github.com/JuliaLang/julia/issues/54550 on 1.10. Master will require a similar but different PR. Co-authored-by: Keno Fischer <keno@juliacomputing.com> Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> 28 May 2024, 14:34:27 UTC
7eeeb56 Add a missing doc (#53796) (cherry picked from commit 0c65f6ffde9b555b0fd04c54411e287b63ff98a4) 27 May 2024, 08:03:45 UTC
94bef5d Make TestLogger thread-safe (introduce a lock) (#54497) Fixes https://github.com/JuliaLang/julia/issues/54439. - Lock around concurrent accesses to .logs, .message_limits, and .shouldlog_args. - Copy the vector out of the logger at the end, to shield against dangling Tasks. Before: ```julia julia> Threads.nthreads() 8 julia> function foo(n) @info "Doing foo with n=$n" @sync for i=1:n Threads.@spawn @info "Iteration $i" end 42 end foo (generic function with 1 method) julia> for _ in 1:1000 @test_logs (:info,"Doing foo with n=10000") match_mode=:any foo(10_000) end julia+RAI(56155,0x1f5157ac0) malloc: double free for ptr 0x128248000 julia+RAI(56155,0x1f5157ac0) malloc: *** set a breakpoint in malloc_error_break to debug [56155] signal (6): Abort trap: 6 in expression starting at REPL[8]:1 signal (6) thread (1) __pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line) Allocations: 54370881 (Pool: 54363911; Big: 6970); GC: 119 [1] 56154 abort julia -tauto ``` After: ```julia julia> Threads.nthreads() 8 julia> function foo(n) @info "Doing foo with n=$n" @sync for i=1:n Threads.@spawn @info "Iteration $i" end 42 end foo (generic function with 1 method) julia> for _ in 1:1000 @test_logs (:info,"Doing foo with n=10000") match_mode=:any foo(10_000) end ``` (no crash) :) (cherry picked from commit 0437210b2834146396f1dac75c062932bd8f471a) 27 May 2024, 08:03:45 UTC
e1b2099 Fix an off-by-one error in interpreter's `do_invoke` (#54443) 25 May 2024, 17:37:44 UTC
1b21830 typeintersect: fix another stack overflow caused by circular constraints (#54363) The added MWE has been broken since 1.8. The intersect result still looks quite unsoundness, but at least stack overflow get fixed. close #54356 (cherry picked from commit e47fedd49369eaeafd2dc3d3a3ebf89db80586ce) 25 May 2024, 17:37:44 UTC
f752249 fix typo in gc_mark_memory8 when chunking a large array (#54251) Should fix https://github.com/JuliaLang/julia/issues/54247. - Before: ``` Julia Version 1.12.0-DEV.410 Commit 0735854ab3* (2024-04-25 14:35 UTC) Platform Info: OS: macOS (arm64-apple-darwin23.4.0) CPU: 12 × Apple M2 Max WORD_SIZE: 64 LLVM: libLLVM-16.0.6 (ORCJIT, apple-m2) Threads: 8 default, 0 interactive, 4 GC (on 8 virtual cores) ***** Vector ***** serial: 0.607365 seconds (3 allocations: 381.470 MiB, 0.22% gc time) serial: 0.597241 seconds (3 allocations: 381.470 MiB, 1.18% gc time) serial: 0.589679 seconds (3 allocations: 381.470 MiB, 1.21% gc time) serial: 0.581607 seconds (3 allocations: 381.470 MiB, 0.97% gc time) serial: 0.578147 seconds (3 allocations: 381.470 MiB, 0.96% gc time) serial: 0.577399 seconds (3 allocations: 381.470 MiB, 0.94% gc time) serial: 0.564742 seconds (3 allocations: 381.470 MiB, 0.93% gc time) serial: 0.591733 seconds (3 allocations: 381.470 MiB, 0.90% gc time) serial: 0.565088 seconds (3 allocations: 381.470 MiB, 0.97% gc time) serial: 0.556800 seconds (3 allocations: 381.470 MiB, 0.94% gc time) parallel: 0.563600 seconds (3.33 k allocations: 381.640 MiB, 0.10% gc time, 0.94% compilation time) parallel: 0.564652 seconds (9 allocations: 381.470 MiB, 1.02% gc time) parallel: 0.581996 seconds (9 allocations: 381.470 MiB, 0.95% gc time) parallel: 0.576503 seconds (9 allocations: 381.470 MiB, 0.90% gc time) parallel: 0.565595 seconds (9 allocations: 381.470 MiB, 0.94% gc time) parallel: 0.575850 seconds (9 allocations: 381.470 MiB, 0.95% gc time) parallel: 0.604621 seconds (9 allocations: 381.470 MiB, 0.91% gc time) parallel: 0.578168 seconds (9 allocations: 381.470 MiB, 0.91% gc time) parallel: 0.600408 seconds (9 allocations: 381.470 MiB, 0.92% gc time) parallel: 0.576794 seconds (9 allocations: 381.470 MiB, 0.95% gc time) ***** Astruct ***** serial: 0.659020 seconds (3 allocations: 762.940 MiB, 0.18% gc time) serial: 0.674630 seconds (3 allocations: 762.940 MiB, 1.63% gc time) serial: 0.670532 seconds (3 allocations: 762.940 MiB, 1.86% gc time) serial: 0.682483 seconds (3 allocations: 762.940 MiB, 1.57% gc time) serial: 0.673673 seconds (3 allocations: 762.940 MiB, 1.62% gc time) serial: 0.652506 seconds (3 allocations: 762.940 MiB, 1.72% gc time) serial: 0.667336 seconds (3 allocations: 762.940 MiB, 1.69% gc time) serial: 0.659686 seconds (3 allocations: 762.940 MiB, 1.76% gc time) serial: 0.673387 seconds (3 allocations: 762.940 MiB, 1.73% gc time) serial: 0.668930 seconds (3 allocations: 762.940 MiB, 1.67% gc time) parallel: 0.646382 seconds (3.42 k allocations: 763.114 MiB, 0.09% gc time, 0.77% compilation time) parallel: 0.665347 seconds (9 allocations: 762.940 MiB, 1.70% gc time) parallel: 0.676490 seconds (9 allocations: 762.940 MiB, 1.84% gc time) parallel: 22.732728 seconds (9 allocations: 762.940 MiB, 97.12% gc time) parallel: 22.668091 seconds (9 allocations: 762.940 MiB, 97.15% gc time) parallel: 0.629117 seconds (9 allocations: 762.940 MiB) parallel: 22.948883 seconds (9 allocations: 762.940 MiB, 97.26% gc time) parallel: 0.629834 seconds (9 allocations: 762.940 MiB) parallel: 1.108239 seconds (9 allocations: 762.940 MiB, 42.54% gc time) parallel: 0.648325 seconds (9 allocations: 762.940 MiB) ``` - After: ``` Julia Version 1.12.0-DEV.410 Commit 0735854ab3* (2024-04-25 14:35 UTC) Platform Info: OS: macOS (arm64-apple-darwin23.4.0) CPU: 12 × Apple M2 Max WORD_SIZE: 64 LLVM: libLLVM-16.0.6 (ORCJIT, apple-m2) Threads: 8 default, 0 interactive, 4 GC (on 8 virtual cores) ***** Vector ***** serial: 0.600418 seconds (3 allocations: 381.470 MiB, 0.20% gc time) serial: 0.613808 seconds (3 allocations: 381.470 MiB, 1.17% gc time) serial: 0.596335 seconds (3 allocations: 381.470 MiB, 1.21% gc time) serial: 0.589423 seconds (3 allocations: 381.470 MiB, 0.92% gc time) serial: 0.621845 seconds (3 allocations: 381.470 MiB, 0.89% gc time) serial: 0.580239 seconds (3 allocations: 381.470 MiB, 0.94% gc time) serial: 0.604881 seconds (3 allocations: 381.470 MiB, 0.90% gc time) serial: 0.581353 seconds (3 allocations: 381.470 MiB, 0.95% gc time) serial: 0.603317 seconds (3 allocations: 381.470 MiB, 0.89% gc time) serial: 0.599634 seconds (3 allocations: 381.470 MiB, 0.90% gc time) parallel: 0.589694 seconds (3.33 k allocations: 381.640 MiB, 0.10% gc time, 1.01% compilation time) parallel: 0.600812 seconds (9 allocations: 381.470 MiB, 0.98% gc time) parallel: 0.610956 seconds (9 allocations: 381.470 MiB, 5.13% gc time) parallel: 0.677189 seconds (9 allocations: 381.470 MiB, 14.26% gc time) parallel: 0.571583 seconds (9 allocations: 381.470 MiB, 1.80% gc time) parallel: 0.742617 seconds (9 allocations: 381.470 MiB, 17.81% gc time) parallel: 0.624541 seconds (9 allocations: 381.470 MiB, 5.02% gc time) parallel: 0.723963 seconds (9 allocations: 381.470 MiB, 14.03% gc time) parallel: 0.609618 seconds (9 allocations: 381.470 MiB) parallel: 0.708227 seconds (9 allocations: 381.470 MiB, 16.29% gc time) ***** Astruct ***** serial: 0.627853 seconds (3 allocations: 762.940 MiB) serial: 0.647795 seconds (3 allocations: 762.940 MiB, 2.14% gc time) serial: 0.640387 seconds (3 allocations: 762.940 MiB, 1.91% gc time) serial: 0.698194 seconds (3 allocations: 762.940 MiB, 1.73% gc time) serial: 0.673018 seconds (3 allocations: 762.940 MiB, 1.68% gc time) serial: 0.641571 seconds (3 allocations: 762.940 MiB, 1.79% gc time) serial: 0.669718 seconds (3 allocations: 762.940 MiB, 1.65% gc time) serial: 0.661993 seconds (3 allocations: 762.940 MiB, 1.73% gc time) serial: 0.661846 seconds (3 allocations: 762.940 MiB, 1.85% gc time) serial: 0.661637 seconds (3 allocations: 762.940 MiB, 1.73% gc time) parallel: 0.645750 seconds (3.42 k allocations: 763.114 MiB, 0.09% gc time, 0.83% compilation time) parallel: 0.653331 seconds (9 allocations: 762.940 MiB, 1.92% gc time) parallel: 0.673813 seconds (9 allocations: 762.940 MiB, 1.80% gc time) parallel: 0.720503 seconds (9 allocations: 762.940 MiB, 9.40% gc time) parallel: 0.889651 seconds (9 allocations: 762.940 MiB, 25.33% gc time) parallel: 0.644618 seconds (9 allocations: 762.940 MiB, 2.26% gc time) parallel: 0.919954 seconds (9 allocations: 762.940 MiB, 28.99% gc time) parallel: 0.750246 seconds (9 allocations: 762.940 MiB, 9.03% gc time) parallel: 0.767282 seconds (9 allocations: 762.940 MiB, 10.55% gc time) parallel: 0.899596 seconds (9 allocations: 762.940 MiB, 25.69% gc time) ``` (cherry picked from commit dc0a4779a8fa9e4150e246fcf46c36b3acce1ce9) 25 May 2024, 17:37:44 UTC
1de708b set MAX_OS_WRITE on unix (#54233) Fixes #54225 (cherry picked from commit b35d3083e10b2161dfcd33a5546fbdbd88d8b25c) 25 May 2024, 17:37:44 UTC
3577557 LinearAlgebra: Correct zero element in `_generic_matvecmul!` for block adj/trans (#54151) Fixes the following issue on master, where the zero element is computed incorrectly (but subsequent terms are computed correctly): ```julia julia> using LinearAlgebra julia> x = [1 2 3; 4 5 6]; julia> A = reshape([x,2x,3x,4x],2,2); julia> b = fill(x, 2); julia> A' * b ERROR: DimensionMismatch: matrix A has axes (Base.OneTo(2),Base.OneTo(3)), matrix B has axes (Base.OneTo(2),Base.OneTo(3)) Stacktrace: [1] _generic_matmatmul!(C::Matrix{Int64}, A::Matrix{Int64}, B::Matrix{Int64}, _add::LinearAlgebra.MulAddMul{true, true, Bool, Bool}) @ LinearAlgebra ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:849 [2] generic_matmatmul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:834 [inlined] [3] _mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:287 [inlined] [4] mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:285 [inlined] [5] mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:253 [inlined] [6] * @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:114 [inlined] [7] _generic_matvecmul!(C::Vector{Matrix{…}}, tA::Char, A::Matrix{Matrix{…}}, B::Vector{Matrix{…}}, _add::LinearAlgebra.MulAddMul{true, true, Bool, Bool}) @ LinearAlgebra ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:797 [8] generic_matvecmul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:755 [inlined] [9] _mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:73 [inlined] [10] mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:70 [inlined] [11] mul! @ ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:253 [inlined] [12] *(A::Adjoint{Adjoint{Int64, Matrix{Int64}}, Matrix{Matrix{Int64}}}, x::Vector{Matrix{Int64}}) @ LinearAlgebra ~/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:60 [13] top-level scope @ REPL[10]:1 Some type information was truncated. Use `show(err)` to see complete types. ``` After this PR, ```julia julia> A' * b 2-element Vector{Matrix{Int64}}: [51 66 81; 66 87 108; 81 108 135] [119 154 189; 154 203 252; 189 252 315] ``` (cherry picked from commit 2b878f009a8771bacc1a71c20b337940c1e9009e) 25 May 2024, 17:37:44 UTC
58cf81e Fix `make install` from tarballs (#54143) This reverts part of 67b8ac0 (https://github.com/JuliaLang/julia/pull/47596#discussion_r1128658139). That change broke `make install` from tarballs due to building docs again, which fails as there's no git repo (and also requires Internet access to download UnicodeData.txt. Fixes #54037. (cherry picked from commit d6dda7c58552f0a8dfb7fb6d5441f69abdd1e99f) 25 May 2024, 17:37:44 UTC
525b3a2 Overload `Base.literal_pow` for `AbstractQ` (#54010) (cherry picked from commit b9aeafa171e13609b3d47f8a1d75d83c0148a991) 25 May 2024, 17:37:44 UTC
b0f607a Add inventory writing via DocumenterInventoryWritingBackport (cherry picked from commit 2d1442fc29507e2d152f5f1ef34296eb41cffad2) 25 May 2024, 17:37:38 UTC
54614fd correctly track freed bytes in array_to_string (#54309) Should fix https://github.com/JuliaLang/julia/issues/54275. 01 May 2024, 18:00:25 UTC
0b4590a set VERSION to 1.10.3 (#54246) 30 April 2024, 10:59:45 UTC
5308c26 Backport GC typo fix to 1.10 (#54299) Co-authored-by: Diogo Netto <61364108+d-netto@users.noreply.github.com> 29 April 2024, 13:04:22 UTC
61adee2 Backport 1.10: Add inventory writing via DocumenterInventoryWritingBackport (#54199) (cherry picked from commit 2d1442fc29507e2d152f5f1ef34296eb41cffad2) Co-authored-by: Michael Goerz <mail@michaelgoerz.net> 23 April 2024, 08:12:59 UTC
c7bceb6 Backports for 1.10.3 (#53714) Backported PRs: - [x] #50759 <!-- Fix outdated usage of scrubbing for log test failures --> - [x] #51830 <!-- Add version string to sysimg triple --> - [x] #53273 <!-- [REPL] Fix typo in using/import completion --> - [x] #53499 <!-- Avoid compiler warning about redefining jl_globalref_t --> - [x] #53424 <!-- yet more atomics & cache-line fixes on work-stealing queue --> - [x] #53596 <!-- build: remove extra .a file --> - [x] #53516 <!-- permit NamedTuple{<:Any, Union{}} to be created --> - [x] #53643 <!-- Bump CSL to 1.1.1 to fix libgomp bug --> - [x] #53655 <!-- Change tbaa of ptr_phi to tbaa_value --> - [x] #53391 <!-- Default to the medium code model in x86 linux --> - [x] #53809 <!-- Add missing GC_POP() in emit_cfunction --> - [x] #53961 <!-- `LazyString` in `LinearAlgebra.checksquare` error message --> - [x] #52913 <!-- Added docstring for Artifacts.jl --> - [x] #53553 <!-- typeintersect: fix `UnionAll` unaliasing bug caused by 22 April 2024, 18:08:03 UTC
5cf5146 Revert "Default to the medium code model in x86 linux (#53391)" This reverts commit 7536f3508d6748fcf47139bce3845af8e3fe7ec0. 16 April 2024, 08:59:39 UTC
b05a4f2 Revert "`LazyString` in `LinearAlgebra.checksquare` error message (#53961)" This reverts commit feceefe1417304feb55b35201dc70cfdb7a3a628. 15 April 2024, 07:03:38 UTC
97b0571 switch JuliaSyntax branch to release-0.4 12 April 2024, 13:24:56 UTC
3b32431 🤖 [backports-release-1.10] Bump the NetworkOptions stdlib from 0bd3345 to 8eec5cb (#54065) Stdlib: NetworkOptions URL: https://github.com/JuliaLang/NetworkOptions.jl.git Stdlib branch: master Julia branch: backports-release-1.10 Old commit: 0bd3345 New commit: 8eec5cb Julia version: 1.10.2 NetworkOptions version: 1.2.0(Does not match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/NetworkOptions.jl/compare/0bd33455cf3c77f2f87bf64167b64611dc5ff128...8eec5cb0acec4591e6db3c017f7499426cd8e352 ``` $ git log --oneline 0bd3345..8eec5cb 8eec5cb Hardcode doc edit backlink (#32) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 12 April 2024, 13:10:23 UTC
ed94319 switch SparseArrays branch to release-1.10 12 April 2024, 12:56:09 UTC
1bf60fe 🤖 [backports-release-1.10] Bump the SHA stdlib from 2d1f84e to e1af7dd (#54063) Stdlib: SHA URL: https://github.com/JuliaCrypto/SHA.jl.git Stdlib branch: release-0.7 Julia branch: backports-release-1.10 Old commit: 2d1f84e New commit: e1af7dd Julia version: 1.10.2 SHA version: 0.7.0(Does not match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaCrypto/SHA.jl/compare/2d1f84e6f8417a1a368de48318640d948b023e7a...e1af7dd0863dee14a83550faf4b6e08971993ce8 ``` $ git log --oneline 2d1f84e..e1af7dd e1af7dd Hardcode doc edit backlink aaf2df6 [test] fix typo 0f70e8b [test] test `AbstractString` input 335322a [test] test branch in `digest!` 5992826 [test] Testing branch within the `HMAC_CTX` constructor 5e3a676 Protect against re-using digested context ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 12 April 2024, 12:48:57 UTC
32b0613 switch SHA branch to release-0.7 12 April 2024, 12:44:24 UTC
e386554 switch ArgTools branch to release-1.10 12 April 2024, 00:46:00 UTC
ba33b12 switch Tar branch to release-1.10 12 April 2024, 00:46:00 UTC
a8eedc6 switch Statistics branch to release-1.10 12 April 2024, 00:46:00 UTC
756c16a 🤖 [backports-release-1.10] Bump the Pkg stdlib from 70525539d to f487626b0 (#54049) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: release-1.10 Julia branch: backports-release-1.10 Old commit: 70525539d New commit: f487626b0 Julia version: 1.10.2 Pkg version: 1.10.0(Does not match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/70525539d3157891445abe806962f780f64143cd...f487626b090b91493828cbcde30eed96fb9f8e8f ``` $ git log --oneline 70525539d..f487626b0 f487626b0 Merge pull request #3868 from JuliaLang/backports-release-1.10 e4a6078a2 prune manifest after the set of some deps have been "demoted" to weakdeps (#3864) 72ba57759 Report failures to download artifacts as failures (#3860) 4ee732f1b why: show more when package is both a direct and indirect dep (#3771) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 12 April 2024, 00:46:00 UTC
8741c1a Added docstring for Artifacts.jl (#52913) This is a part of issue #52725. --------- (cherry picked from commit 15e2af2c917fb6f343fc9973b3fc633e4b6efaea) Co-Authored-By: Steven G. Johnson <stevenj@mit.edu> Co-Authored-By: Max Horn <max@quendi.de> 12 April 2024, 00:46:00 UTC
feceefe `LazyString` in `LinearAlgebra.checksquare` error message (#53961) This reduces dynamic dispatch and makes JET happier. Testing on v1.11: ```julia julia> import LinearAlgebra: checksquare julia> using JET julia> @report_opt checksquare(rand(2,2), rand(2,2)) ═════ 4 possible errors found ═════ ┌ checksquare(::Matrix{Float64}, ::Matrix{Float64}) @ LinearAlgebra /cache/build/builder-amdci4-1/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/LinearAlgebra/src/LinearAlgebra.jl:307 │┌ string(::String, ::Tuple{Int64, Int64}) @ Base ./strings/io.jl:189 ││┌ print_to_string(::String, ::Tuple{Int64, Int64}) @ Base ./strings/io.jl:150 │││┌ _unsafe_take!(io::IOBuffer) @ Base ./iobuffer.jl:494 ││││┌ wrap(::Type{Array}, m::MemoryRef{UInt8}, l::Int64) @ Base ./array.jl:3101 │││││ failed to optimize due to recursion: wrap(::Type{Array}, ::MemoryRef{UInt8}, ::Int64) ││││└──────────────────── │││┌ print_to_string(::String, ::Vararg{Any}) @ Base ./strings/io.jl:143 ││││ runtime dispatch detected: Base._str_sizehint(%17::Any)::Int64 │││└──────────────────── │││┌ print_to_string(::String, ::Vararg{Any}) @ Base ./strings/io.jl:148 ││││ runtime dispatch detected: print(%59::IOBuffer, %97::Any)::Any │││└──────────────────── │││┌ string(::String, ::Int64, ::String, ::Tuple{Int64}, ::String, ::Int64, ::String, ::Int64, ::String) @ Base ./strings/io.jl:189 ││││ failed to optimize due to recursion: string(::String, ::Int64, ::String, ::Tuple{Int64}, ::String, ::Int64, ::String, ::Int64, ::String) │││└──────────────────── julia> function checksquare(A...) # This PR sizes = Int[] for a in A size(a,1)==size(a,2) || throw(DimensionMismatch(lazy"matrix is not square: dimensions are $(size(a))")) push!(sizes, size(a,1)) end return sizes end checksquare (generic function with 2 methods) julia> @report_opt checksquare(rand(2,2), rand(2,2)) No errors detected ``` (cherry picked from commit d505c8cdafa79387139f6cf3bf3aa43f0118c087) 11 April 2024, 12:43:10 UTC
2baebfe Fix the OpenBLAS checksum for Julia 1.10 (#54017) Closes https://github.com/JuliaLang/julia/issues/54015. `diff -r` on the source tree for the original archive vs. the archive that gets downloaded now shows no changes. 10 April 2024, 09:06:47 UTC
c2d480c Fix linear indexing for ReshapedArray if the parent has offset axes (#41232) This PR fixes ```julia julia> r = reshape(Base.IdentityUnitRange(3:4), 2, 1) 2×1 reshape(::Base.IdentityUnitRange{UnitRange{Int64}}, 2, 1) with eltype Int64: 3 4 julia> collect(r) == r false julia> collect(r) 2×1 Matrix{Int64}: 3258125826116431922 3688512103538242609 ``` After this PR, ```julia julia> collect(r) 2×1 Matrix{Int64}: 3 4 ``` (cherry picked from commit 6e3044d46acc90b7ba948bef7bd0c276f5817870) 27 March 2024, 15:42:32 UTC
396f5d1 typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (#53553) typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (cherry picked from commit 56f1c8ae62c07cb940e0c4fc02d5dfac9ec73147) 27 March 2024, 15:40:35 UTC
e44f1ab Add missing GC_POP() in emit_cfunction (#53809) ~~Apparently somewhere in codegen inside `emit_codeinst`some piece of code is relying on the implicit try catch gcstack restoring. I haven't got the analyzer working on that file yet (it has hundreds of issues and it doesn't like C++ code that much + the file is tens of thousands of lines after includes so it struggles).~~ This fixes the compileall segfault in apple-aarch64 ci. https://github.com/JuliaLang/julia/issues/53811 (cherry picked from commit 52fc79696e0b08fe1793a001daaefd1d91d59f0c) 27 March 2024, 15:37:07 UTC
8c6595b Add version string to sysimg triple (#51830) (cherry picked from commit abd00d09ce37c2e1a09efde6bb5a588f7b33cd72) 27 March 2024, 15:34:44 UTC
f6a3c5f Remove some duplicates from emitted compilation traces for Julia 1.10 (#53776) When multiple threads concurrently attempt to compile the same method, `--trace-compile` could emit duplicate `precompile` statements. This small tweak eliminates one source of these duplicates. Backported to 1.10 from https://github.com/JuliaLang/julia/pull/53774. 20 March 2024, 13:28:56 UTC
7536f35 Default to the medium code model in x86 linux (#53391) This shouldn't have any cost on smaller images because the only thing that gets put into ldata is the system image data, which is only reference via `dlsym`. This allows for images larger than 2gb (tested by putting a 2gb array in the base image) I did not test how this might be handled in other platforms (Windows doesn't support it). (cherry picked from commit 0f04b33e01d3139ea103d9153dc442418c206b8a) 18 March 2024, 14:28:46 UTC
77b86fe codegen: change tbaa of ptr_phi to tbaa_value (#53655) Fixes https://github.com/JuliaLang/julia/issues/53612 (cherry picked from commit cb47b01d3eff8da054384bc0c293db8f9f8b2783) 18 March 2024, 14:28:46 UTC
d3c8eb9 gc scheduler synchronization fixes to 1.10 (#53661) Cherry-pick the parts of https://github.com/JuliaLang/julia/pull/53355 which are relevant to the 1.10 GC. 13 March 2024, 09:56:38 UTC
2a49cfe Bump CSL to 1.1.1 to fix libgomp bug (#53643) Resolves https://github.com/JuliaLang/julia/issues/53363 (cherry picked from commit 5c7d24493ebab184d4517ca556314524f4fcb47f) 12 March 2024, 16:25:32 UTC
42477de permit NamedTuple{<:Any, Union{}} to be created (#53516) (cherry picked from commit e9c84c809f6369907f4087e8d823f13c92a93c35) 12 March 2024, 16:25:32 UTC
f191dcb build: remove extra .a file (#53596) fix #53569 (cherry picked from commit b50344fa0a43bf1da7855a3dcd4dacaae65462bb) 12 March 2024, 16:25:32 UTC
996fe30 yet more atomics & cache-line fixes on work-stealing queue (#53424) This regression at a large number of GC threads still shows up on a large aarch64 machine (80-core ARM Neoverse N1). ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3807 │ 2826 │ 2633 │ 193 │ 960 │ 13 │ 892 │ 74 │ │ median │ 3810 │ 2826 │ 2633 │ 193 │ 961 │ 15 │ 892 │ 74 │ │ maximum │ 3810 │ 2831 │ 2638 │ 193 │ 962 │ 27 │ 892 │ 74 │ │ stdev │ 2 │ 3 │ 3 │ 0 │ 1 │ 7 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2455 │ 1476 │ 1350 │ 126 │ 488 │ 20 │ 892 │ 60 │ │ median │ 2459 │ 1478 │ 1352 │ 126 │ 489 │ 23 │ 892 │ 60 │ │ maximum │ 2465 │ 1479 │ 1352 │ 126 │ 489 │ 23 │ 893 │ 60 │ │ stdev │ 5 │ 1 │ 1 │ 0 │ 1 │ 2 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2173 │ 1194 │ 1115 │ 77 │ 463 │ 18 │ 892 │ 54 │ │ median │ 2187 │ 1194 │ 1116 │ 78 │ 463 │ 19 │ 893 │ 55 │ │ maximum │ 2217 │ 1208 │ 1130 │ 78 │ 463 │ 19 │ 893 │ 55 │ │ stdev │ 22 │ 8 │ 8 │ 1 │ 0 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2191 │ 1212 │ 1149 │ 63 │ 539 │ 19 │ 901 │ 55 │ │ median │ 2199 │ 1219 │ 1156 │ 63 │ 540 │ 20 │ 901 │ 55 │ │ maximum │ 2201 │ 1222 │ 1157 │ 65 │ 540 │ 20 │ 901 │ 56 │ │ stdev │ 5 │ 5 │ 4 │ 1 │ 1 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3897 │ 2916 │ 2854 │ 60 │ 1423 │ 20 │ 902 │ 75 │ │ median │ 4012 │ 3032 │ 2972 │ 62 │ 1491 │ 21 │ 904 │ 75 │ │ maximum │ 4026 │ 3106 │ 3044 │ 62 │ 1511 │ 22 │ 904 │ 77 │ │ stdev │ 70 │ 96 │ 96 │ 1 │ 46 │ 1 │ 1 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` This patch seems to improve performance at 16 GC threads though we still have some negative scaling for this benchmark beyond 8 GC threads (others seem fine). I didn't test whether this is indeed the optimal struct layout for the queue in this benchmark. ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3807 │ 2822 │ 2630 │ 193 │ 959 │ 15 │ 892 │ 74 │ │ median │ 3824 │ 2823 │ 2630 │ 193 │ 959 │ 15 │ 892 │ 74 │ │ maximum │ 4307 │ 3194 │ 2974 │ 220 │ 1086 │ 19 │ 892 │ 74 │ │ stdev │ 284 │ 215 │ 199 │ 16 │ 74 │ 2 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2459 │ 1476 │ 1349 │ 126 │ 488 │ 19 │ 892 │ 60 │ │ median │ 2460 │ 1479 │ 1352 │ 127 │ 488 │ 21 │ 893 │ 60 │ │ maximum │ 2770 │ 1661 │ 1526 │ 135 │ 570 │ 22 │ 893 │ 60 │ │ stdev │ 179 │ 106 │ 101 │ 5 │ 47 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2215 │ 1233 │ 1155 │ 77 │ 485 │ 20 │ 892 │ 53 │ │ median │ 2320 │ 1248 │ 1171 │ 78 │ 492 │ 21 │ 893 │ 54 │ │ maximum │ 2372 │ 1259 │ 1176 │ 83 │ 493 │ 22 │ 893 │ 56 │ │ stdev │ 80 │ 13 │ 11 │ 3 │ 5 │ 1 │ 1 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2204 │ 1220 │ 1156 │ 64 │ 544 │ 23 │ 901 │ 53 │ │ median │ 2362 │ 1249 │ 1181 │ 64 │ 553 │ 23 │ 901 │ 53 │ │ maximum │ 2374 │ 1261 │ 1196 │ 68 │ 558 │ 25 │ 901 │ 55 │ │ stdev │ 95 │ 21 │ 20 │ 2 │ 7 │ 1 │ 0 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2502 │ 1519 │ 1458 │ 62 │ 721 │ 22 │ 902 │ 58 │ │ median │ 2511 │ 1524 │ 1461 │ 63 │ 728 │ 23 │ 903 │ 61 │ │ maximum │ 2664 │ 1554 │ 1486 │ 68 │ 741 │ 25 │ 905 │ 61 │ │ stdev │ 91 │ 19 │ 16 │ 3 │ 10 │ 1 │ 2 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` (cherry picked from commit 973b4ff9abb6e12cada196a9c97a96b358275e16) 12 March 2024, 16:25:32 UTC
58b3dcb Avoid compiler warning about redefining jl_globalref_t (#53499) (cherry picked from commit 71f68b4ce9189e64f320631f3f74ffb3dd10e875) 12 March 2024, 16:25:32 UTC
801885f [REPL] Fix typo in using/import completion (#53273) Co-authored-by: Keno Fischer <keno@juliahub.com> (cherry picked from commit b8540d1766e1cec98ddc636febf84cdc60e3d4af) 12 March 2024, 16:25:32 UTC
8952861 Fix outdated usage of scrubbing for log test failures (#50759) Fixes #50755. (cherry picked from commit bb4929d1c3bb4be8ab8512124c6a253f5e1b93fb) 12 March 2024, 16:25:31 UTC
bd47eca set VERSION to 1.10.2 (#53489) 01 March 2024, 10:14:14 UTC
997b49f Backports for 1.10.2 (#53405) Backported PRs: - [x] #53205 <!-- Profile: add notes to `print()` docs --> - [x] #53170 <!-- Remove outdated discussion about externally changing module bindings --> - [x] #53228 <!-- SubArray: avoid invalid elimination of singleton indices --> - [x] #51361 <!-- code_warntype docs: more neutral reference to @code_warntype --> - [x] #50480 <!-- Document --heap-size-hint in Command-line Interface --> - [x] #53301 <!-- Fix typo in `Sys.total_memory` docstring. --> - [x] #53354 <!-- fix code coverage bug in tail position and `else` --> - [x] #53388 <!-- Fix documentation: thread pool of main thread --> - [x] #53429 <!-- Subtype: skip slow-path in `local_∀_∃_subtype` if inputs contain no ∃ typevar. --> - [x] #53437 <!-- Add debug variant of loader_trampolines.o --> Need manual backport: - [ ] #52505 <!-- fix alignment of emit_unbox_store copy --> - [ ] #53373 <!-- fix sysimage-native-code=no option with pkgimages --> - [ ] #53439 <!-- staticdata: fix assert from partially disabled native code --> Contains multiple commits, manual intervention needed: - [ ] #52913 <!-- Added docstring for Artifacts.jl --> - [ ] #53218 <!-- Fix interpreter_exec.jl test --> Non-merged PRs with backport label: - [ ] #53424 <!-- yet more atomics & cache-line fixes on work-stealing queue --> - [ ] #53125 <!-- coverage: count coverage where explicitly requested by inference only --> - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] #51479 <!-- prevent code loading from lookin in the versioned environment when building Julia --> 27 February 2024, 09:19:57 UTC
5d971b9 Add debug variant of loader_trampolines.o (#53437) This prevents a race condition when building 'julia-cli-debug julia-cli-release' simultaneously (as we do for libjulia_jll, and also generally seems appropriate given what is done for all other source files. Motivated by https://github.com/JuliaPackaging/Yggdrasil/pull/8151 so I'll first see if it works there. Closes #45002. (cherry picked from commit fee198beaba675772158ddc5faeeaf76beea612d) 26 February 2024, 13:57:48 UTC
7bfd9f4 Subtype: skip slow-path in `local_∀_∃_subtype` if inputs contain no ∃ typevar. (#53429) This should be safe as ∀ vars' bounds are frozen in env. If there's no ∃ var, then the current env won't change after `local_∀_∃_subtype`. Thus, the slow path should be equivalent to the fast path if the latter returns 1. Close #53371. (cherry picked from commit 37c48e8b11d4742818571405019d80b59fceab49) 26 February 2024, 13:57:48 UTC
8f3304a Fix documentation: thread pool of main thread (#53388) See https://github.com/JuliaLang/julia/issues/53217#issuecomment-1930891907 (cherry picked from commit 8425b0ea03a4cbf4cfb677fb554b19d6a5a0eb03) 26 February 2024, 13:57:48 UTC
5ae8707 code_warntype docs: more neutral reference to @code_warntype (#51361) fix #51358 --------- Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com> Co-authored-by: Max Horn <max@quendi.de> (cherry picked from commit 5cb5cd8727b6d67aafaa0d7d263b0372459c5dea) 26 February 2024, 13:57:48 UTC
f2d56c7 SubArray: avoid invalid elimination of singleton indices (#53228) close #53209 (cherry picked from commit 4d0a469e6f8fe30a5e152ac7c93b7569c41e3c39) 26 February 2024, 13:57:47 UTC
25827a4 docs: remove outdated discussion about externally changing module bindings (#53170) As of Julia 1.9, bindings in modules can be changed directly. See https://discourse.julialang.org/t/clarify-the-documentation-about-modifying-module-variables/109668/3 (cherry picked from commit 736eeda72493f02247994785d5b5a9c8f9dca2f5) 26 February 2024, 13:57:47 UTC
45c2bd8 fix code coverage bug in tail position and `else` (#53354) This was due to lowering keeping the same location info for the inserted `return` or `goto` statement, even though the last seen location might not have executed. Also fixes inliner handling of the sentinel `0` value for code locations. (cherry picked from commit 61fc907a225eb642fd180257a02e5951336dabe4) 26 February 2024, 13:57:47 UTC
d002e96 do not call worker_from_id with pid<1 26 February 2024, 13:57:47 UTC
9e12184 bump NetworkOptions 26 February 2024, 13:57:47 UTC
5b54ddf Fix typo in `Sys.total_memory` docstring. (#53301) Fixes #53298. (cherry picked from commit 81c652640ecfa5215781bf398bbf57b67ec3d616) 26 February 2024, 13:57:47 UTC
be27b72 Document --heap-size-hint in Command-line Interface (#50480) Almost a direct copy of the output in `julia --help`. Closes #50588 Co-authored-by: Max Horn <max@quendi.de> (cherry picked from commit c5ad46789dcf85c70a847d62f5859e59686fb532) 26 February 2024, 13:57:47 UTC
2b2eb4d Profile: add notes to `print()` docs (#53205) (cherry picked from commit 9bafc5334a6a883408ba70761111158f97cc288d) 26 February 2024, 13:57:47 UTC
2111c03 release-1.10: set VERSION to 1.10.1 (#53306) 26 February 2024, 13:57:47 UTC
7790d6f release-1.10: set VERSION to 1.10.1 (#53306) 13 February 2024, 20:41:13 UTC
4745ef8 Backports release 1.10 (#53201) A few stragglers. Backported PRs: - [x] #53091 <!-- Ensure elision of `require_one_based_indexing` with high-dim array views --> - [x] #53117 <!-- Try to fix incorrect documentation of `nthreads` --> - [x] #52855 <!-- Fix variable name in scaling an `AbstractTriangular` with zero alpha --> - [x] #52952 <!-- [REPLCompletions] enable completions for `using Module.Inner|` --> - [x] #53101 <!-- Inplace transpose for unit Triangular may skip diagonal --> Need manual backport: - [ ] #52505 <!-- fix alignment of emit_unbox_store copy --> Non-merged PRs with backport label: - [ ] #53125 <!-- coverage: count coverage where explicitly requested by inference only --> - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] #51479 <!-- prevent code loading from lookin in the versioned environment when building Julia --> 06 February 2024, 13:44:50 UTC
6fcff37 fix bus error on smaller readonly file in unix (#44354) Fixes: #28245 Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Stefan Karpinski <stefan@karpinski.org> (cherry picked from commit ead627e5608b27dbf50cbb15d45b32bb41c5d8b2) 06 February 2024, 11:47:33 UTC
2ef3842 Inplace transpose for unit Triangular may skip diagonal (#53101) Since the diagonal elements of a `UnitUpperTriangular` are given by `onelement`, these should be unchanged under `transpose/adjoint`, and we don't need to access these elements in the parent array when performing in-place operations. Fixes ```julia julia> using LinearAlgebra julia> M = Matrix{BigFloat}(undef, 2, 2); julia> M[1,2] = 3; julia> U = UnitUpperTriangular(M) 2×2 UnitUpperTriangular{BigFloat, Matrix{BigFloat}}: 1.0 3.0 ⋅ 1.0 julia> transpose!(U) ERROR: UndefRefError: access to undefined reference Stacktrace: [1] getindex @ ./essentials.jl:882 [inlined] [2] getindex @ ./array.jl:915 [inlined] [3] copytri! @ ~/packages/julias/julia-latest/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:414 [inlined] [4] transpose!(A::UnitUpperTriangular{BigFloat, Matrix{BigFloat}}) @ LinearAlgebra ~/packages/julias/julia-latest/share/julia/stdlib/v1.11/LinearAlgebra/src/triangular.jl:470 [5] top-level scope @ REPL[5]:1 ``` After this PR: ```julia julia> transpose!(U) 2×2 UnitLowerTriangular{BigFloat, Matrix{BigFloat}}: 1.0 ⋅ 3.0 1.0 ``` (cherry picked from commit cc74d241be9f023ceb6d2ded7314bfbd02f8b17c) 06 February 2024, 11:19:02 UTC
a1ad1ba [REPLCompletions] enable completions for `using Module.Inner|` (#52952) (cherry picked from commit a0d55cd4b53adf91770ff5cbdab5b30ba81fbe96) 06 February 2024, 10:58:44 UTC
93a596e Fix variable name in scaling an `AbstractTriangular` with zero alpha (#52855) There is no `C` defined in these methods, so this branch used to error. (cherry picked from commit c5d7b87a35b5beaef9d4d3aa53c0a2686f3445b9) 06 February 2024, 10:56:28 UTC
e1af4a9 Try to fix incorrect documentation of `nthreads` (#53117) Since https://github.com/JuliaLang/julia/pull/49094, the docstring of `nthreads` has been incorrect. It currently states that > The threads in default have id numbers `1:nthreads(:default)`. whereas that is no longer true: ```julia julia> filter(i -> Threads.threadpool(i) == :interactive, 1:Threads.maxthreadid()) 3-element Vector{Int64}: 1 2 3 julia> filter(i -> Threads.threadpool(i) == :default, 1:Threads.maxthreadid()) 6-element Vector{Int64}: 4 5 6 7 8 9 ``` (cherry picked from commit 95ae27f6255fdb5f10d32ab6e8134632171bb822) 06 February 2024, 10:47:00 UTC
ff295ca Ensure elision of `require_one_based_indexing` with high-dim array views (#53091) Closes #49332 --------- Co-authored-by: Denis Barucic <barucic.d@gmail.com> (cherry picked from commit 9edf1dd8e971a6f43af4b39992fcb6eb81f8fb5d) 06 February 2024, 10:46:59 UTC
1dfdf66 Backports for 1.10.1 (#52755) Backported PRs: - [x] #51095 <!-- Fix edge cases where inexact conversions to UInt don't throw --> - [x] #52583 <!-- Don't access parent of triangular matrix in powm --> - [x] #52645 <!-- update --gcthreads section in command line options --> - [x] #52423 <!-- update nthreads info in versioninfo --> - [x] #52721 <!-- inference: Guard TypeVar special case against vararg --> - [x] #52637 <!-- fix finding bundled stdlibs even if they are e.g. devved in an environment higher in the load path --> - [x] #52752 <!-- staticdata: handle cycles in datatypes --> - [x] #52758 <!-- use a Dict instead of an IdDict for caching of the `cwstring` for Windows env variables --> - [x] #51375 <!-- Insert hardcoded backlinks to stdlib doc pages --> - [x] #52994 <!-- place work-stealing queue indices on different cache lines to avoid false-sharing --> - [x] #53015 <!-- Add type assertion in iterate for logicalindex --> - [x] #53032 <!-- Fix a list in GC devdocs --> - [x] #52748 - [x] #52856 - [x] #52878 - [x] #52754 - [x] #52228 - [x] #52924 - [x] #52569 <!-- Fix GC rooting during rehashing of iddict --> - [x] #52605 <!-- Default uplo in symmetric/hermitian --> - [x] #52618 <!-- heap snapshot: add gc roots and gc finalist roots to fix unrooted nodes --> - [x] #52781 <!-- fix type-stability bugs in Ryu code --> - [x] #53055 <!-- Profile: use full terminal cols to show function name --> - [x] #53096 - [x] #53076 - [x] #52841 <!-- Extensions: make loading of extensions independent of what packages are in the sysimage --> - [x] #52078 <!-- Replace `&hArr;` by `&harr;` in documentation --> - [x] #53035 <!-- use proper cache-line size variable in work-stealing queue --> - [x] #53066 <!-- doc: replace harr HTML entity by unicode --> - [x] #52996 <!-- Apple silicon has 128 byte alignment so fix our defines to match --> - [x] #53121 Non-merged PRs with backport label: - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] #51479 <!-- prevent code loading from lookin in the versioned environment when building Julia --> 06 February 2024, 10:41:56 UTC
7a96210 Add link to PR in NEWS (#53189) The link to https://github.com/JuliaLang/julia/pull/49349 was missing. 05 February 2024, 15:29:14 UTC
0627076 Put mingw32 `*.a` files in `private_libdir` (#51698) This avoid that these files are picked up during julia's build process, and are instead only used to link pkgimages, as intended. Co-authored-by: Tim Besard <tim.besard@gmail.com> (cherry picked from commit 4ef353c6e4ad5156ad65cb40c3a2a61fbd324b59) 05 February 2024, 07:38:02 UTC
6407c33 inference: avoid adding duplicate edges as invoke targets (#53121) This was inefficient, though not wrong. Fixes #53020 05 February 2024, 07:37:38 UTC
00aa65e bump NetworkOptions 05 February 2024, 07:37:37 UTC
c644e89 apply OpenBLAS_jll v0.3.23+4 patch (#53074) Closes #53054 CC: @giordano @ViralBShah 30 January 2024, 10:40:22 UTC
a45cd5f doc: replace harr HTML entity by unicode (#53066) Documenter does not support HTML entities. See discussion in PR #52078 for further background. Co-authored-by: Dilum Aluthge <dilum@aluthge.com> (cherry picked from commit 746fad00a4fb11fe34502c1b89e966fa129b645c) 30 January 2024, 10:40:22 UTC
b0b804e use proper cache-line size variable in work-stealing queue (#53035) (cherry picked from commit 919c3908066da7ac361fa5677a6af11acbdc3153) 30 January 2024, 10:40:22 UTC
3c73873 [OpenBLAS] Ugrade to v0.3.23+4 29 January 2024, 11:55:46 UTC
a215b37 1.10: inlining: fix `joint_effects` calculation (#53076) This particular fix was part of #50805, but it wasn't included in version 1.10, leading to situations where an incorrect `:nothrow` could occur in 1.10 (#53062). This commit implements a minimal correction in 1.10 and also added some test cases. Fixes #53062. 29 January 2024, 06:26:42 UTC
2c8ecd3 1.10: REPL: fix intermittent REPL test failure (#53096) The earlier test relied on the order of the method match list returned by `_methods_by_ftype`. However, particularly in cases where the `ambig=true` option is used, the match list isn't deterministic. This commit modifies it, similar to other pieces of code, so that it `any` to ensure the code does not depend on the implementation details of `ml_matches`. Fixes #52739. 29 January 2024, 06:26:26 UTC
ece8b7b Profile: use full terminal cols to show function name (#53055) (cherry picked from commit 4919dd79dfd848eb6d9929768666977f374c7f10) 26 January 2024, 14:54:55 UTC
6fdf37e Replace `&hArr;` by `&harr;` in documentation (#52078) There is no HTML entity `&hArr;` and accordingly all the usual browsers (Chrome, Firefox, Safari) don't render it. My guess is that there is confusion because GitHub supports `&hArr;` and shows it as &hArr; (and `&harr;` as &harr;). But here is for example what Firefox shows: <img width="853" alt="Screen Shot 2023-11-08 at 14 02 01" src="https://github.com/JuliaLang/julia/assets/241512/af7d9e27-a5c3-46c3-94d9-82ed52653cb4"> This patch could be backported to 1.9 and 1.10. (cherry picked from commit 81c4f8e1b3dc16738d136967c1b32f3e1ee969ba) 24 January 2024, 15:31:43 UTC
f06a63d Apple silicon has 128 byte alignment so fix our defines to match (#52996) https://github.com/JuliaLang/julia/blob/8a69745bdcb06409ab7e4fc84718f34d7d54a7f9/base/lock.jl#L33-L50 this probably also needs a fix, and maybe other places as well (cherry picked from commit 91ec2bb646ca1ef14a86232da2aa80a9c9f46d40) 24 January 2024, 15:30:39 UTC
cfbff10 heap snapshot: add gc roots and gc finalist roots to fix unrooted nodes (#52618) (cherry picked from commit fe0db7d9474781ee949c7927f806214c7fc00a9a) 24 January 2024, 13:05:37 UTC
8a04df0 Fix GC rooting during rehashing of iddict (#52569) Should fix #52558. `a` should be rooted before the alloc call. I removed the comment as it seemed to refer to a write barrier that was removed long ago. (cherry picked from commit 5977cb0a0c1ef98fa0e4019bf1a41380a717be6f) 24 January 2024, 12:54:22 UTC
f371de8 Default uplo in symmetric/hermitian (#52605) This makes the function signatures match the respective docstrings, as well as that of `Symmetric/Hermitian`. (cherry picked from commit b4eefd0f8afe91fb8e68c79f1a6615de25005529) 24 January 2024, 12:46:00 UTC
e0e3c63 fix type-stability bugs in Ryu code (#52781) Fixes #52749. (cherry picked from commit 5643c601f4c9819ed055c111a2d7d14cff6c5f7c) 24 January 2024, 12:45:01 UTC
a4cc920 make "dec" and ryu functions faster and simpler (#51273) We had some common code in `Ryu.append_c_digits` that can be combined with Base logic for the same thing. But it turns out all of this duplicated code in Ryu seems to just make it run slightly slower in most cases. The old version had many more branches to check, even though often numbers are small, so only the last check is meaningful. But the assumption that it would be faster even if all of them were used also seems to not hold up in practice. Particularly for a function like `append_nine_digits` which unrolls completely, but the complicated version has slightly more data dependencies because of they way it is written. Similarly, we replace `unsafe_copy` with `@inbounds[]`, since this is better for the optimizer, which doesn't need to treat this operation as an unknown reference escape. Lastly, we use the append_nine_digits trick from Ryu to make printing of arbitrary big numbers much faster. ``` julia> @btime string(typemax(Int128)) 402.345 ns (2 allocations: 120 bytes) # before 151.139 ns (2 allocations: 120 bytes) # after ``` (cherry picked from commit e9d931419c54c21f749bcac0991fc9f5a059d4aa) 24 January 2024, 12:44:58 UTC
fa85fa7 Fix a list in GC devdocs (#53032) When splitting a Markdown list item into multiple lines, the following lines must be indented or else a new paragraph starts. (cherry picked from commit 35c0498ceb1668fbc05ff5ae24ac1e696fdfa6a5) 24 January 2024, 12:40:28 UTC
8517eb3 Add type assertion in iterate for logicalindex (#53015) The type-assertion helps convey the information that `iterate(tail(s)...)` would never return `nothing`, which makes JET happy. On master ```julia julia> L = Base.LogicalIndex([true]) 1-element Base.LogicalIndex{Int64, Vector{Bool}}: 1 julia> @report_call iterate(L) ═════ 2 possible errors found ═════ ┌ iterate(L::Base.LogicalIndex{Int64, Vector{Bool}}) @ Base ./multidimensional.jl:778 │┌ iterate(L::Base.LogicalIndex{Int64, Vector{Bool}}, s::Tuple{Int64, LinearIndices{1, Tuple{Base.OneTo{Int64}}}}) @ Base ./multidimensional.jl:789 ││┌ indexed_iterate(I::Nothing, i::Int64) @ Base ./tuple.jl:94 │││ no matching method found `iterate(::Nothing)`: x = iterate(I::Nothing) ││└──────────────────── ││┌ indexed_iterate(I::Nothing, i::Int64, state::Int64) @ Base ./tuple.jl:99 │││ no matching method found `iterate(::Nothing, ::Int64)`: x = iterate(I::Nothing, state::Int64) ``` This PR ```julia julia> @report_call iterate(L) No errors detected ``` Close https://github.com/JuliaArrays/StaticArrays.jl/issues/1225 (cherry picked from commit 32ad80bbdb6d80589e0232221dd66e52a8da205b) 24 January 2024, 12:40:28 UTC
4f3a3ae place work-stealing queue indices on different cache lines to avoid false-sharing (#52994) For some reason this only shows up in the `many_refs.jl` benchmark, since it's the only one that hammers the work-stealing queue (we also didn't test this benchmark on a large number of GC threads in our [previous analysis](https://github.com/JuliaLang/julia/pull/48600#issuecomment-1518944785)). - master: ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 4268 │ 3243 │ 3048 │ 194 │ 1126 │ 15 │ 868 │ 76 │ │ median │ 4270 │ 3246 │ 3051 │ 195 │ 1128 │ 17 │ 868 │ 76 │ │ maximum │ 4278 │ 3247 │ 3052 │ 195 │ 1128 │ 18 │ 868 │ 76 │ │ stdev │ 5 │ 2 │ 2 │ 0 │ 1 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2728 │ 1692 │ 1551 │ 141 │ 598 │ 23 │ 868 │ 62 │ │ median │ 2732 │ 1709 │ 1567 │ 141 │ 603 │ 23 │ 868 │ 62 │ │ maximum │ 2744 │ 1712 │ 1571 │ 143 │ 607 │ 24 │ 868 │ 63 │ │ stdev │ 6 │ 9 │ 9 │ 1 │ 4 │ 0 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2105 │ 1082 │ 987 │ 95 │ 405 │ 23 │ 875 │ 51 │ │ median │ 2115 │ 1089 │ 994 │ 95 │ 409 │ 23 │ 875 │ 52 │ │ maximum │ 2127 │ 1100 │ 1003 │ 97 │ 417 │ 25 │ 875 │ 52 │ │ stdev │ 8 │ 8 │ 7 │ 1 │ 5 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3861 │ 2755 │ 2676 │ 79 │ 1301 │ 22 │ 878 │ 68 │ │ median │ 3864 │ 2835 │ 2756 │ 80 │ 1342 │ 25 │ 879 │ 73 │ │ maximum │ 4032 │ 2877 │ 2797 │ 80 │ 1378 │ 26 │ 880 │ 74 │ │ stdev │ 73 │ 45 │ 45 │ 1 │ 28 │ 2 │ 1 │ 2 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 7455 │ 6425 │ 6344 │ 80 │ 3262 │ 24 │ 882 │ 86 │ │ median │ 7703 │ 6682 │ 6602 │ 81 │ 3313 │ 25 │ 884 │ 87 │ │ maximum │ 7826 │ 6806 │ 6725 │ 81 │ 3422 │ 27 │ 887 │ 87 │ │ stdev │ 152 │ 153 │ 153 │ 0 │ 68 │ 1 │ 2 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` - PR: ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 4264 │ 3240 │ 3048 │ 192 │ 1127 │ 15 │ 868 │ 76 │ │ median │ 4271 │ 3244 │ 3052 │ 192 │ 1129 │ 17 │ 868 │ 76 │ │ maximum │ 4514 │ 3481 │ 3289 │ 193 │ 1247 │ 18 │ 868 │ 77 │ │ stdev │ 109 │ 106 │ 106 │ 0 │ 53 │ 1 │ 0 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2712 │ 1680 │ 1541 │ 138 │ 591 │ 22 │ 868 │ 62 │ │ median │ 2713 │ 1691 │ 1552 │ 140 │ 594 │ 24 │ 868 │ 62 │ │ maximum │ 2732 │ 1710 │ 1569 │ 141 │ 606 │ 25 │ 868 │ 63 │ │ stdev │ 11 │ 12 │ 12 │ 1 │ 6 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2090 │ 1057 │ 962 │ 95 │ 398 │ 22 │ 874 │ 50 │ │ median │ 2103 │ 1070 │ 974 │ 95 │ 401 │ 24 │ 874 │ 51 │ │ maximum │ 2140 │ 1074 │ 978 │ 96 │ 402 │ 25 │ 875 │ 51 │ │ stdev │ 19 │ 6 │ 6 │ 0 │ 1 │ 1 │ 1 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2236 │ 1208 │ 1129 │ 79 │ 528 │ 23 │ 880 │ 54 │ │ median │ 2238 │ 1214 │ 1135 │ 79 │ 533 │ 23 │ 880 │ 54 │ │ maximum │ 2246 │ 1218 │ 1138 │ 80 │ 534 │ 35 │ 880 │ 54 │ │ stdev │ 4 │ 4 │ 4 │ 0 │ 3 │ 5 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2326 │ 1297 │ 1216 │ 80 │ 595 │ 24 │ 884 │ 56 │ │ median │ 2348 │ 1325 │ 1245 │ 80 │ 620 │ 25 │ 885 │ 56 │ │ maximum │ 2370 │ 1341 │ 1262 │ 81 │ 631 │ 26 │ 887 │ 57 │ │ stdev │ 17 │ 19 │ 19 │ 0 │ 14 │ 1 │ 1 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` (cherry picked from commit 9f36490f02e92302d93e9f993cadbde04c104f9c) 24 January 2024, 12:40:27 UTC
d2fd317 Insert hardcoded backlinks to stdlib doc pages (#51375) This is #48814 times 23. It solves most of but not all of #50035. (cherry picked from commit a327a9594fa469a2d5df32a79a86965286968e54) 24 January 2024, 12:40:26 UTC
69d58e0 use a Dict instead of an IdDict for caching of the `cwstring` for Windows env variables (#52758) Should fix https://github.com/JuliaLang/julia/issues/52711. My analysis of the invalidation is as follows: We added code to cache the conversion to `cwstring` in env handling on Windows (https://github.com/JuliaLang/julia/pull/51371): ```julia const env_dict = IdDict{String, Vector{UInt16}}() function memoized_env_lookup(str::AbstractString) ... env_dict[str] = cwstring(str) ... end function access_env(onError::Function, str::AbstractString) var = memoized_env_lookup(str) ... end ``` Since `IdDict` has `@nospecialize` on `setindex!` we compile this method: ```julia setindex!(::IdDict{String, Vector{UInt16}}, ::Any, ::Any) ``` which has an edge to: ```julia convert(Type{Vector{Int64}}, Any}) ``` But then StaticArrays comes along and adds a method ```julia convert(::Type{Array{T, N}}, ::StaticArray) ``` which invalidates the `setindex!` (due to the edge to `convert`) which invalidates the whole env handling on Windows which causes 4k other methods downstream to be invalidated, in particular, the artifact string macro which causes a significant delay in the next jll package you load after loading StaticArrays. There should be no performance penalty to this since strings already does a hash for their `objectid`. (cherry picked from commit b7c24ed67bc42d51ee33da5ed5a97361c49313b8) 24 January 2024, 12:40:23 UTC
cc26004 staticdata: handle cycles in datatypes (#52752) Handle any sort of cycle encountered in the datatype super fields by always deferring that field until later and setting a deferred mechanism for updating the field only after the supertype is ready. Fix #52660 (cherry picked from commit c94b1a3cd810efd35b66ca4f5a60839989e18692) 24 January 2024, 12:40:22 UTC
2481fdf loading: fix finding bundled stdlibs even if they are e.g. devved in an environment higher in the load path (#52637) I noticed this when seeing some weird precompile issues when I had SparseArrays devved in my main environment but it was with the standard stdlib format in the current environment: ``` (NearestNeighbors) pkg> st -m Project NearestNeighbors v0.4.15 Status `~/JuliaPkgs/NearestNeighbors.jl/Manifest.toml` ... [2f01184e] SparseArrays v1.10.0 ... ``` But even so, `locate_package` claims that the path to SparseArrays is the one in the main environment: ``` julia> pkg = Base.PkgId(Base.UUID("2f01184e-e22b-5df5-ae63-d93ebab69eaf"), "SparseArrays") SparseArrays [2f01184e-e22b-5df5-ae63-d93ebab69eaf] julia> Base.locate_package(pkg) "/home/kc/JuliaPkgs/SparseArrays.jl/src/SparseArrays.jl" ``` This correctly fixes it so that packages without a `git-tree-sha1` (and without a `path`) are resolved to the stdlib path. (cherry picked from commit c9bc2ffd52e558aecf228b17d55e3eb0e4d5f693) 24 January 2024, 12:40:21 UTC
back to top