swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40

sort by:
Revision Author Date Message Commit Date
9dfd28a release-1.11: Backportp precompile fixes (#53773) 18 March 2024, 20:35:10 UTC
88ff156 release-1.11: Update VERSION to 1.11.0-alpha2 (#53768) 18 March 2024, 20:30:16 UTC
7580c4f precompilepkgs: fix error path & adjust messaging (#53772) Fixes issues with the handling of errored dependencies (cherry picked from commit a9611ce6acde605c4f5ec5787514e181b6b4add6) 18 March 2024, 11:23:21 UTC
c2fd281 Slightly improve grammar in precompilation info text (#53700) Uses the singular "configuration" if `length(configs) == 1`, instead of the current "configurations" (cherry picked from commit 22602a2305cfb3ccead2a53000869554a8a2dbeb) 18 March 2024, 11:23:18 UTC
215aeb9 Update NEWS for 1.11 (#53681) Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> Co-authored-by: Lars Göttgens <lars.goettgens@gmail.com> 18 March 2024, 07:05:19 UTC
150b895 Backports for 1.11.0-alpha2 (#53543) Backported PRs: - [x] #39071 <!-- Add a lazy `logrange` function and `LogRange` type --> - [x] #51802 <!-- Allow AnnotatedStrings in log messages --> - [x] #53369 <!-- Orthogonalize re-indexing for FastSubArrays --> - [x] #48050 <!-- improve `--heap-size-hint` arg handling --> - [x] #53482 <!-- add IR encoding for EnterNode --> - [x] #53499 <!-- Avoid compiler warning about redefining jl_globalref_t --> - [x] #53507 <!-- update staled `Core.Compiler.Effects` documentation --> - [x] #53408 <!-- task splitting: change additive accumulation to multiplicative --> - [x] #53523 <!-- add back an alias for `check_top_bit` --> - [x] #53377 <!-- add _readdirx for returning more object info gathered during dir scan --> - [x] #53525 <!-- fix InteractiveUtils call in Base.runtests on failure --> - [x] #53540 <!-- use more efficient `_readdirx` for tab completion --> - [x] #53545 <!-- use `_readdirx` for `walkdir` --> - [x] #53551 <!-- revert "Add @create_log_macro for making custom styled logging macros (#52196)" --> - [x] #53554 <!-- Always return a value in 1-d circshift! of abstractarray.jl --> - [x] #53424 <!-- yet more atomics & cache-line fixes on work-stealing queue --> - [x] #53571 <!-- Update Documenter to v1.3 for inventory writing --> - [x] #53403 <!-- Move parallel precompilation to Base --> - [x] #53589 <!-- add back `unsafe_convert` to pointer for arrays --> - [x] #53596 <!-- build: remove extra .a file --> - [x] #53606 <!-- fix error path in `precompilepkgs` --> - [x] #53004 <!-- Unexport with, at_with, and ScopedValue from Base --> - [x] #53629 <!-- typo fix in scoped values docs --> - [x] #53630 <!-- sroa: Fix incorrect scope counting --> - [x] #53598 <!-- Use Base parallel precompilation to build stdlibs --> - [x] #53649 <!-- precompilepkgs: package in boths deps and weakdeps are in fact only weak --> - [x] #53671 <!-- Fix bootstrap Base precompile in cross compile configuration --> - [x] #52125 <!-- Load Pkg if not already to reinstate missing package add prompt --> - [x] #53602 <!-- Handle zero on arrays of unions of number types and missings --> - [x] #53516 <!-- permit NamedTuple{<:Any, Union{}} to be created --> - [x] #53643 <!-- Bump CSL to 1.1.1 to fix libgomp bug --> - [x] #53679 <!-- move precompile workload back from Base --> - [x] #53663 <!-- add isassigned methods for reinterpretarray --> - [x] #53662 <!-- [REPL] fix incorrectly cleared line after completions accepted --> - [x] #53611 <!-- Linalg: matprod_dest for Diagonal and adjvec --> - [x] #53659 <!-- fix #52025, re-allow all implicit pointer casts in cconvert for Array --> - [x] #53631 <!-- LAPACK: validate input parameters to throw informative errors --> - [x] #53628 <!-- Make some improvements to the Scoped Values documentation. --> - [x] #53655 <!-- Change tbaa of ptr_phi to tbaa_value --> - [x] #53391 <!-- Default to the medium code model in x86 linux --> - [x] #53699 <!-- Move `isexecutable, isreadable, iswritable` to `filesystem.jl` --> - [x] #41232 <!-- Fix linear indexing for ReshapedArray if the parent has offset axes --> - [x] #53527 <!-- Enable analyzegc checks for try catch and fix found issues --> - [x] #52092 - [x] #53682 <!-- Increase build precompilation --> - [x] #53720 - [x] #53553 <!-- typeintersect: fix `UnionAll` unaliasing bug caused by innervars. --> Contains multiple commits, manual intervention needed: - [ ] #53305 <!-- Propagate inbounds in isassigned with CartesianIndex indices --> Non-merged PRs with backport label: - [ ] #53736 <!-- fix literal-pow to return the right type when the base is -1 --> - [ ] #53707 <!-- Make ScopedValue public --> - [ ] #53696 <!-- add invokelatest to on_done callback in bracketed paste --> - [ ] #53660 <!-- put Logging back in default sysimage --> - [ ] #53509 <!-- revert moving "creating packages" from Pkg.jl --> - [ ] #53452 <!-- RFC: allow Tuple{Union{}}, returning Union{} --> - [ ] #53402 <!-- Add `jl_getaffinity` and `jl_setaffinity` --> - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] #51928 <!-- Styled markdown, with a few tweaks --> - [ ] #51816 <!-- User-themable stacktraces --> - [ ] #51811 <!-- Make banner size depend on terminal size --> - [ ] #51479 <!-- prevent code loading from lookin in the versioned environment when building Julia --> 17 March 2024, 20:19:40 UTC
d6d84ed 🤖 [backports-release-1.11] Bump the Pkg stdlib from 1e6fa605f to bd787952e (#53762) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: release-1.11 Julia branch: backports-release-1.11 Old commit: 1e6fa605f New commit: bd787952e Julia version: 1.11.0-alpha1 Pkg version: 1.11.0 Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/1e6fa605f5554f37d2ebf47de9763152f6f78232...bd787952e6ceab2d3e8fec98429d954860ecfd9f ``` $ git log --oneline 1e6fa605f..bd787952e bd787952e Merge pull request #3846 from JuliaLang/backports-release-1.11 239702022 precompile: update kwargs (#3838) 4ea3f3576 move threads assignment after precompilation (#3840) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 17 March 2024, 02:04:56 UTC
b5e4104 update Pkg release branch 17 March 2024, 01:24:31 UTC
b9aaff5 Move `isexecutable, isreadable, iswritable` to `filesystem.jl` (#53699) This PR migrates the methods `isexecutable, isreadable, iswritable` from `Sys` to `Base`, but also generates an alias in `Sys` for backwards compatibility. Furthermore, `iswriteable` is renamed to `iswritable` in order to match the already existing `Base.iswritable` method. Suggested in https://github.com/JuliaLang/julia/pull/53320#issuecomment-1989217973. (cherry picked from commit 8d31f334269c6553553cad4220215a03c6da7ab3) 16 March 2024, 21:12:53 UTC
22db541 Use `@test ... skip=...` instead of `@test_skip` (cherry picked from commit 34a515189a653080776e9d24295a0cfee393fe90) 16 March 2024, 21:12:52 UTC
b6c957b 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) 16 March 2024, 21:12:52 UTC
f54bb4c Increase build precompilation (#53682) - Bake precompilepkgs into the sysimage - Enable compilation in stdlib JLLs @staticfloat I guess this is ok now we have pkgimages? - Add some hardcoded precompiles encountered locally - Disable a problematic llvm test, with a note With this there's no compilation loading Pkg in interactive mode ``` % ./julia --trace-compile=stderr --start=no -q julia> ] (@v1.12) pkg> ``` Before ``` % time julia +nightly --start=no --trace-compile=stderr -q -e "using Pkg" precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Union{Nothing, Bool, Int64, String}}, Int64, Symbol}) precompile(Tuple{typeof(Base.haskey), Base.Dict{String, Any}, String}) precompile(Tuple{typeof(MbedTLS_jll.__init__)}) precompile(Tuple{typeof(LibSSH2_jll.__init__)}) precompile(Tuple{typeof(LibGit2_jll.__init__)}) precompile(Tuple{typeof(nghttp2_jll.__init__)}) precompile(Tuple{typeof(LibCURL_jll.__init__)}) precompile(Tuple{typeof(MozillaCACerts_jll.__init__)}) precompile(Tuple{typeof(Base.Filesystem.normpath), String, String, Vararg{String}}) precompile(Tuple{typeof(p7zip_jll.__init__)}) precompile(Tuple{typeof(p7zip_jll.init_p7zip_path)}) precompile(Tuple{typeof(Base.append!), Array{String, 1}, Array{String, 1}}) precompile(Tuple{typeof(Base.join), Array{String, 1}, Char}) julia +nightly --start=no --trace-compile=stderr -q -e "using Pkg" 1.48s user 0.40s system 206% cpu 0.910 total ``` PR ``` % time ./julia --start=no --trace-compile=stderr -q -e "using Pkg" ./julia --start=no --trace-compile=stderr -q -e "using Pkg" 1.62s user 0.13s system 402% cpu 0.433 total ``` (cherry picked from commit c4ab0d46a9c3a470794e5a441176bfdf8ff36e52) 16 March 2024, 18:00:06 UTC
2623abb Enable analyzegc checks for try catch and fix found issues (#53527) This PR also makes a successful `JL_TRY` not do so much work + fixes clang not finding the sdk when running those tests in macos. Fixes https://github.com/JuliaLang/julia/issues/ Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 67cdb9bf70a39e62992276cb3923e928c2e8b637) 15 March 2024, 16:21:33 UTC
2e45f8f 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) 15 March 2024, 16:21:32 UTC
02839bd codegen: change tbaa of ptr_phi to tbaa_value (#53655) Fixes https://github.com/JuliaLang/julia/issues/53612 (cherry picked from commit cb47b01d3eff8da054384bc0c293db8f9f8b2783) 15 March 2024, 16:21:32 UTC
91da115 Make some improvements to the Scoped Values documentation. (#53628) Fixes #53471. One thing to note, I changed the signature in the `with` docstring from this: ```julia with(f, (var::ScopedValue{T} => val::T)...) ``` to this: ```julia with(f, (var::ScopedValue{T} => val)...) ``` ...since the original signature in the docstring was too strict. I also added this sentence to the docstring: ```julia `val` will be converted to type `T`. ``` I added a couple tests that verify the conversion behavior. (cherry picked from commit 7613c6954fd2d9168f1c805d9212f961a4765a67) 15 March 2024, 16:21:31 UTC
0087a11 LAPACK: validate input parameters to throw informative errors (#53631) This PR validates the input parameters to the Julia LAPACK wrappers, so that the error messages are more informative. On nightly ```julia julia> using LinearAlgebra julia> LAPACK.geev!('X', 'X', rand(2,2)) ** On entry to DGEEV parameter number 1 had an illegal value ERROR: ArgumentError: invalid argument #1 to LAPACK call ``` This PR ```julia julia> using LinearAlgebra julia> LAPACK.geev!('X', 'X', rand(2,2)) ERROR: ArgumentError: argument #1: jobvl must be one of ('N', 'V'), but 'X' was passed ``` Secondly, moved certain allocations (e.g. in `geevx`) below the validation checks, so that these only happen for valid parameter values. Thirdly, added `require_one_based_indexing` checks to functions where these were missing. (cherry picked from commit dcd1fb2148dd7affee9449e304a9b42e7feba1ce) 15 March 2024, 16:21:30 UTC
641ae2c fix #52025, re-allow all implicit pointer casts in cconvert for Array (#53659) fix #52025 (cherry picked from commit f9e08f7941efad238c13641cb72a0d383fd7eaba) 15 March 2024, 16:21:30 UTC
fd9c49c Linalg: matprod_dest for Diagonal and adjvec (#53611) (cherry picked from commit f882c00bdc5904cee7d1631740ba3824157bc656) 15 March 2024, 16:21:30 UTC
21a2602 [REPL] fix incorrectly cleared line after completions accepted (#53662) The hint must be cleared before the screen state is reset, otherwise the state after reset may not be compatible with being able to clear it. Fixes #52264 (cherry picked from commit 2978a642b8d0a1912f80e84e7c2e769919aed376) 15 March 2024, 16:21:30 UTC
15f13f7 add isassigned methods for reinterpretarray (#53663) Fixes #52925 Refs #51760 (cherry picked from commit 60d4b7be63a477071a0640a3bc87d5db3ff73d93) 15 March 2024, 16:21:30 UTC
ab37ee5 move precompile workload back from Base (#53679) (cherry picked from commit 26b3b5fb18d3b03e2e79be9e3bf817afeb55b711) 15 March 2024, 16:21:30 UTC
760f368 Bump CSL to 1.1.1 to fix libgomp bug (#53643) Resolves https://github.com/JuliaLang/julia/issues/53363 (cherry picked from commit 5c7d24493ebab184d4517ca556314524f4fcb47f) 15 March 2024, 16:21:29 UTC
aa90ae7 permit NamedTuple{<:Any, Union{}} to be created (#53516) (cherry picked from commit e9c84c809f6369907f4087e8d823f13c92a93c35) 15 March 2024, 16:21:29 UTC
8c9015f Handle zero on arrays of unions of number types and missings (#53602) (cherry picked from commit fc6c618c4e199330429c05836eeb779723e7c97b) 15 March 2024, 16:21:29 UTC
fcadc06 Load Pkg if not already to reinstate missing package add prompt (#52125) (cherry picked from commit 0d029eaf7ddc594a59cae90096419c4f66d45855) 15 March 2024, 16:21:29 UTC
e6e8a1d Fix bootstrap Base precompile in cross compile configuration (#53671) (cherry picked from commit 18a2e70636b6cd69c67f9e83fd34ddb8fb0649ce) 15 March 2024, 16:21:29 UTC
b147539 Use Base parallel precompilation to build stdlibs (#53598) Follow-on from https://github.com/JuliaLang/julia/pull/53403 This extends `Base.Precompilation.precompilepkgs` to take a list of configurations to precompile each package with, while parallelizing across all packages and configurations, and uses it to build the stdlib pkgimages. It simplifies the stdlib pkgimage build process but is (currently) dependent on having an accurately resolved Manifest.toml (Project.toml included to make the manifest easier to make). Any new/removed stdlibs or changes their dependencies will require updating the Manifest.toml. It's a bit chicken and egg, but should be manageable with manual editing of the Manifest.toml. In terms of speed improvement: MacOS aarch64 CI runner 6m19s before, 5m19 with this Note that CI builds will show the basic print with timing of each package, whereas local build will be the tidier fancy print without timings. Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> (cherry picked from commit 78351b5c478b65295dfa143d33ddc41f546baceb) 15 March 2024, 16:21:29 UTC
90454b2 sroa: Fix incorrect scope counting (#53630) Sroa was incorrectly assuming that every :leave leaves exactly one scope. In reality, it leaves as many scopes as the corresponding :leave references. Fix that to fix #53521. (cherry picked from commit 321fb2ccda65aa122c3549ef4951c6890b440cf2) 15 March 2024, 16:21:28 UTC
12add8d typo fix in scoped values docs (#53629) (cherry picked from commit cf5f1632933a146c82ae9b33e76d89241d976dbd) 15 March 2024, 16:21:28 UTC
5adc0f6 Orthogonalize re-indexing for FastSubArrays (#53369) By separating out the re-indexing step for `FastSubArray`s and specializing this for `FastContiguousSubArray`s, we don't need to define specialized `getindex`, `setindex!` and `isassigned` for `FastContiguousSubArray`s anymore. The fallback method for `FastSubArray`s will correctly handle the special case. (cherry picked from commit 16871e73f813345b2790c2879ececde55a4a2d65) 15 March 2024, 16:21:28 UTC
6e80df2 inlining: bail out unless `match.spec_types <: match.method.sig` (#53720) As Jameson pointed out in the link below, while the union-split handles cases when there are uncovered matches, sometimes the expected condition `spec_types <: method.sig` that the union-split algorithm relies on isn't met in such cases, which caused issues like #52644. This commit fixes the problem by adding explicit checks for such cases. Note that this is based on #52092. The extra handling for single method match unmatched static parameters based on `only_method` that was removed in JuliaLang/#52092 has been ineffective and would otherwise cause problematic inlining on this PR. We'll likely need to come back to this later and figure out a safe and effective way to deal with such cases in the future when the handling for either case turns out to be necessary. - closes #52644 - xref: <https://github.com/JuliaLang/julia/pull/53600#pullrequestreview-1917272781> 15 March 2024, 00:42:06 UTC
a66bbfa inlining: remove ineffective handling for unmatched params (#52092) The deleted branch was added in #45062, although it had not been tested. I tried the following diff to find cases optimized by that, but I just found the handling proved to be in vain in all cases I tried. ```diff diff --git a/base/compiler/ssair/inlining.jl b/base/compiler/ssair/inlining.jl index 318b21b09b..7e42a65aa4 100644 --- a/base/compiler/ssair/inlining.jl +++ b/base/compiler/ssair/inlining.jl @@ -1473,6 +1473,14 @@ function compute_inlining_cases(@nospecialize(info::CallInfo), flag::UInt32, sig handle_any_const_result!(cases, result, match, argtypes, info, flag, state; allow_abstract=true, allow_typevars=true) fully_covered = handled_all_cases = match.fully_covers + if length(cases) == 1 && fully_covered + println("first case: ", only_method) + elseif length(cases) == 1 + atype = argtypes_to_type(sig.argtypes) + if atype isa DataType && cases[1].sig isa DataType + println("second case: ", only_method) + end + end elseif !handled_all_cases # if we've not seen all candidates, union split is valid only for dispatch tuples filter!(case::InliningCase->isdispatchtuple(case.sig), cases) ``` 15 March 2024, 00:41:59 UTC
06d5ca1 precompilepkgs: package in boths deps and weakdeps are in fact only weak (#53649) Missed when porting from Pkg. Fixes https://github.com/JuliaLang/Pkg.jl/issues/3834. (cherry picked from commit e618369409609f905d2a65f1e68cc934931991fd) 08 March 2024, 16:19:57 UTC
334fd49 bump Pkg 08 March 2024, 15:26:00 UTC
814257c add `construct_[post]domtree(::[IRCode|CFG])` interfaces (#53638) We currently have `construct_[post]domtree(::Vector{BasicBlock})` only. The higher level interfaces are often convenient. 08 March 2024, 07:46:21 UTC
b3fdb92 Merge branch 'release-1.11' into backports-release-1.11 08 March 2024, 07:28:17 UTC
915d62e edit NEWS for 1.11 (#53423) Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 07 March 2024, 21:12:27 UTC
2a7100a inlining: use method match signature for union-spliting (#53600) In cases where the results of constant inference, like concrete-eval, are used for union-split inlining, `isa`-blocks are generated using the `result.edge.specTypes` stored within each `result`. However, it's been found that the `edge` returned by abstract interpretation may have been widened by the new `@nospecializeinfer`, which can result in invalid union-splitting. To address this problem, this commit tweaks the inlining algorithm so that it performs union-split inlining using the original signatures that abstract interpretation used for union-split inference, by using `match::MethodMatch`. - fixes #53590 07 March 2024, 16:17:22 UTC
32efb7e 🤖 [master] Bump the Pkg stdlib from e7d740ac8 to 56c379045 (cherry picked from commit 87433e53df6818911e0d69dc0a6e0104fdb38321) 07 March 2024, 15:16:24 UTC
dbc0241 typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (#53553) typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (cherry picked from commit 56f1c8ae62c07cb940e0c4fc02d5dfac9ec73147) 07 March 2024, 15:05:57 UTC
f859acd Unexport with, at_with, and ScopedValue from Base (#53004) fixes #52535 --------- Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> (cherry picked from commit 6335386555ff5af3fa7844a8674473871c8427dd) 06 March 2024, 15:09:54 UTC
2d485dc revert "Add @create_log_macro for making custom styled logging macros (#52196)" (#53551) (cherry picked from commit 8bf6a073a2bec5c015a8da3a8d5bb22d129d15ca) 06 March 2024, 15:08:43 UTC
f46f0b8 task splitting: change additive accumulation to multiplicative (#53408) Issue raised [here](https://discourse.julialang.org/t/linear-relationship-between-xoshiro-tasks/110454). Given this definition, look at output values: ```jl using .Threads macro fetch(ex) :(fetch(@spawn($(esc(ex))))) end function taskCorrelatedXoshiros(+ = +) r11, r10 = @fetch (@fetch(rand(UInt64)), rand(UInt64)) r01, r00 = (@fetch(rand(UInt64)), rand(UInt64)) r01 + r10 - (r00 + r11) end ``` Before: ```jl julia> sort!(unique(taskCorrelatedXoshiros() for _ = 1:1000)) 9-element Vector{UInt64}: 0x0000000000000000 0x0000000000000001 0x00000000007fffff 0x0000000000800000 0x0000000000800001 0xffffffffff7fffff 0xffffffffff800000 0xffffffffff800001 0xffffffffffffffff ``` After: ```jl julia> sort!(unique(taskCorrelatedXoshiros() for _ = 1:1000)) 1000-element Vector{UInt64}: 0x000420647a085960 0x0038c5b889b585c6 0x007b29fae8107ff7 0x00e73b9e883ac1c8 ⋮ 0xfe68be9c0dde1e88 0xfeca042354218c35 0xfeeb8203e470c96b 0xfff5dbb8771307b9 julia> sort!(unique(taskCorrelatedXoshiros(*) for _ = 1:1000)) 1000-element Vector{UInt64}: 0x00126f951c1e56dc 0x0025a82477ffac08 0x002dd82c9986457a 0x00a713c4d56a3dbc ⋮ 0xfe2e40a5b345095e 0xfe77b90881967436 0xfea2559be63f1701 0xff88b5b28cefac5f ``` (cherry picked from commit 77c06727559c3dbb87e5fde46cec87ce59ba61c8) 06 March 2024, 15:07:08 UTC
2d89fee bump Pkg 06 March 2024, 11:20:07 UTC
fb60a88 fix error path in `precompilepkgs` (#53606) this was accidentally left when porting this from Pkg.jl (cherry picked from commit 427da5c38ee08ab8477f2cd706c605d2d0bcb84c) 06 March 2024, 09:39:13 UTC
d98f9cd build: remove extra .a file (#53596) fix #53569 (cherry picked from commit b50344fa0a43bf1da7855a3dcd4dacaae65462bb) 06 March 2024, 09:39:13 UTC
f8fd7fd add back `unsafe_convert` to pointer for arrays (#53589) This caused a pretty big breakage in the ecosystem (~50 packages) and is according to Jameson "Too breaking for no necessary reason". So let's add it back. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit d3ee213987986d5a5acf702061c60a46cb13cab4) 06 March 2024, 09:39:13 UTC
bd6b7eb Move parallel precompilation to Base (#53403) Parallel precompilation is more or less now required in order to use somewhat large packages unless you want to wait an obscene long time for it to complete. Right now, we even start a parallel precompilation on a package load if we notice that the package you are loading is not precompiled. This functionally has typically been implemented in Pkg but with Pkg not being in the sysimage it becomes a bit awkward because we then need to load Pkg from Base. The only real reason this functionality has been implemented in Pkg is that Pkg has some useful features for parsing environments. Moving precompilation to Base has typically been stalled on such an environment parser not existing in Base. However, in https://github.com/JuliaLang/julia/pull/46690 I started implemented code loading on top of a more up front environment parser (instead of the "incremental" one that currently exists in `loading.jl`) and we can retro fit this to be used as the basis of parallel precompilation. At some later point code loading could be implemented on top of it but that is for now considered future work. This PR thus adds the environment parser from the codeloading PR and implementes the parallel precompilation feature from Pkg on top of it (instead of on top of the `EnvCache` in Pkg). Some points to bring up here: - This copy pastes the progress bar implementation in Pkg into here. It is probably a bit excessive to use so we can simplify that significantly. - Parallel precompilation uses the `FileWatching` module to avoid different processes trying to precompile the same package concurrently. Right now, I used grab this from `Base.loaded_modules` relying on it being in the sysimage. - This removes the "suspended" functionality from the Pkg precompilation which does not try to precompile packages if they have "recently" failed which is unclear how useful it is in practice. This also requires the Serialization stdlib and uses data structures defined in Pkg so it is hard to keep when moving this to Base. --------- Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> (cherry picked from commit 67451604cf463c912c2325eb5990ad46262468c2) 06 March 2024, 09:39:12 UTC
d30d8ef Update Documenter to v1.3 for inventory writing (#53571) With the newest Documenter release, the Julia documentation will automatically have an `objects.inv` file. This file allows any other project using Documenter with the [`DocumenterInterLinks`](https://github.com/JuliaDocs/DocumenterInterLinks.jl) plugin (or any project using [Sphinx](https://www.sphinx-doc.org/en/master/)) to link directly into the Julia documentation, e.g., with ```[`Base.sort!`](@extref Julia)```. See also https://github.com/JuliaDocs/Documenter.jl/pull/2424#issuecomment-1960025462 and the following comments (cherry picked from commit 0311aa4caf461d05fb408de67dafc582e2ada9a0) 06 March 2024, 09:39:12 UTC
53180e4 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) 06 March 2024, 09:39:12 UTC
c01ef98 Always return a value in 1-d circshift! of abstractarray.jl (#53554) Co-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> (cherry picked from commit 7179050c81cfcaca75419f4948bf59a025b50469) 06 March 2024, 09:39:12 UTC
b63e086 use `_readdirx` for `walkdir` (#53545) On a M2 Mac there is some benefit, but assumed to be much greater on slower filesystems. ``` # master julia> @btime collect(walkdir(expanduser("~/Downloads"))); 380.086 ms (310696 allocations: 25.29 MiB) # This PR julia> @btime collect(walkdir(expanduser("~/Downloads"))); 289.747 ms (103300 allocations: 7.50 MiB) ``` The implementations appear to produce the same result ``` julia> collect(walkdir(expanduser("~/Downloads"))) == collect(walkdirx(expanduser("~/Downloads"))) true ``` (cherry picked from commit 2b9595601e6e81b0c81376d7942497af22e222dd) 06 March 2024, 09:39:11 UTC
7859e32 use more efficient `_readdirx` for tab completion (#53540) Fixes https://github.com/JuliaLang/julia/issues/53153 (cherry picked from commit 188e386e090fb83e89fb527d68fd23afee94c3b2) 06 March 2024, 09:39:11 UTC
6904351 improve `--heap-size-hint` arg handling (#48050) Previously, `--heap-size-hint` would silently ignore many flavors of "bad" input, parsing things like "3PB" as 3 bytes. This change makes it significantly less permissive, erroring unless it can parse a number (still relying on the C `sscanf` `%Lf` format specifier there) with an optional unit (case-insensitive, either with or without the trailing `b`). Also test it. (cherry picked from commit 138aba7320c4c37b1ad6330ec46531077f8ee516) 06 March 2024, 09:39:10 UTC
42a71a5 Allow AnnotatedStrings in log messages (#51802) Permitting annotated strings allows for styling information to be preserved through to log printing. (cherry picked from commit 199851801fa183c1bfac9b3ba2282655e2629b7f) 06 March 2024, 09:39:10 UTC
8912805 Add a lazy `logrange` function and `LogRange` type (#39071) (cherry picked from commit 3ed2b497910e091c80035339598e4c28d98b7188) 06 March 2024, 09:39:10 UTC
0520b80 fix InteractiveUtils call in Base.runtests on failure (#53525) Noticed in CI that `Base.runtests(["fail"])` fails here instead of throwing the correct error later, since #53326. (cherry picked from commit 95f54c4dcb58e4f15f53f8a13a930db8e035ea89) 01 March 2024, 09:52:03 UTC
1366e34 add _readdirx for returning more object info gathered during dir scan (#53377) (cherry picked from commit 989c4db50e0ca59b890af2f1800004ecf91c0faf) 01 March 2024, 09:52:02 UTC
b701b5d add back an alias for `check_top_bit` (#53523) Used in some packages (e.g. rfourquet/BitIntegers.jl) Renamed in https://github.com/JuliaLang/julia/pull/53166 (cherry picked from commit 24aaf00819e49ba5c377b9e9deed287e54333129) 01 March 2024, 09:52:01 UTC
4301147 update staled `Core.Compiler.Effects` documentation (#53507) (cherry picked from commit c80a9647166d59782eff6be8c75a5052e17483d7) 01 March 2024, 09:52:00 UTC
79421de Avoid compiler warning about redefining jl_globalref_t (#53499) (cherry picked from commit 71f68b4ce9189e64f320631f3f74ffb3dd10e875) 01 March 2024, 09:51:59 UTC
6abaed1 add IR encoding for EnterNode (#53482) fixes #53248 (cherry picked from commit b3b27360672f87af78e90f43737e32988d9b8be1) 01 March 2024, 09:51:59 UTC
671de9f set VERSION to 1.11.0-alpha1 (#53358) https://github.com/JuliaLang/julia/pull/53345 got messed up 01 March 2024, 08:30:50 UTC
2911937 Backports release 1.11 (#53472) Backported PRs: - [x] #53361 <!-- 🤖 [master] Bump the SparseArrays stdlib from c9f7293 to cb602d7 --> - [x] #53300 <!-- allow external absint to hold custom data in `codeinst.inferred` --> - [x] #53342 <!-- Add `Base.wrap` to docs --> - [x] #53372 <!-- Silence warnings in `test/file.jl` --> - [x] #53357 <!-- 🤖 [master] Bump the Pkg stdlib from 6dd0e7c9e to 76070d295 --> - [x] #53373 <!-- fix sysimage-native-code=no option with pkgimages --> - [x] #53333 <!-- More consistent return value for annotations, take 2 --> - [x] #53354 <!-- fix code coverage bug in tail position and `else` --> - [x] #53407 <!-- fix sysimage-native-code=yes option --> - [x] #53388 <!-- Fix documentation: thread pool of main thread --> - [x] #53355 <!-- Fix synchronization issues on the GC scheduler. --> - [x] #53429 <!-- Subtype: skip slow-path in `local_∀_∃_subtype` if inputs contain no ∃ typevar. --> - [x] #53437 <!-- Add debug variant of loader_trampolines.o --> - [x] #53284 <!-- Add annotate! method for AnnotatedIOBuffer --> - [x] #53466 <!-- [MozillaCACerts_jll] Update to v2023-12-12 --> - [x] #53467 <!-- [LibGit2_jll] Update to v1.7.2 --> - [x] #53326 <!-- RFC: when loading code for internal purposes, load stdlib files directly, bypassing DEPOT_PATH, LOAD_PATH, and stale checks --> - [x] #53332 - [x] #53320 <!-- Add `Sys.isreadable, Sys.iswriteable`, update `ispath` --> - [x] #53476 Contains multiple commits, manual intervention needed: - [ ] #53285 <!-- Add update mechanism for Terminfo, and common user-alias data --> Non-merged PRs with backport label: - [ ] #53424 <!-- yet more atomics & cache-line fixes on work-stealing queue --> - [ ] #53408 <!-- task splitting: change additive accumulation to multiplicative --> - [ ] #53403 <!-- Move parallel precompilation to Base --> - [ ] #53402 <!-- Add `jl_getaffinity` and `jl_setaffinity` --> - [ ] #53391 <!-- Default to the medium code model in x86 linux --> - [ ] #53125 <!-- coverage: count coverage where explicitly requested by inference only --> - [ ] #52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> 01 March 2024, 08:30:18 UTC
d6bbf85 post-opt analysis: fix conditional successor visitation logic (#53518) Previously `conditional_successors_may_throw` performed post-domination analysis not on the initially specified `bb` (which was given as the argument), but on those BBs being analyzed that were popped from the work-queue at the time. As a result, there were cases where not all conditional successors were visited. fixes #53508 01 March 2024, 00:43:55 UTC
7ef180e protect against PkgId and UUID being imported and losing Base prefix in create_expr_cache (#53387) Fixes https://github.com/JuliaLang/julia/issues/53381 (cherry picked from commit a1db8daafd6c1a1179de77955167a6958a4c23b0) 29 February 2024, 09:19:22 UTC
0f0f8eb minor fixes on test/precompile.jl (#53476) These changes are driven-by fixes I found during investigating into a more complex issue related to precompilation with external abs int. 27 February 2024, 06:14:09 UTC
ba189d8 Add update mechanism for Terminfo, and common user-alias data (#53285) Now that we take care of terminfo parsing ourselves, having a clear origin and processing method for arriving at our reference terminfo data seems somewhat important. The original form was acquired by re-purposing some pre-processed terminfo data from NCurses (I forget the exact source). I considered adding a separate ingestion/processing script, but it occurred to me that it would make sense to have the method for updating the data file be _in_ the data file, by turning it into a quine. This seems to work rather well, and so long as the NCurses source file format stays the same, updating the terminfo data is now dead simple. While working on the terminfo files, some minor refactors popped up as "probably nice to have". One of which makes the reported number of flags/numbers/strings actually accurate. Lastly, to support the ergonomic use of capability variable names instead of the short (read: uninformative) capname, we now also import the NCurses-recognised extended capabilities, and generate/specify some nice aliases for them. ----- If we separate out the terminfo parser/data into a small stdlib, the state here will be the initial state of the repo. (cherry picked from commit 923fe2d74d469d73f0285a9cd41c88f90edd04d1) 26 February 2024, 10:21:42 UTC
7a95a0c Prevent tainting native code loading from propagating (#53457) 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> (cherry picked from commit b8a0a3978ccf163ce8fc371a4882547dc1271d53) 26 February 2024, 09:17:39 UTC
4141f35 staticdata: fix assert from partially disabled native code (#53439) This should fix the assertion failure that has been plaguing the Pkg tests, as discussed in https://github.com/JuliaLang/julia/pull/52123#issuecomment-1959965395 (cherry picked from commit 6cbed3198554381a6ed57b2d81f6c2ae0adfc4e5) 26 February 2024, 09:17:30 UTC
945c93f Add `Sys.isreadable, Sys.iswriteable`, update `ispath` (#53320) As discussed here: https://github.com/JuliaLang/julia/pull/53286#discussion_r1487039190 Readds the methods that were removed in https://github.com/JuliaLang/julia/pull/12819. (cherry picked from commit ea2b255b3e42fc9abee3a657f5a3f785beb9edff) 26 February 2024, 09:06:29 UTC
00cbe4a when loading code for internal purposes, load stdlib files directly(#53326) This bypasses DEPOT_PATH, LOAD_PATH, and stale checks when loading known stdlib code for known purposes from known locations, specifically to avoid the problem that I cannot fix my tools because I have used my tools to break my tools. This helps avoid the situation that the user can break important Pkg, REPL, Socket or similar features simply because they chose to remove `@stdlib` from their environment. For example, if you make an edit to REPL, then this will trigger recompilation and load the edited version: ``` $ ./julia -e 'using REPL' -iq ┌ Info: Precompiling REPL [3fa0cd96-eef1-5676-8a61-b3b8758bbffb] (cache misses: include_dependency fsize change (2), invalid header (10), mismatched flags (1)) └ @ Base loading.jl:2643 julia> ``` But this will load the version that shipped with Julia, regardless of the state of the cache or the source code (unless you delete the cache files): ``` $ ./julia -iq julia> ``` Fixes #53365 (cherry picked from commit ea1a0d2512be72a4568348e6b5fdfbbe687436c3) 26 February 2024, 09:05:33 UTC
103f96f add being able to pass a `CacheFlags()` to `isprecompiled` to verify a precompile file against a set of custom flags (#53332) (cherry picked from commit 9c0f1dc1e426008250415d5dd7aa155e9df1a75e) 26 February 2024, 09:04:25 UTC
923789b [LibGit2_jll] Update to v1.7.2 (#53467) Memo to self: * update version number in `stdlib/LibGit2_jll/Project.toml` * update test result in `stdlib/LibGit2_jll/test/runtests.jl` * update version number and commit sha in `deps/libgit2.version` * refresh checksums with `make -f contrib/refresh_checksums.mk -j libgit2` (cherry picked from commit 90d03b2bbec84488af7792258bf99fa2606b77a5) 26 February 2024, 09:03:12 UTC
d49cdf5 [MozillaCACerts_jll] Update to v2023-12-12 (#53466) Memo to self: * update the version in `stdlib/MozillaCACerts_jll/Project.toml` * update `MOZILLA_CACERT_VERSION` in `deps/libgit2.version` * generate new checksums with `make -f contrib/refresh_checksums.mk mozillacert` * manually delete old checksums in `deps/checksums/cacert-<OLD-VERSIONS>` (cherry picked from commit 669cbdce4e40e3d06b168323b97c003d75483ca9) 26 February 2024, 09:03:12 UTC
99ad63e Add annotate! method for AnnotatedIOBuffer (#53284) The annotate! function provides a convenient way of adding annotations to an AnnotatedString/AnnotatedChar without accessing any of the implementation details of the Annotated* types. When AnnotatedIOBuffer was introduced, an appropriate annotations method was added, but annotate! was missed. To correct that, we refactor the current annotate! method for AnnotatedString to a more general helper function _annotate! that operates on the annotation vector itself, and use this new helper method to easily provide an annotate! method for AnnotatedIOBuffer. (cherry picked from commit 6e1d062bccf0147b849461c7c09ddd03d94f71dc) 26 February 2024, 09:01:16 UTC
63ebed7 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, 09:01:16 UTC
d57e7f7 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, 09:01:15 UTC
06e52c5 Fix synchronization issue on the GC scheduler (#53355) This aims to slightly simplify the synchronization by making `n_threads_marking` the sole memory location of relevance for it, it also removes the fast path, because being protected by the lock is quite important so that the observed gc state arrays are valid. Fixes: #53350 Fixes: #52757 Maybe fixes: #53026 Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit a96726b84d9dfcaec304c5643956a2e9d2176079) 26 February 2024, 09:01:15 UTC
2fdf5df 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, 09:01:14 UTC
2d6c154 fix sysimage-native-code=yes option (#53407) Follow up to #53373, it seems this assert was broken for empty packages, causing CI issues. It is not necessary. Observed in CI here: https://github.com/JuliaLang/julia/pull/53395 https://buildkite.com/julialang/julia-master/builds/33860#018dc4dc-a603-4ad1-90cf-574540a41720 (cherry picked from commit 3742d33ecc9048bb925ad89020751702c45f18a2) 26 February 2024, 09:01:13 UTC
6af3596 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, 09:01:13 UTC
f287e8a More consistent return value for annotations, take 2 (#53333) Relands #53281 with some fixes noticed, though not the original causes of the failure. (cherry picked from commit fbc766aa9869e914e9540f5ad5b7ec03ccfcd47d) 26 February 2024, 09:01:12 UTC
d5dcb94 fix sysimage-native-code=no option with pkgimages (#53373) Loading pkgimages would try to access the sysimage native code, which will fail. Ensure that no code tries to load if the sysimage native code is not available, as it may try to link against it. Fixes #53147 (cherry picked from commit 02699bb6cd83d16b1e51e2fb127241e18df7c56b) 26 February 2024, 09:01:11 UTC
43dc98a 🤖 [master] Bump the Pkg stdlib from 6dd0e7c9e to 76070d295 (#53357) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: 6dd0e7c9e New commit: 76070d295 Julia version: 1.12.0-DEV Pkg version: 1.11.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/6dd0e7c9e99d578aa5477e2c78c91a161ce4c357...76070d295fc4a1f27f852e05400bbc956962e084 ``` $ git log --oneline 6dd0e7c9e..76070d295 76070d295 Prevent repl crash on invalid command (#3800) d267986c2 RFC: stop testing non-ARM on mac on CI (#3794) 2571be6d1 CI: Add Apple Silicon (macOS aarch64) to the CI matrix (#3793) 3075fb78c Simplify Pkg.Registry APIs. (#3785) e6f1e0902 Explain about Manifest.toml per julia version (#3791) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> (cherry picked from commit 59102aa21e1b37cd116f12553876937dd080dcb1) 26 February 2024, 09:01:10 UTC
162bbfb silence warnings in tests introduced in #33593 (cherry picked from commit 4990429a1f038ebeda573181609745bf30c4a7d6) 26 February 2024, 09:01:10 UTC
008d109 add Base.wrap to docs (cherry picked from commit 2197b5c9ed926c20ca03c6bf6fa903edd96ab6b1) 26 February 2024, 09:01:09 UTC
913f7d5 allow external absint to hold custom data in `codeinst.inferred` (#53300) It has been possible for external abstract interpreters to keep custom data in `codeinst.inferred` (together /w overloading `inlining_policy`). After JuliaLang/julia#52233, when such external absint uses `InternalCodeCache`, this data is passed to `jl_ir_flag_inferred`, leading to segfaults in assertion builds. This commit resolves the issue by omitting `jl_ir_flag_inferred` checks when the `cache_owner` is external. Nonetheless, a better resolution might be necessary. It suggests that the current design of `code_owner` and `InternalCodeCache` for the external cache system is somewhat flawed. A conceivable approach could involve: - Adding a layer similar to `inlining_policy` in `CC.get(::WorldView{InternalCodeCache})` to enable safe redirection of custom data to the native interpreter's implementation. - Prohibiting custom data in the `inferred` field and directing such data to be kept in `analysis_results`. (cherry picked from commit 93876c92ed725272d8853d73dc0c3256095f1617) 26 February 2024, 09:01:08 UTC
7dad444 🤖 [master] Bump the SparseArrays stdlib from c9f7293 to cb602d7 (#53361) Stdlib: SparseArrays URL: https://github.com/JuliaSparse/SparseArrays.jl.git Stdlib branch: main Julia branch: master Old commit: c9f7293 New commit: cb602d7 Julia version: 1.12.0-DEV SparseArrays version: 1.11.0(Does not match) Bump invoked by: @dkarrasch Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaSparse/SparseArrays.jl/compare/c9f7293c10e6bea775feceabd4554ab55c34e3a8...cb602d7b7cf46057ddc87d23cda2bdd168a548ac ``` $ git log --oneline c9f7293..cb602d7 cb602d7 Add generic matmatmul for inplace sparse x sparse (#486) 95575c0 Speedup for `findmin()/findmax()` on sparse arrays (#510) (#511) 4cc31f2 Fix error message in getcommon() in cholmod (#509) 1748989 Move `fkeep!` docstring to the right function (#503) 1aa6431 Update ci.yml timeout (#507) 1f88ae1 Update ci.yml - add codecov token (#504) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> (cherry picked from commit ddd7afb95165b15f87b2c83e7862437d0a68272d) 26 February 2024, 09:01:07 UTC
aecd8fd Propagate inbounds in isassigned with CartesianIndex indices (#53305) Close #53302 --------- Co-authored-by: Matt Bauman <mbauman@juliahub.com> 16 February 2024, 02:40:57 UTC
4118db8 update `--pkgimages=existing` option in CLI section of manual (#53343) 16 February 2024, 02:40:26 UTC
e460d35 Support `signbit(::Dates.Period)` (#51073) 15 February 2024, 15:55:51 UTC
1b25d1e Add CartesianIndex to getindex docstring (#51567) Co-authored-by: Matt Bauman <mbauman@gmail.com> Co-authored-by: Denis Barucic <barucic.d@gmail.com> Co-authored-by: Jishnu Bhattacharya <jishnub.github@gmail.com> Co-authored-by: Max Horn <max@quendi.de> 15 February 2024, 15:25:31 UTC
c7eb766 minor refactoring on the `CustomAbstractInterpreterCaching` test case (#53329) By using `@newinterp`. Also ensures `cache_owner` for external abstract interpreter defined by `@newinterp` is unique always. 15 February 2024, 14:06:58 UTC
61c3521 More cautious legacy_color conversion in Logging (#53280) Can be seen as a follow-on from #51829, also wants https://github.com/JuliaLang/StyledStrings.jl/pull/37 to behave as expected. 15 February 2024, 10:26:34 UTC
7fcf9c8 Random: make statistical uniform tests fail less often (#52165) We have a very basic test to check that a distribution might be uniform: all the sampled elements should be unique, under certain conditions. But these conditions allowed the tests to fail too often. So allow one collision if the probability of such an event is too high. Fix #52156. --------- Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 15 February 2024, 02:38:27 UTC
2c0098e Cleanups for tagged code instance (#53336) Two small cleanups to #52233 - Don't use foreign code-instances for native code caching decision making - don't return a non-native codeinst for jl_method_compiled --------- Co-authored-by: Keno Fischer <keno@juliahub.com> 15 February 2024, 02:22:21 UTC
4c2633c Fix results.json generation after chunk-splitting (#53335) Should fix the problem raised in https://github.com/JuliaLang/julia/pull/53323#issuecomment-1943007134. 15 February 2024, 02:16:43 UTC
254f234 Merge duplicate entries in results.json (#53334) Should resolve #53198 🙂 15 February 2024, 02:16:03 UTC
back to top