-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comparison of branch: backports-release-1.10+RAI #46
Commits on Jan 6, 2024
-
inference: Guard TypeVar special case against vararg (JuliaLang#52721)
Fix JuliaLang#52613 by making the TypeVar special case in inference check for vararg first. There's nothing the special case can really do with vararg anyway, so fall back to the ordinary abstract call handling.
Configuration menu - View commit details
-
Copy full SHA for 6eb535d - Browse repository at this point
Copy the full SHA 6eb535dView commit details -
Use
jl_types_egal
inequiv_field_types
(JuliaLang#52748)Fixes JuliaLang#52686 Fixes timholy/Revise.jl#770 --------- Co-authored-by: Jameson Nash <[email protected]> Co-authored-by: Kristoffer Carlsson <[email protected]> Co-authored-by: Shuhei Kadowaki <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6a107d0 - Browse repository at this point
Copy the full SHA 6a107d0View commit details
Commits on Jan 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5c0a2a6 - Browse repository at this point
Copy the full SHA 5c0a2a6View commit details
Commits on Jan 12, 2024
-
effects: fix JuliaLang#52843, account for mutable values directly emb…
…edded to IR Fixes another variant of JuliaLang#52531.
Configuration menu - View commit details
-
Copy full SHA for fd13cf0 - Browse repository at this point
Copy the full SHA fd13cf0View commit details
Commits on Jan 13, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0cea48e - Browse repository at this point
Copy the full SHA 0cea48eView commit details -
lowering: remove
QuoteNode
wrapping for captured variables (JuliaLa……ng#52878) Issues like JuliaLang#52531 were more broadly fixed by JuliaLang#52856. This commit partially reverts JuliaLang#52596, while leaving the added tests.
Configuration menu - View commit details
-
Copy full SHA for df9062b - Browse repository at this point
Copy the full SHA df9062bView commit details
Commits on Jan 14, 2024
-
Revert inlined method signature stacktrace lookup code (JuliaLang#52754)
The fallback code that was written for JuliaLang#41099 is causing unintended issues with some inlined stack frames (one previous JuliaLang#51405, new JuliaLang#52709), since the main piece, linetable storage and lookup, was removed in JuliaLang#50546. Probably better to strip it all back to how it was previously, until it can all be revisited more fully. Should be backported to 1.10.
Configuration menu - View commit details
-
Copy full SHA for 813bfac - Browse repository at this point
Copy the full SHA 813bfacView commit details
Commits on Jan 16, 2024
-
inference: always bail out const-prop' with non-const result limited (J…
…uliaLang#52836) Investigating into JuliaLang#52763, I've found that `AbstractInterpreters` which enables the `aggressive_constprop` option, such as `REPLInterpreter`, might perform const-prop' even if the result of a non-const call is `LimitedAccuracy`. This can lead to an unintended infinite loop with a custom aggressive const-prop' implementation. This commit restricts const-prop' for such cases where the non-const call result is limited to avoid the issue. This fix is conservative, but given that accurate inference is mostly impossible when there are unresolvable cycles (which is indicated by limited result), aggressive const-prop' isn't necessary for such cases, and I don't anticipate this leading to any obvious regression. fix JuliaLang#52763
Configuration menu - View commit details
-
Copy full SHA for e5ccc44 - Browse repository at this point
Copy the full SHA e5ccc44View commit details -
🤖 [backports-release-1.10] Bump the Downloads stdlib from f97c72f to …
…ead289a (JuliaLang#52886) Stdlib: Downloads URL: https://github.com/JuliaLang/Downloads.jl.git Stdlib branch: release-1.10 Julia branch: backports-release-1.10 Old commit: f97c72f New commit: ead289a Julia version: 1.10.0 Downloads version: 1.6.0(It's okay that it doesn't match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: JuliaLang/Downloads.jl@f97c72f...ead289a ``` $ git log --oneline f97c72f..ead289a ead289a Close Multi timers atexit. Add 1.6 CI (JuliaLang#234) 8a614d5 Skip flakey "concurrent requests" tests on windows (JuliaLang#228) 246504e add a small precompile workload (JuliaLang#226) 3ed0f08 Document how to bypass the 20-second timeout (JuliaLang#222) ``` Co-authored-by: Dilum Aluthge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aaaf5de - Browse repository at this point
Copy the full SHA aaaf5deView commit details -
Correctly port realloc from 1.9 to 1.10 (JuliaLang#52929)
I think when we backed off the new heuristics for 1.10 this got missed in the meanwhile. Should fix JuliaLang#52923
Configuration menu - View commit details
-
Copy full SHA for 788eff9 - Browse repository at this point
Copy the full SHA 788eff9View commit details
Commits on Jan 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for f9c2461 - Browse repository at this point
Copy the full SHA f9c2461View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47999ab - Browse repository at this point
Copy the full SHA 47999abView commit details
Commits on Jan 22, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ddb9d0d - Browse repository at this point
Copy the full SHA ddb9d0dView commit details
Commits on Jan 24, 2024
-
🤖 [backports-release-1.10] Bump the Pkg stdlib from 11cf00df7 to 7052…
…5539d (JuliaLang#53028) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: release-1.10 Julia branch: backports-release-1.10 Old commit: 11cf00df7 New commit: 70525539d Julia version: 1.10.0 Pkg version: 1.10.0 Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: JuliaLang/Pkg.jl@11cf00d...7052553 ``` $ git log --oneline 11cf00df7..70525539d 70525539d Merge pull request JuliaLang#3770 from JuliaLang/backports-release-1.10 729ebe1e3 Avoid deleting existing artifacts when ignoring hashes. (JuliaLang#3768) ``` Co-authored-by: Dilum Aluthge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3552d36 - Browse repository at this point
Copy the full SHA 3552d36View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d3c68e - Browse repository at this point
Copy the full SHA 7d3c68eView commit details -
loading: fix finding bundled stdlibs even if they are e.g. devved in …
…an environment higher in the load path (JuliaLang#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 c9bc2ff)
Configuration menu - View commit details
-
Copy full SHA for 2481fdf - Browse repository at this point
Copy the full SHA 2481fdfView commit details -
staticdata: handle cycles in datatypes (JuliaLang#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 JuliaLang#52660 (cherry picked from commit c94b1a3)
Configuration menu - View commit details
-
Copy full SHA for cc26004 - Browse repository at this point
Copy the full SHA cc26004View commit details -
use a Dict instead of an IdDict for caching of the
cwstring
for Win……dows env variables (JuliaLang#52758) Should fix JuliaLang#52711. My analysis of the invalidation is as follows: We added code to cache the conversion to `cwstring` in env handling on Windows (JuliaLang#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 b7c24ed)
Configuration menu - View commit details
-
Copy full SHA for 69d58e0 - Browse repository at this point
Copy the full SHA 69d58e0View commit details -
Insert hardcoded backlinks to stdlib doc pages (JuliaLang#51375)
This is JuliaLang#48814 times 23. It solves most of but not all of JuliaLang#50035. (cherry picked from commit a327a95)
Configuration menu - View commit details
-
Copy full SHA for d2fd317 - Browse repository at this point
Copy the full SHA d2fd317View commit details -
place work-stealing queue indices on different cache lines to avoid f…
…alse-sharing (JuliaLang#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](JuliaLang#48600 (comment))). - 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 9f36490)
Configuration menu - View commit details
-
Copy full SHA for 4f3a3ae - Browse repository at this point
Copy the full SHA 4f3a3aeView commit details -
Add type assertion in iterate for logicalindex (JuliaLang#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 JuliaArrays/StaticArrays.jl#1225 (cherry picked from commit 32ad80b)
Configuration menu - View commit details
-
Copy full SHA for 8517eb3 - Browse repository at this point
Copy the full SHA 8517eb3View commit details -
Fix a list in GC devdocs (JuliaLang#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 35c0498)
Configuration menu - View commit details
-
Copy full SHA for fa85fa7 - Browse repository at this point
Copy the full SHA fa85fa7View commit details -
make "dec" and ryu functions faster and simpler (JuliaLang#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 e9d9314)
Configuration menu - View commit details
-
Copy full SHA for a4cc920 - Browse repository at this point
Copy the full SHA a4cc920View commit details -
fix type-stability bugs in Ryu code (JuliaLang#52781)
Fixes JuliaLang#52749. (cherry picked from commit 5643c60)
Configuration menu - View commit details
-
Copy full SHA for e0e3c63 - Browse repository at this point
Copy the full SHA e0e3c63View commit details -
Default uplo in symmetric/hermitian (JuliaLang#52605)
This makes the function signatures match the respective docstrings, as well as that of `Symmetric/Hermitian`. (cherry picked from commit b4eefd0)
Configuration menu - View commit details
-
Copy full SHA for f371de8 - Browse repository at this point
Copy the full SHA f371de8View commit details -
Fix GC rooting during rehashing of iddict (JuliaLang#52569)
Should fix JuliaLang#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 5977cb0)
Configuration menu - View commit details
-
Copy full SHA for 8a04df0 - Browse repository at this point
Copy the full SHA 8a04df0View commit details -
heap snapshot: add gc roots and gc finalist roots to fix unrooted nod…
…es (JuliaLang#52618) (cherry picked from commit fe0db7d)
Configuration menu - View commit details
-
Copy full SHA for cfbff10 - Browse repository at this point
Copy the full SHA cfbff10View commit details -
Apple silicon has 128 byte alignment so fix our defines to match (Jul…
…iaLang#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 91ec2bb)
Configuration menu - View commit details
-
Copy full SHA for f06a63d - Browse repository at this point
Copy the full SHA f06a63dView commit details -
Replace
⇔
by↔
in documentation (JuliaLang#52078)There is no HTML entity `⇔` and accordingly all the usual browsers (Chrome, Firefox, Safari) don't render it. My guess is that there is confusion because GitHub supports `⇔` and shows it as ⇔ (and `↔` as ↔). 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 81c4f8e)
Configuration menu - View commit details
-
Copy full SHA for 6fdf37e - Browse repository at this point
Copy the full SHA 6fdf37eView commit details
Commits on Jan 26, 2024
-
Profile: use full terminal cols to show function name (JuliaLang#53055)
(cherry picked from commit 4919dd7)
Configuration menu - View commit details
-
Copy full SHA for ece8b7b - Browse repository at this point
Copy the full SHA ece8b7bView commit details
Commits on Jan 29, 2024
-
1.10: REPL: fix intermittent REPL test failure (JuliaLang#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 JuliaLang#52739.
Configuration menu - View commit details
-
Copy full SHA for 2c8ecd3 - Browse repository at this point
Copy the full SHA 2c8ecd3View commit details -
1.10: inlining: fix
joint_effects
calculation (JuliaLang#53076)This particular fix was part of JuliaLang#50805, but it wasn't included in version 1.10, leading to situations where an incorrect `:nothrow` could occur in 1.10 (JuliaLang#53062). This commit implements a minimal correction in 1.10 and also added some test cases. Fixes JuliaLang#53062.
Configuration menu - View commit details
-
Copy full SHA for a215b37 - Browse repository at this point
Copy the full SHA a215b37View commit details -
[OpenBLAS] Ugrade to v0.3.23+4
KristofferC committedJan 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 3c73873 - Browse repository at this point
Copy the full SHA 3c73873View commit details
Commits on Jan 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b0b804e - Browse repository at this point
Copy the full SHA b0b804eView commit details -
doc: replace harr HTML entity by unicode (JuliaLang#53066)
Documenter does not support HTML entities. See discussion in PR JuliaLang#52078 for further background. Co-authored-by: Dilum Aluthge <[email protected]> (cherry picked from commit 746fad0)
Configuration menu - View commit details
-
Copy full SHA for a45cd5f - Browse repository at this point
Copy the full SHA a45cd5fView commit details -
apply OpenBLAS_jll v0.3.23+4 patch (JuliaLang#53074)
Closes #53054 CC: @giordano @ViralBShah
Configuration menu - View commit details
-
Copy full SHA for c644e89 - Browse repository at this point
Copy the full SHA c644e89View commit details
Commits on Feb 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 00aa65e - Browse repository at this point
Copy the full SHA 00aa65eView commit details -
inference: avoid adding duplicate edges as invoke targets (JuliaLang#…
…53121) This was inefficient, though not wrong. Fixes JuliaLang#53020
Configuration menu - View commit details
-
Copy full SHA for 6407c33 - Browse repository at this point
Copy the full SHA 6407c33View commit details -
Put mingw32
*.a
files inprivate_libdir
(JuliaLang#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 <[email protected]> (cherry picked from commit 4ef353c)
Configuration menu - View commit details
-
Copy full SHA for 0627076 - Browse repository at this point
Copy the full SHA 0627076View commit details -
Add link to PR in NEWS (JuliaLang#53189)
The link to JuliaLang#49349 was missing.
Configuration menu - View commit details
-
Copy full SHA for 7a96210 - Browse repository at this point
Copy the full SHA 7a96210View commit details
Commits on Feb 6, 2024
-
Backports for 1.10.1 (JuliaLang#52755)
Backported PRs: - [x] JuliaLang#51095 <!-- Fix edge cases where inexact conversions to UInt don't throw --> - [x] JuliaLang#52583 <!-- Don't access parent of triangular matrix in powm --> - [x] JuliaLang#52645 <!-- update --gcthreads section in command line options --> - [x] JuliaLang#52423 <!-- update nthreads info in versioninfo --> - [x] JuliaLang#52721 <!-- inference: Guard TypeVar special case against vararg --> - [x] JuliaLang#52637 <!-- fix finding bundled stdlibs even if they are e.g. devved in an environment higher in the load path --> - [x] JuliaLang#52752 <!-- staticdata: handle cycles in datatypes --> - [x] JuliaLang#52758 <!-- use a Dict instead of an IdDict for caching of the `cwstring` for Windows env variables --> - [x] JuliaLang#51375 <!-- Insert hardcoded backlinks to stdlib doc pages --> - [x] JuliaLang#52994 <!-- place work-stealing queue indices on different cache lines to avoid false-sharing --> - [x] JuliaLang#53015 <!-- Add type assertion in iterate for logicalindex --> - [x] JuliaLang#53032 <!-- Fix a list in GC devdocs --> - [x] JuliaLang#52748 - [x] JuliaLang#52856 - [x] JuliaLang#52878 - [x] JuliaLang#52754 - [x] JuliaLang#52228 - [x] JuliaLang#52924 - [x] JuliaLang#52569 <!-- Fix GC rooting during rehashing of iddict --> - [x] JuliaLang#52605 <!-- Default uplo in symmetric/hermitian --> - [x] JuliaLang#52618 <!-- heap snapshot: add gc roots and gc finalist roots to fix unrooted nodes --> - [x] JuliaLang#52781 <!-- fix type-stability bugs in Ryu code --> - [x] JuliaLang#53055 <!-- Profile: use full terminal cols to show function name --> - [x] JuliaLang#53096 - [x] JuliaLang#53076 - [x] JuliaLang#52841 <!-- Extensions: make loading of extensions independent of what packages are in the sysimage --> - [x] JuliaLang#52078 <!-- Replace `⇔` by `↔` in documentation --> - [x] JuliaLang#53035 <!-- use proper cache-line size variable in work-stealing queue --> - [x] JuliaLang#53066 <!-- doc: replace harr HTML entity by unicode --> - [x] JuliaLang#52996 <!-- Apple silicon has 128 byte alignment so fix our defines to match --> - [x] JuliaLang#53121 Non-merged PRs with backport label: - [ ] JuliaLang#52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] JuliaLang#51479 <!-- prevent code loading from lookin in the versioned environment when building Julia -->
Configuration menu - View commit details
-
Copy full SHA for 1dfdf66 - Browse repository at this point
Copy the full SHA 1dfdf66View commit details -
Ensure elision of
require_one_based_indexing
with high-dim array vi……ews (JuliaLang#53091) Closes #49332 --------- Co-authored-by: Denis Barucic <[email protected]> (cherry picked from commit 9edf1dd)
Configuration menu - View commit details
-
Copy full SHA for ff295ca - Browse repository at this point
Copy the full SHA ff295caView commit details -
Try to fix incorrect documentation of
nthreads
(JuliaLang#53117)Since JuliaLang#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 95ae27f)
Configuration menu - View commit details
-
Copy full SHA for e1af4a9 - Browse repository at this point
Copy the full SHA e1af4a9View commit details -
Fix variable name in scaling an
AbstractTriangular
with zero alpha (J……uliaLang#52855) There is no `C` defined in these methods, so this branch used to error. (cherry picked from commit c5d7b87)
Configuration menu - View commit details
-
Copy full SHA for 93a596e - Browse repository at this point
Copy the full SHA 93a596eView commit details -
[REPLCompletions] enable completions for
using Module.Inner|
(Julia……Lang#52952) (cherry picked from commit a0d55cd)
Configuration menu - View commit details
-
Copy full SHA for a1ad1ba - Browse repository at this point
Copy the full SHA a1ad1baView commit details -
Inplace transpose for unit Triangular may skip diagonal (JuliaLang#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 cc74d24)
Configuration menu - View commit details
-
Copy full SHA for 2ef3842 - Browse repository at this point
Copy the full SHA 2ef3842View commit details -
fix bus error on smaller readonly file in unix (JuliaLang#44354)
Fixes: JuliaLang#28245 Co-authored-by: Jameson Nash <[email protected]> Co-authored-by: Stefan Karpinski <[email protected]> (cherry picked from commit ead627e)
Configuration menu - View commit details
-
Copy full SHA for 6fcff37 - Browse repository at this point
Copy the full SHA 6fcff37View commit details -
Backports release 1.10 (JuliaLang#53201)
A few stragglers. Backported PRs: - [x] JuliaLang#53091 <!-- Ensure elision of `require_one_based_indexing` with high-dim array views --> - [x] JuliaLang#53117 <!-- Try to fix incorrect documentation of `nthreads` --> - [x] JuliaLang#52855 <!-- Fix variable name in scaling an `AbstractTriangular` with zero alpha --> - [x] JuliaLang#52952 <!-- [REPLCompletions] enable completions for `using Module.Inner|` --> - [x] JuliaLang#53101 <!-- Inplace transpose for unit Triangular may skip diagonal --> Need manual backport: - [ ] JuliaLang#52505 <!-- fix alignment of emit_unbox_store copy --> Non-merged PRs with backport label: - [ ] JuliaLang#53125 <!-- coverage: count coverage where explicitly requested by inference only --> - [ ] JuliaLang#52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] JuliaLang#51479 <!-- prevent code loading from lookin in the versioned environment when building Julia -->
Configuration menu - View commit details
-
Copy full SHA for 4745ef8 - Browse repository at this point
Copy the full SHA 4745ef8View commit details
Commits on Feb 13, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 7790d6f - Browse repository at this point
Copy the full SHA 7790d6fView commit details
Commits on Feb 26, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2111c03 - Browse repository at this point
Copy the full SHA 2111c03View commit details -
Profile: add notes to
print()
docs (JuliaLang#53205)(cherry picked from commit 9bafc53)
Configuration menu - View commit details
-
Copy full SHA for 2b2eb4d - Browse repository at this point
Copy the full SHA 2b2eb4dView commit details -
Document --heap-size-hint in Command-line Interface (JuliaLang#50480)
Almost a direct copy of the output in `julia --help`. Closes JuliaLang#50588 Co-authored-by: Max Horn <[email protected]> (cherry picked from commit c5ad467)
Configuration menu - View commit details
-
Copy full SHA for be27b72 - Browse repository at this point
Copy the full SHA be27b72View commit details -
Fix typo in
Sys.total_memory
docstring. (JuliaLang#53301)Fixes JuliaLang#53298. (cherry picked from commit 81c6526)
Configuration menu - View commit details
-
Copy full SHA for 5b54ddf - Browse repository at this point
Copy the full SHA 5b54ddfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9e12184 - Browse repository at this point
Copy the full SHA 9e12184View commit details -
Configuration menu - View commit details
-
Copy full SHA for d002e96 - Browse repository at this point
Copy the full SHA d002e96View commit details -
fix code coverage bug in tail position and
else
(JuliaLang#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 61fc907)
Configuration menu - View commit details
-
Copy full SHA for 45c2bd8 - Browse repository at this point
Copy the full SHA 45c2bd8View commit details -
docs: remove outdated discussion about externally changing module bin…
…dings (JuliaLang#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 736eeda)
Configuration menu - View commit details
-
Copy full SHA for 25827a4 - Browse repository at this point
Copy the full SHA 25827a4View commit details -
SubArray: avoid invalid elimination of singleton indices (JuliaLang#5…
…3228) close JuliaLang#53209 (cherry picked from commit 4d0a469)
Configuration menu - View commit details
-
Copy full SHA for f2d56c7 - Browse repository at this point
Copy the full SHA f2d56c7View commit details -
code_warntype docs: more neutral reference to @code_warntype (JuliaLa…
…ng#51361) fix JuliaLang#51358 --------- Co-authored-by: Fredrik Ekre <[email protected]> Co-authored-by: Max Horn <[email protected]> (cherry picked from commit 5cb5cd8)
Configuration menu - View commit details
-
Copy full SHA for 5ae8707 - Browse repository at this point
Copy the full SHA 5ae8707View commit details -
Fix documentation: thread pool of main thread (JuliaLang#53388)
See JuliaLang#53217 (comment) (cherry picked from commit 8425b0e)
Configuration menu - View commit details
-
Copy full SHA for 8f3304a - Browse repository at this point
Copy the full SHA 8f3304aView commit details -
Subtype: skip slow-path in
local_∀_∃_subtype
if inputs contain no ∃…… typevar. (JuliaLang#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 JuliaLang#53371. (cherry picked from commit 37c48e8)
Configuration menu - View commit details
-
Copy full SHA for 7bfd9f4 - Browse repository at this point
Copy the full SHA 7bfd9f4View commit details -
Add debug variant of loader_trampolines.o (JuliaLang#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 JuliaPackaging/Yggdrasil#8151 so I'll first see if it works there. Closes JuliaLang#45002. (cherry picked from commit fee198b)
Configuration menu - View commit details
-
Copy full SHA for 5d971b9 - Browse repository at this point
Copy the full SHA 5d971b9View commit details
Commits on Feb 27, 2024
-
Backports for 1.10.2 (JuliaLang#53405)
Backported PRs: - [x] JuliaLang#53205 <!-- Profile: add notes to `print()` docs --> - [x] JuliaLang#53170 <!-- Remove outdated discussion about externally changing module bindings --> - [x] JuliaLang#53228 <!-- SubArray: avoid invalid elimination of singleton indices --> - [x] JuliaLang#51361 <!-- code_warntype docs: more neutral reference to @code_warntype --> - [x] JuliaLang#50480 <!-- Document --heap-size-hint in Command-line Interface --> - [x] JuliaLang#53301 <!-- Fix typo in `Sys.total_memory` docstring. --> - [x] JuliaLang#53354 <!-- fix code coverage bug in tail position and `else` --> - [x] JuliaLang#53388 <!-- Fix documentation: thread pool of main thread --> - [x] JuliaLang#53429 <!-- Subtype: skip slow-path in `local_∀_∃_subtype` if inputs contain no ∃ typevar. --> - [x] JuliaLang#53437 <!-- Add debug variant of loader_trampolines.o --> Need manual backport: - [ ] JuliaLang#52505 <!-- fix alignment of emit_unbox_store copy --> - [ ] JuliaLang#53373 <!-- fix sysimage-native-code=no option with pkgimages --> - [ ] JuliaLang#53439 <!-- staticdata: fix assert from partially disabled native code --> Contains multiple commits, manual intervention needed: - [ ] JuliaLang#52913 <!-- Added docstring for Artifacts.jl --> - [ ] JuliaLang#53218 <!-- Fix interpreter_exec.jl test --> Non-merged PRs with backport label: - [ ] JuliaLang#53424 <!-- yet more atomics & cache-line fixes on work-stealing queue --> - [ ] JuliaLang#53125 <!-- coverage: count coverage where explicitly requested by inference only --> - [ ] JuliaLang#52694 <!-- Reinstate similar for AbstractQ for backward compatibility --> - [ ] JuliaLang#51479 <!-- prevent code loading from lookin in the versioned environment when building Julia -->
Configuration menu - View commit details
-
Copy full SHA for 997b49f - Browse repository at this point
Copy the full SHA 997b49fView commit details
Commits on Mar 1, 2024
-
Configuration menu - View commit details
-
Copy full SHA for bd47eca - Browse repository at this point
Copy the full SHA bd47ecaView commit details
Commits on Mar 12, 2024
-
Fix outdated usage of scrubbing for log test failures (JuliaLang#50759)
Fixes JuliaLang#50755. (cherry picked from commit bb4929d)
Configuration menu - View commit details
-
Copy full SHA for 8952861 - Browse repository at this point
Copy the full SHA 8952861View commit details -
[REPL] Fix typo in using/import completion (JuliaLang#53273)
Co-authored-by: Keno Fischer <[email protected]> (cherry picked from commit b8540d1)
Configuration menu - View commit details
-
Copy full SHA for 801885f - Browse repository at this point
Copy the full SHA 801885fView commit details -
Avoid compiler warning about redefining jl_globalref_t (JuliaLang#53499)
(cherry picked from commit 71f68b4)
Configuration menu - View commit details
-
Copy full SHA for 58b3dcb - Browse repository at this point
Copy the full SHA 58b3dcbView commit details -
yet more atomics & cache-line fixes on work-stealing queue (JuliaLang…
…#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 973b4ff)
Configuration menu - View commit details
-
Copy full SHA for 996fe30 - Browse repository at this point
Copy the full SHA 996fe30View commit details -
build: remove extra .a file (JuliaLang#53596)
fix JuliaLang#53569 (cherry picked from commit b50344f)
Configuration menu - View commit details
-
Copy full SHA for f191dcb - Browse repository at this point
Copy the full SHA f191dcbView commit details -
permit NamedTuple{<:Any, Union{}} to be created (JuliaLang#53516)
(cherry picked from commit e9c84c8)
Configuration menu - View commit details
-
Copy full SHA for 42477de - Browse repository at this point
Copy the full SHA 42477deView commit details -
Bump CSL to 1.1.1 to fix libgomp bug (JuliaLang#53643)
Resolves JuliaLang#53363 (cherry picked from commit 5c7d244)
Configuration menu - View commit details
-
Copy full SHA for 2a49cfe - Browse repository at this point
Copy the full SHA 2a49cfeView commit details
Commits on Mar 13, 2024
-
gc scheduler synchronization fixes to 1.10 (JuliaLang#53661)
Cherry-pick the parts of JuliaLang#53355 which are relevant to the 1.10 GC.
Configuration menu - View commit details
-
Copy full SHA for d3c8eb9 - Browse repository at this point
Copy the full SHA d3c8eb9View commit details
Commits on Mar 18, 2024
-
codegen: change tbaa of ptr_phi to tbaa_value (JuliaLang#53655)
Fixes JuliaLang#53612 (cherry picked from commit cb47b01)
Configuration menu - View commit details
-
Copy full SHA for 77b86fe - Browse repository at this point
Copy the full SHA 77b86feView commit details -
Default to the medium code model in x86 linux (JuliaLang#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 0f04b33)
Configuration menu - View commit details
-
Copy full SHA for 7536f35 - Browse repository at this point
Copy the full SHA 7536f35View commit details
Commits on Mar 20, 2024
-
Remove some duplicates from emitted compilation traces for Julia 1.10 (…
…JuliaLang#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 JuliaLang#53774.
Configuration menu - View commit details
-
Copy full SHA for f6a3c5f - Browse repository at this point
Copy the full SHA f6a3c5fView commit details
Commits on Mar 27, 2024
-
Add version string to sysimg triple (JuliaLang#51830)
(cherry picked from commit abd00d0)
Configuration menu - View commit details
-
Copy full SHA for 8c6595b - Browse repository at this point
Copy the full SHA 8c6595bView commit details -
Add missing GC_POP() in emit_cfunction (JuliaLang#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. JuliaLang#53811 (cherry picked from commit 52fc796)
Configuration menu - View commit details
-
Copy full SHA for e44f1ab - Browse repository at this point
Copy the full SHA e44f1abView commit details -
typeintersect: fix
UnionAll
unaliasing bug caused by innervars. (Ju……liaLang#53553) typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (cherry picked from commit 56f1c8a)
Configuration menu - View commit details
-
Copy full SHA for 396f5d1 - Browse repository at this point
Copy the full SHA 396f5d1View commit details -
Fix linear indexing for ReshapedArray if the parent has offset axes (J…
…uliaLang#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 6e3044d)
Configuration menu - View commit details
-
Copy full SHA for c2d480c - Browse repository at this point
Copy the full SHA c2d480cView commit details
Commits on Apr 10, 2024
-
Fix the OpenBLAS checksum for Julia 1.10 (JuliaLang#54017)
Closes JuliaLang#54015. `diff -r` on the source tree for the original archive vs. the archive that gets downloaded now shows no changes.
Configuration menu - View commit details
-
Copy full SHA for 2baebfe - Browse repository at this point
Copy the full SHA 2baebfeView commit details
Commits on Apr 11, 2024
-
LazyString
inLinearAlgebra.checksquare
error message (JuliaLang#……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 d505c8c)
Configuration menu - View commit details
-
Copy full SHA for feceefe - Browse repository at this point
Copy the full SHA feceefeView commit details
Commits on Apr 12, 2024
-
Added docstring for Artifacts.jl (JuliaLang#52913)
This is a part of issue JuliaLang#52725. --------- (cherry picked from commit 15e2af2) Co-Authored-By: Steven G. Johnson <[email protected]> Co-Authored-By: Max Horn <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8741c1a - Browse repository at this point
Copy the full SHA 8741c1aView commit details -
🤖 [backports-release-1.10] Bump the Pkg stdlib from 70525539d to f487…
…626b0 (JuliaLang#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: JuliaLang/Pkg.jl@7052553...f487626 ``` $ git log --oneline 70525539d..f487626b0 f487626b0 Merge pull request JuliaLang#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 (JuliaLang#3860) 4ee732f1b why: show more when package is both a direct and indirect dep (JuliaLang#3771) ``` Co-authored-by: Dilum Aluthge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 756c16a - Browse repository at this point
Copy the full SHA 756c16aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8eedc6 - Browse repository at this point
Copy the full SHA a8eedc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ba33b12 - Browse repository at this point
Copy the full SHA ba33b12View commit details -
Configuration menu - View commit details
-
Copy full SHA for e386554 - Browse repository at this point
Copy the full SHA e386554View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32b0613 - Browse repository at this point
Copy the full SHA 32b0613View commit details -
🤖 [backports-release-1.10] Bump the SHA stdlib from 2d1f84e to e1af7dd (
JuliaLang#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: JuliaCrypto/SHA.jl@2d1f84e...e1af7dd ``` $ 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 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1bf60fe - Browse repository at this point
Copy the full SHA 1bf60feView commit details -
Configuration menu - View commit details
-
Copy full SHA for ed94319 - Browse repository at this point
Copy the full SHA ed94319View commit details -
🤖 [backports-release-1.10] Bump the NetworkOptions stdlib from 0bd334…
…5 to 8eec5cb (JuliaLang#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: JuliaLang/NetworkOptions.jl@0bd3345...8eec5cb ``` $ git log --oneline 0bd3345..8eec5cb 8eec5cb Hardcode doc edit backlink (#32) ``` Co-authored-by: Dilum Aluthge <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3b32431 - Browse repository at this point
Copy the full SHA 3b32431View commit details -
Configuration menu - View commit details
-
Copy full SHA for 97b0571 - Browse repository at this point
Copy the full SHA 97b0571View commit details
Commits on Apr 15, 2024
-
Revert "
LazyString
inLinearAlgebra.checksquare
error message (Ju……liaLang#53961)" This reverts commit feceefe.
Configuration menu - View commit details
-
Copy full SHA for b05a4f2 - Browse repository at this point
Copy the full SHA b05a4f2View commit details
Commits on Apr 16, 2024
-
Revert "Default to the medium code model in x86 linux (JuliaLang#53391)"
This reverts commit 7536f35.
Configuration menu - View commit details
-
Copy full SHA for 5cf5146 - Browse repository at this point
Copy the full SHA 5cf5146View commit details
Commits on May 25, 2024
-
Add inventory writing via DocumenterInventoryWritingBackport
(cherry picked from commit 2d1442f)
Configuration menu - View commit details
-
Copy full SHA for b0f607a - Browse repository at this point
Copy the full SHA b0f607aView commit details -
Overload
Base.literal_pow
forAbstractQ
(JuliaLang#54010)(cherry picked from commit b9aeafa)
Configuration menu - View commit details
-
Copy full SHA for 525b3a2 - Browse repository at this point
Copy the full SHA 525b3a2View commit details -
Fix
make install
from tarballs (JuliaLang#54143)This reverts part of 67b8ac0 (JuliaLang#47596 (comment)). 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 JuliaLang#54037. (cherry picked from commit d6dda7c)
Configuration menu - View commit details
-
Copy full SHA for 58cf81e - Browse repository at this point
Copy the full SHA 58cf81eView commit details -
LinearAlgebra: Correct zero element in
_generic_matvecmul!
for bloc……k adj/trans (JuliaLang#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 2b878f0)
Configuration menu - View commit details
-
Copy full SHA for 3577557 - Browse repository at this point
Copy the full SHA 3577557View commit details -
set MAX_OS_WRITE on unix (JuliaLang#54233)
Fixes JuliaLang#54225 (cherry picked from commit b35d308)
Configuration menu - View commit details
-
Copy full SHA for 1de708b - Browse repository at this point
Copy the full SHA 1de708bView commit details -
fix typo in gc_mark_memory8 when chunking a large array (JuliaLang#54251
) Should fix JuliaLang#54247. - Before: ``` Julia Version 1.12.0-DEV.410 Commit 0735854* (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 0735854* (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 dc0a477)
Configuration menu - View commit details
-
Copy full SHA for f752249 - Browse repository at this point
Copy the full SHA f752249View commit details -
typeintersect: fix another stack overflow caused by circular constrai…
…nts (JuliaLang#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 JuliaLang#54356 (cherry picked from commit e47fedd)
Configuration menu - View commit details
-
Copy full SHA for 1b21830 - Browse repository at this point
Copy the full SHA 1b21830View commit details -
Configuration menu - View commit details
-
Copy full SHA for e1b2099 - Browse repository at this point
Copy the full SHA e1b2099View commit details
Commits on May 27, 2024
-
Make TestLogger thread-safe (introduce a lock) (JuliaLang#54497)
Fixes JuliaLang#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 0437210)
Configuration menu - View commit details
-
Copy full SHA for 94bef5d - Browse repository at this point
Copy the full SHA 94bef5dView commit details -
Add a missing doc (JuliaLang#53796)
(cherry picked from commit 0c65f6f)
Configuration menu - View commit details
-
Copy full SHA for 7eeeb56 - Browse repository at this point
Copy the full SHA 7eeeb56View commit details
Commits on May 28, 2024
-
Set storage class of julia globals to dllimport on windows to avoid a…
…uto-import weirdness (JuliaLang#54572) Fixes JuliaLang#54550 on 1.10. Master will require a similar but different PR. Co-authored-by: Keno Fischer <[email protected]> Co-authored-by: Cody Tapscott <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 007d8de - Browse repository at this point
Copy the full SHA 007d8deView commit details -
typeintersect: conservative typevar subtitution during `finish_uniona…
…ll` (JuliaLang#54465) (cherry picked from commit a946631)
Configuration menu - View commit details
-
Copy full SHA for c81d02c - Browse repository at this point
Copy the full SHA c81d02cView commit details -
typeintersect: followup cleanup for the nothrow path of type instanti…
…ation (JuliaLang#54514) (cherry picked from commit af545b9)
Configuration menu - View commit details
-
Copy full SHA for 7ebe203 - Browse repository at this point
Copy the full SHA 7ebe203View commit details
Commits on May 29, 2024
-
Default to the medium code model in x86 linux (JuliaLang#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 0f04b33)
Configuration menu - View commit details
-
Copy full SHA for 0e771af - Browse repository at this point
Copy the full SHA 0e771afView commit details -
LazyString
inLinearAlgebra.checksquare
error message (JuliaLang#……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 d505c8c)
Configuration menu - View commit details
-
Copy full SHA for 5591e7d - Browse repository at this point
Copy the full SHA 5591e7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21fc45e - Browse repository at this point
Copy the full SHA 21fc45eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 727f875 - Browse repository at this point
Copy the full SHA 727f875View commit details -
Extensions: make loading of extensions independent of what packages a…
…re in the sysimage (JuliaLang#52841) When triggers of extension are in the sysimage it is easy to end up with cycles in package loading. Say we have a package A with exts BExt and CExt and say that B and C is in the sysimage. - Upon loading A, we will immidiately start to precompile BExt (because the trigger B is "loaded" by virtue of being in the sysimage). - BExt will load A which will cause CExt to start precompiling (again because C is in the sysimage). - CExt will load A which will now cause BExt to start loading and we get a cycle. This is fixed in this PR by instead of looking at what modules are loaded, we look at what modules are actually `require`d and only use that to drive the loading of extensions. Fixes JuliaLang#52132. (cherry picked from commit 08d229f)
Configuration menu - View commit details
-
Copy full SHA for f266874 - Browse repository at this point
Copy the full SHA f266874View commit details -
RAI: Add 'RAI' as the build part of the semantic version
# Conflicts: # VERSION # Conflicts: # VERSION # Conflicts: # VERSION # Conflicts: # VERSION # Conflicts: # VERSION # Conflicts: # VERSION # Conflicts: # VERSION
RAI CI (GitHub Action Automation) committedMay 29, 2024 Configuration menu - View commit details
-
Copy full SHA for 307939c - Browse repository at this point
Copy the full SHA 307939cView commit details -
RAI: Track blocks and bytes allocated for GC pools
This needed updating for 1.10 (#102). * port pool stats to 1.10 * increment/decrement current_pg_count --------- Co-authored-by: K Pamnany <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c60f14d - Browse repository at this point
Copy the full SHA c60f14dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8837037 - Browse repository at this point
Copy the full SHA 8837037View commit details -
RAI: Prepend signal number and thread ID on backtraces
Prepend `[signal (X) ]thread (Y) ` to each backtrace line that is displayed. Co-authored-by: Diogo Netto <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 509f208 - Browse repository at this point
Copy the full SHA 509f208View commit details -
Add GC metric
last_incremental_sweep
(JuliaLang#50190)* Add GC metric `last_incremental_sweep` * Update gc.c * Update gc.c
Configuration menu - View commit details
-
Copy full SHA for 9db3cfe - Browse repository at this point
Copy the full SHA 9db3cfeView commit details -
RAI: Disable huge pages for all mmap'ed memory
Prevent transparent huge pages (THP) overallocating pysical memory. Co-authored-by: Adnan Alhomssi <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eed158b - Browse repository at this point
Copy the full SHA eed158bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 20d1e67 - Browse repository at this point
Copy the full SHA 20d1e67View commit details -
Allocation Profiler: Types for all allocations (JuliaLang#50337)
Pass the types to the allocator functions. ------- Before this PR, we were missing the types for allocations in two cases: 1. allocations from codegen 2. allocations in `gc_managed_realloc_` The second one is easy: those are always used for buffers, right? For the first one: we extend the allocation functions called from codegen, to take the type as a parameter, and set the tag there. I kept the old interfaces around, since I think that they cannot be removed due to supporting legacy code? ------ An example of the generated code: ```julia %ptls_field6 = getelementptr inbounds {}**, {}*** %4, i64 2 %13 = bitcast {}*** %ptls_field6 to i8** %ptls_load78 = load i8*, i8** %13, align 8 %box = call noalias nonnull dereferenceable(32) {}* @ijl_gc_pool_alloc_typed(i8* %ptls_load78, i32 1184, i32 32, i64 4366152144) #7 ``` Fixes JuliaLang#43688. Fixes JuliaLang#45268. Co-authored-by: Valentin Churavy <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ea5bf75 - Browse repository at this point
Copy the full SHA ea5bf75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60bb551 - Browse repository at this point
Copy the full SHA 60bb551View commit details -
Export num_stack_mappings to track the number of in-flight stack map…
…pings and tasks in application (JuliaLang#51301)
Configuration menu - View commit details
-
Copy full SHA for eab7ae9 - Browse repository at this point
Copy the full SHA eab7ae9View commit details -
parallelize sweeping of object pools (JuliaLang#51282)
Sweeping of object pools will either construct a free list through dead objects (if there is at least one live object in a given page) or return the page to the OS (if there are no live objects whatsoever). With this PR, we're basically constructing the free-lists for each GC page in parallel.
Configuration menu - View commit details
-
Copy full SHA for 6455111 - Browse repository at this point
Copy the full SHA 6455111View commit details -
don't print task backtrace for GC threads (JuliaLang#51413) (#78)
GC threads don't have tasks associated with them.
Configuration menu - View commit details
-
Copy full SHA for 6fe62c6 - Browse repository at this point
Copy the full SHA 6fe62c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a9223ac - Browse repository at this point
Copy the full SHA a9223acView commit details -
Presence is controlled by a build-time option. Start a separate thread which simply sleeps. When heartbeats are enabled, this thread wakes up at specified intervals to verify that user code is heartbeating as requested and if not, prints task backtraces. Also fixes the call to `maxthreadid` in `generate_precompile.jl`.
Configuration menu - View commit details
-
Copy full SHA for 0040ca9 - Browse repository at this point
Copy the full SHA 0040ca9View commit details -
Change heartbeat thread controls
When enabling heartbeats, the user must specify: - heartbeat_s: jl_heartbeat() must be called at least once every heartbeat_s; if it isn't, a one-line heartbeat loss report is printed - show_tasks_after_n: after these many heartbeat_s have passed without jl_heartbeat() being called, print task backtraces and stop all reporting - reset_after_n: after these many heartbeat_s have passed with jl_heartbeat() being called, print a heartbeats recovered message and reset reporting
Configuration menu - View commit details
-
Copy full SHA for 0d1659a - Browse repository at this point
Copy the full SHA 0d1659aView commit details -
make pool_live_bytes metric more accurate (JuliaLang#52015)
`pool_live_bytes` was previously lazily updated during the GC, meaning it was only accurate right after a GC. Make this metric accurate if gathered after a GC has happened.
Configuration menu - View commit details
-
Copy full SHA for b15ca49 - Browse repository at this point
Copy the full SHA b15ca49View commit details -
bugfix: load jl_n_threads in jl_gc_pool_live_bytes (JuliaLang#52034)
Otherwise we may just observe `gc_n_threads = 0` (`jl_gc_collect` sets it to 0 in the very end of its body) and this function becomes a no-op.
Configuration menu - View commit details
-
Copy full SHA for 9d62806 - Browse repository at this point
Copy the full SHA 9d62806View commit details -
Configuration menu - View commit details
-
Copy full SHA for 816a5d5 - Browse repository at this point
Copy the full SHA 816a5d5View commit details -
add some instrumentation to measure page utilization per size class (J…
…uliaLang#52164) One of the limitations is that it's only accurate right after the GC. Still might be helpful for observability purposes.
Configuration menu - View commit details
-
Copy full SHA for 6637c68 - Browse repository at this point
Copy the full SHA 6637c68View commit details -
add a compile-time option to enable 4k page sizes (JuliaLang#52229)
We're suffering from heavy fragmentation in some of our workloads. Add a build-time option to enable 4k pages (instead of 16k) in the GC, since that improves memory utilization considerably for us. Drawback is that this may increase the number of `madvise` system calls in the sweeping phase by a factor of 4, but concurrent page sweeping should help with some of that.
Configuration menu - View commit details
-
Copy full SHA for 61ceba0 - Browse repository at this point
Copy the full SHA 61ceba0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54db887 - Browse repository at this point
Copy the full SHA 54db887View commit details -
Configuration menu - View commit details
-
Copy full SHA for f61f5e3 - Browse repository at this point
Copy the full SHA f61f5e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc05349 - Browse repository at this point
Copy the full SHA dc05349View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01ccad4 - Browse repository at this point
Copy the full SHA 01ccad4View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea18314 - Browse repository at this point
Copy the full SHA ea18314View commit details -
reduce contention on page metadata lists during the sweeping phase (J…
…uliaLang#52943) **EDIT**: fixes JuliaLang#52937 by decreasing the contention on the page lists and only waking GC threads up if we have a sufficiently large number of pages. Seems to address the regression from the MWE of JuliaLang#52937: - master: ``` ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=1 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 24841 │ 818 │ 78 │ 740 │ 44 │ 10088 │ 96 │ 3 │ │ median │ 24881 │ 834 │ 83 │ 751 │ 45 │ 10738 │ 97 │ 3 │ │ maximum │ 25002 │ 891 │ 87 │ 803 │ 48 │ 11074 │ 112 │ 4 │ │ stdev │ 78 │ 29 │ 4 │ 26 │ 1 │ 393 │ 7 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=8 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 29113 │ 5200 │ 68 │ 5130 │ 12 │ 9724 │ 95 │ 18 │ │ median │ 29354 │ 5274 │ 69 │ 5204 │ 12 │ 10456 │ 96 │ 18 │ │ maximum │ 29472 │ 5333 │ 70 │ 5264 │ 14 │ 11913 │ 97 │ 18 │ │ stdev │ 138 │ 54 │ 1 │ 55 │ 1 │ 937 │ 1 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` - PR: ``` ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=1 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 24475 │ 761 │ 77 │ 681 │ 40 │ 9499 │ 94 │ 3 │ │ median │ 24845 │ 775 │ 80 │ 698 │ 43 │ 10793 │ 97 │ 3 │ │ maximum │ 25128 │ 811 │ 85 │ 726 │ 47 │ 12820 │ 113 │ 3 │ │ stdev │ 240 │ 22 │ 3 │ 21 │ 3 │ 1236 │ 8 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=8 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 24709 │ 679 │ 70 │ 609 │ 11 │ 9981 │ 95 │ 3 │ │ median │ 24869 │ 702 │ 70 │ 631 │ 12 │ 10705 │ 96 │ 3 │ │ maximum │ 24911 │ 708 │ 72 │ 638 │ 13 │ 10820 │ 98 │ 3 │ │ stdev │ 79 │ 12 │ 1 │ 12 │ 1 │ 401 │ 1 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` Also, performance on `objarray.jl` (an example of benchmark in which sweeping parallelizes well with the current implementation) seems fine: - master: ``` ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=1 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 19301 │ 10792 │ 7485 │ 3307 │ 1651 │ 196 │ 4519 │ 56 │ │ median │ 21415 │ 12646 │ 9094 │ 3551 │ 1985 │ 241 │ 6576 │ 59 │ │ maximum │ 21873 │ 13118 │ 9353 │ 3765 │ 2781 │ 330 │ 8793 │ 60 │ │ stdev │ 1009 │ 932 │ 757 │ 190 │ 449 │ 50 │ 1537 │ 2 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=8 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 13135 │ 4377 │ 3350 │ 1007 │ 491 │ 231 │ 6062 │ 33 │ │ median │ 13164 │ 4540 │ 3370 │ 1177 │ 669 │ 256 │ 6383 │ 35 │ │ maximum │ 13525 │ 4859 │ 3675 │ 1184 │ 748 │ 320 │ 7528 │ 36 │ │ stdev │ 183 │ 189 │ 146 │ 77 │ 129 │ 42 │ 584 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` - PR: ``` ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=1 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 19642 │ 10931 │ 7566 │ 3365 │ 1653 │ 204 │ 5688 │ 56 │ │ median │ 21441 │ 12717 │ 8948 │ 3770 │ 1796 │ 217 │ 6972 │ 59 │ │ maximum │ 23494 │ 14643 │ 10576 │ 4067 │ 2513 │ 248 │ 8229 │ 62 │ │ stdev │ 1408 │ 1339 │ 1079 │ 267 │ 393 │ 19 │ 965 │ 2 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=8 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ 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 │ 13365 │ 4544 │ 3389 │ 1104 │ 516 │ 255 │ 6349 │ 34 │ │ median │ 13445 │ 4624 │ 3404 │ 1233 │ 578 │ 275 │ 6385 │ 34 │ │ maximum │ 14413 │ 5278 │ 3837 │ 1441 │ 753 │ 300 │ 7547 │ 37 │ │ stdev │ 442 │ 303 │ 194 │ 121 │ 89 │ 18 │ 522 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ```
Configuration menu - View commit details
-
Copy full SHA for 46e8327 - Browse repository at this point
Copy the full SHA 46e8327View commit details -
Change to streaming out the heap snapshot data (JuliaLang#52854)
This PR is to continue the work on the following PR: Prevent OOMs during heap snapshot: Change to streaming out the snapshot data (JuliaLang#51518 ) Here are the commit history: ``` * Streaming the heap snapshot! This should prevent the engine from OOMing while recording the snapshot! Now we just need to sample the files, either online, before downloading, or offline after downloading :) If we're gonna do it offline, we'll want to gzip the files before downloading them. * Allow custom filename; use original API * Support legacy heap snapshot interface. Add reassembly function. * Add tests * Apply suggestions from code review * Update src/gc-heap-snapshot.cpp * Change to always save the parts in the same directory This way you can always recover from an OOM * Fix bug in reassembler: from_node and to_node were in the wrong order * Fix correctness mistake: The edges have to be reordered according to the node order. That's the whole reason this is tricky. But i'm not sure now whether the SoAs approach is actually an optimization.... It seems like we should probably prefer to inline the Edges right into the vector, rather than having to do another random lookup into the edges table? * Debugging messed up edge array idxs * Disable log message * Write the .nodes and .edges as binary data * Remove unnecessary logging * fix merge issues * attempt to add back the orphan node checking logic ``` --------- Co-authored-by: Nathan Daly <[email protected]> Co-authored-by: Nathan Daly <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b7a5dc9 - Browse repository at this point
Copy the full SHA b7a5dc9View commit details -
Add
Base.checked_pow(x,y)
toBase.Checked
library (JuliaLang#52849)…… (#134) Fixes JuliaLang#52262. Performs `^(x, y)` but throws OverflowError on overflow. Example: ```julia julia> 2^62 4611686018427387904 julia> 2^63 -9223372036854775808 julia> checked_pow(2, 63) ERROR: OverflowError: 2147483648 * 4294967296 overflowed for type Int64 ``` Co-authored-by: Nathan Daly <[email protected]> Co-authored-by: Jameson Nash <[email protected]> Co-authored-by: Shuhei Kadowaki <[email protected]> Co-authored-by: Tomáš Drvoštěp <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a9000b8 - Browse repository at this point
Copy the full SHA a9000b8View commit details -
--safe-crash-log-file flag (#140)
* --safe-crash-log-file flag * Update init.c * json escape jl_safe_printf when safe crash log file * add timestamp to json logs * port it to aarch64 darwin * fix minor warning * missing double quote * Suggestion from code review: make sig_stack_size a const in signals-unix.c Co-authored-by: Kiran Pamnany <[email protected]> * Suggestion from code review: make sig_stack size a const in signals-win.c Co-authored-by: Kiran Pamnany <[email protected]> * more suggestions from Kiran's review * more suggestions from review --------- Co-authored-by: Malte Sandstede <[email protected]> Co-authored-by: Adnan Alhomssi <[email protected]> Co-authored-by: Kiran Pamnany <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f6211b0 - Browse repository at this point
Copy the full SHA f6211b0View commit details -
Correct GC bug (usage of
not_freed_enough
) (#143)Co-authored-by: K Pamnany <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7d490ea - Browse repository at this point
Copy the full SHA 7d490eaView commit details