Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparison of branch: backports-release-1.10+RAI #46

Closed
wants to merge 141 commits into from

Commits on Jan 6, 2024

  1. 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.
    Keno authored and aviatesk committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    6eb535d View commit details
    Browse the repository at this point in the history
  2. Use jl_types_egal in equiv_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]>
    4 people committed Jan 6, 2024
    Configuration menu
    Copy the full SHA
    6a107d0 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2024

  1. Configuration menu
    Copy the full SHA
    5c0a2a6 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. effects: fix JuliaLang#52843, account for mutable values directly emb…

    …edded to IR
    
    Fixes another variant of JuliaLang#52531.
    aviatesk committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    fd13cf0 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2024

  1. Configuration menu
    Copy the full SHA
    0cea48e View commit details
    Browse the repository at this point in the history
  2. 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.
    aviatesk committed Jan 13, 2024
    Configuration menu
    Copy the full SHA
    df9062b View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2024

  1. 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.
    BioTurboNick authored and aviatesk committed Jan 14, 2024
    Configuration menu
    Copy the full SHA
    813bfac View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. 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
    aviatesk committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    e5ccc44 View commit details
    Browse the repository at this point in the history
  2. 🤖 [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]>
    DilumAluthgeBot and DilumAluthge authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    aaaf5de View commit details
    Browse the repository at this point in the history
  3. 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
    gbaraldi authored Jan 16, 2024
    Configuration menu
    Copy the full SHA
    788eff9 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. Configuration menu
    Copy the full SHA
    f9c2461 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    47999ab View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Configuration menu
    Copy the full SHA
    ddb9d0d View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2024

  1. 🤖 [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]>
    DilumAluthgeBot and DilumAluthge authored Jan 24, 2024
    Configuration menu
    Copy the full SHA
    3552d36 View commit details
    Browse the repository at this point in the history
  2. Fix edge cases where inexact conversions to UInt don't throw (JuliaLa…

    …ng#51095)
    
    (cherry picked from commit fb76136)
    LilithHafner authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    7d3c68e View commit details
    Browse the repository at this point in the history
  3. 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)
    KristofferC authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    2481fdf View commit details
    Browse the repository at this point in the history
  4. 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)
    vtjnash authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    cc26004 View commit details
    Browse the repository at this point in the history
  5. 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)
    KristofferC authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    69d58e0 View commit details
    Browse the repository at this point in the history
  6. 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)
    LilithHafner authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    d2fd317 View commit details
    Browse the repository at this point in the history
  7. 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)
    d-netto authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    4f3a3ae View commit details
    Browse the repository at this point in the history
  8. 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)
    jishnub authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    8517eb3 View commit details
    Browse the repository at this point in the history
  9. 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)
    fingolfin authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    fa85fa7 View commit details
    Browse the repository at this point in the history
  10. 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)
    vtjnash authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    a4cc920 View commit details
    Browse the repository at this point in the history
  11. fix type-stability bugs in Ryu code (JuliaLang#52781)

    Fixes JuliaLang#52749.
    
    (cherry picked from commit 5643c60)
    stevengj authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    e0e3c63 View commit details
    Browse the repository at this point in the history
  12. 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)
    jishnub authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    f371de8 View commit details
    Browse the repository at this point in the history
  13. 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)
    Zentrik authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    8a04df0 View commit details
    Browse the repository at this point in the history
  14. heap snapshot: add gc roots and gc finalist roots to fix unrooted nod…

    …es (JuliaLang#52618)
    
    (cherry picked from commit fe0db7d)
    JianFangAtRai authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    cfbff10 View commit details
    Browse the repository at this point in the history
  15. 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)
    gbaraldi authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    f06a63d View commit details
    Browse the repository at this point in the history
  16. Replace &hArr; by &harr; in documentation (JuliaLang#52078)

    There is no HTML entity `&hArr;` and accordingly all the usual browsers
    (Chrome, Firefox, Safari) don't render it.
    
    My guess is that there is confusion because GitHub supports `&hArr;` and
    shows it as &hArr; (and `&harr;` as &harr;).
    
    But here is for example what Firefox shows:
    <img width="853" alt="Screen Shot 2023-11-08 at 14 02 01"
    src="https://github.com/JuliaLang/julia/assets/241512/af7d9e27-a5c3-46c3-94d9-82ed52653cb4">
    
    This patch could be backported to 1.9 and 1.10.
    
    (cherry picked from commit 81c4f8e)
    fingolfin authored and KristofferC committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    6fdf37e View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Configuration menu
    Copy the full SHA
    ece8b7b View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. 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.
    aviatesk authored Jan 29, 2024
    Configuration menu
    Copy the full SHA
    2c8ecd3 View commit details
    Browse the repository at this point in the history
  2. 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.
    aviatesk authored Jan 29, 2024
    Configuration menu
    Copy the full SHA
    a215b37 View commit details
    Browse the repository at this point in the history
  3. [OpenBLAS] Ugrade to v0.3.23+4

    KristofferC committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    3c73873 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2024

  1. use proper cache-line size variable in work-stealing queue (JuliaLang…

    …#53035)
    
    (cherry picked from commit 919c390)
    d-netto authored and KristofferC committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    b0b804e View commit details
    Browse the repository at this point in the history
  2. 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)
    fingolfin authored and KristofferC committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    a45cd5f View commit details
    Browse the repository at this point in the history
  3. apply OpenBLAS_jll v0.3.23+4 patch (JuliaLang#53074)

    Closes #53054
    
    CC: @giordano @ViralBShah
    pablosanjose authored and KristofferC committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    c644e89 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

  1. bump NetworkOptions

    KristofferC authored and KristofferC committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    00aa65e View commit details
    Browse the repository at this point in the history
  2. inference: avoid adding duplicate edges as invoke targets (JuliaLang#…

    …53121)
    
    This was inefficient, though not wrong.
    
    Fixes JuliaLang#53020
    vtjnash authored and KristofferC committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    6407c33 View commit details
    Browse the repository at this point in the history
  3. Put mingw32 *.a files in private_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)
    giordano authored and KristofferC committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    0627076 View commit details
    Browse the repository at this point in the history
  4. Add link to PR in NEWS (JuliaLang#53189)

    The link to JuliaLang#49349 was missing.
    andreasnoack authored Feb 5, 2024
    Configuration menu
    Copy the full SHA
    7a96210 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2024

  1. 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 `&hArr;` by `&harr;` 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 -->
    KristofferC authored Feb 6, 2024
    Configuration menu
    Copy the full SHA
    1dfdf66 View commit details
    Browse the repository at this point in the history
  2. 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)
    pablosanjose authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    ff295ca View commit details
    Browse the repository at this point in the history
  3. 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)
    MasonProtter authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    e1af4a9 View commit details
    Browse the repository at this point in the history
  4. 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)
    jishnub authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    93a596e View commit details
    Browse the repository at this point in the history
  5. [REPLCompletions] enable completions for using Module.Inner| (Julia…

    …Lang#52952)
    
    (cherry picked from commit a0d55cd)
    aviatesk authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    a1ad1ba View commit details
    Browse the repository at this point in the history
  6. 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)
    jishnub authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    2ef3842 View commit details
    Browse the repository at this point in the history
  7. 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)
    xgdgsc authored and KristofferC committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    6fcff37 View commit details
    Browse the repository at this point in the history
  8. 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 -->
    KristofferC authored Feb 6, 2024
    Configuration menu
    Copy the full SHA
    4745ef8 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Configuration menu
    Copy the full SHA
    7790d6f View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Configuration menu
    Copy the full SHA
    2111c03 View commit details
    Browse the repository at this point in the history
  2. Profile: add notes to print() docs (JuliaLang#53205)

    (cherry picked from commit 9bafc53)
    IanButterworth authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    2b2eb4d View commit details
    Browse the repository at this point in the history
  3. 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)
    KnutAM authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    be27b72 View commit details
    Browse the repository at this point in the history
  4. Fix typo in Sys.total_memory docstring. (JuliaLang#53301)

    Fixes JuliaLang#53298.
    
    (cherry picked from commit 81c6526)
    christiangnrd authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    5b54ddf View commit details
    Browse the repository at this point in the history
  5. bump NetworkOptions

    KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    9e12184 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d002e96 View commit details
    Browse the repository at this point in the history
  7. 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)
    JeffBezanson authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    45c2bd8 View commit details
    Browse the repository at this point in the history
  8. 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)
    goerz authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    25827a4 View commit details
    Browse the repository at this point in the history
  9. SubArray: avoid invalid elimination of singleton indices (JuliaLang#5…

    …3228)
    
    close JuliaLang#53209
    
    (cherry picked from commit 4d0a469)
    N5N3 authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    f2d56c7 View commit details
    Browse the repository at this point in the history
  10. 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)
    ulysses4ever authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    5ae8707 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8f3304a View commit details
    Browse the repository at this point in the history
  12. 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)
    N5N3 authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    7bfd9f4 View commit details
    Browse the repository at this point in the history
  13. 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)
    fingolfin authored and KristofferC committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    5d971b9 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. 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 -->
    KristofferC authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    997b49f View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    bd47eca View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2024

  1. Fix outdated usage of scrubbing for log test failures (JuliaLang#50759)

    Fixes JuliaLang#50755.
    
    (cherry picked from commit bb4929d)
    serenity4 authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    8952861 View commit details
    Browse the repository at this point in the history
  2. [REPL] Fix typo in using/import completion (JuliaLang#53273)

    Co-authored-by: Keno Fischer <[email protected]>
    (cherry picked from commit b8540d1)
    Keno authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    801885f View commit details
    Browse the repository at this point in the history
  3. Avoid compiler warning about redefining jl_globalref_t (JuliaLang#53499)

    (cherry picked from commit 71f68b4)
    fingolfin authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    58b3dcb View commit details
    Browse the repository at this point in the history
  4. 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)
    d-netto authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    996fe30 View commit details
    Browse the repository at this point in the history
  5. build: remove extra .a file (JuliaLang#53596)

    fix JuliaLang#53569
    
    (cherry picked from commit b50344f)
    inkydragon authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    f191dcb View commit details
    Browse the repository at this point in the history
  6. permit NamedTuple{<:Any, Union{}} to be created (JuliaLang#53516)

    (cherry picked from commit e9c84c8)
    vtjnash authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    42477de View commit details
    Browse the repository at this point in the history
  7. Bump CSL to 1.1.1 to fix libgomp bug (JuliaLang#53643)

    Resolves JuliaLang#53363
    
    (cherry picked from commit 5c7d244)
    gbaraldi authored and KristofferC committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    2a49cfe View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. gc scheduler synchronization fixes to 1.10 (JuliaLang#53661)

    Cherry-pick the parts of JuliaLang#53355
    which are relevant to the 1.10 GC.
    d-netto authored Mar 13, 2024
    Configuration menu
    Copy the full SHA
    d3c8eb9 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. codegen: change tbaa of ptr_phi to tbaa_value (JuliaLang#53655)

    Fixes JuliaLang#53612
    
    (cherry picked from commit cb47b01)
    gbaraldi authored and KristofferC committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    77b86fe View commit details
    Browse the repository at this point in the history
  2. 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)
    gbaraldi authored and KristofferC committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    7536f35 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. 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.
    kpamnany authored Mar 20, 2024
    Configuration menu
    Copy the full SHA
    f6a3c5f View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Add version string to sysimg triple (JuliaLang#51830)

    (cherry picked from commit abd00d0)
    gbaraldi authored and KristofferC committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    8c6595b View commit details
    Browse the repository at this point in the history
  2. 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)
    gbaraldi authored and KristofferC committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    e44f1ab View commit details
    Browse the repository at this point in the history
  3. typeintersect: fix UnionAll unaliasing bug caused by innervars. (Ju…

    …liaLang#53553)
    
    typeintersect: fix `UnionAll` unaliasing bug caused by innervars.
    (cherry picked from commit 56f1c8a)
    N5N3 authored and KristofferC committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    396f5d1 View commit details
    Browse the repository at this point in the history
  4. 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)
    jishnub authored and KristofferC committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    c2d480c View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2024

  1. 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.
    kpamnany authored Apr 10, 2024
    Configuration menu
    Copy the full SHA
    2baebfe View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. LazyString in LinearAlgebra.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)
    jishnub authored and KristofferC committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    feceefe View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. 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]>
    jam-khan authored and IanButterworth committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    8741c1a View commit details
    Browse the repository at this point in the history
  2. 🤖 [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]>
    2 people authored and IanButterworth committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    756c16a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a8eedc6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ba33b12 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e386554 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    32b0613 View commit details
    Browse the repository at this point in the history
  7. 🤖 [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]>
    DilumAluthgeBot and DilumAluthge authored Apr 12, 2024
    Configuration menu
    Copy the full SHA
    1bf60fe View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ed94319 View commit details
    Browse the repository at this point in the history
  9. 🤖 [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]>
    DilumAluthgeBot and DilumAluthge authored Apr 12, 2024
    Configuration menu
    Copy the full SHA
    3b32431 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    97b0571 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Configuration menu
    Copy the full SHA
    b05a4f2 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Configuration menu
    Copy the full SHA
    5cf5146 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2024

  1. Add inventory writing via DocumenterInventoryWritingBackport

    (cherry picked from commit 2d1442f)
    goerz authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    b0f607a View commit details
    Browse the repository at this point in the history
  2. Overload Base.literal_pow for AbstractQ (JuliaLang#54010)

    (cherry picked from commit b9aeafa)
    dkarrasch authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    525b3a2 View commit details
    Browse the repository at this point in the history
  3. 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)
    nalimilan authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    58cf81e View commit details
    Browse the repository at this point in the history
  4. 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)
    jishnub authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    3577557 View commit details
    Browse the repository at this point in the history
  5. set MAX_OS_WRITE on unix (JuliaLang#54233)

    Fixes JuliaLang#54225
    
    (cherry picked from commit b35d308)
    vtjnash authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    1de708b View commit details
    Browse the repository at this point in the history
  6. 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)
    d-netto authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    f752249 View commit details
    Browse the repository at this point in the history
  7. 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)
    N5N3 authored and KristofferC committed May 25, 2024
    Configuration menu
    Copy the full SHA
    1b21830 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e1b2099 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. 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)
    NHDaly authored and KristofferC committed May 27, 2024
    Configuration menu
    Copy the full SHA
    94bef5d View commit details
    Browse the repository at this point in the history
  2. Add a missing doc (JuliaLang#53796)

    (cherry picked from commit 0c65f6f)
    putianyi889 authored and KristofferC committed May 27, 2024
    Configuration menu
    Copy the full SHA
    7eeeb56 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. 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]>
    3 people authored May 28, 2024
    Configuration menu
    Copy the full SHA
    007d8de View commit details
    Browse the repository at this point in the history
  2. typeintersect: conservative typevar subtitution during `finish_uniona…

    …ll` (JuliaLang#54465)
    
    (cherry picked from commit a946631)
    N5N3 committed May 28, 2024
    Configuration menu
    Copy the full SHA
    c81d02c View commit details
    Browse the repository at this point in the history
  3. typeintersect: followup cleanup for the nothrow path of type instanti…

    …ation (JuliaLang#54514)
    
    (cherry picked from commit af545b9)
    N5N3 committed May 28, 2024
    Configuration menu
    Copy the full SHA
    7ebe203 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. 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)
    gbaraldi authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    0e771af View commit details
    Browse the repository at this point in the history
  2. LazyString in LinearAlgebra.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)
    jishnub authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    5591e7d View commit details
    Browse the repository at this point in the history
  3. set VERSION to 1.10.3 (JuliaLang#54246)

    KristofferC authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    21fc45e View commit details
    Browse the repository at this point in the history
  4. correctly track freed bytes in array_to_string (JuliaLang#54309)

    Should fix JuliaLang#54275.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    727f875 View commit details
    Browse the repository at this point in the history
  5. 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)
    KristofferC authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    f266874 View commit details
    Browse the repository at this point in the history
  6. 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) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    307939c View commit details
    Browse the repository at this point in the history
  7. 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]>
    2 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    c60f14d View commit details
    Browse the repository at this point in the history
  8. RAI: Change task ordering behavior to prioritize older tasks

    kpamnany authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    8837037 View commit details
    Browse the repository at this point in the history
  9. 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]>
    2 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    509f208 View commit details
    Browse the repository at this point in the history
  10. Add GC metric last_incremental_sweep (JuliaLang#50190)

    * Add GC metric `last_incremental_sweep`
    
    * Update gc.c
    
    * Update gc.c
    li1 authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    9db3cfe View commit details
    Browse the repository at this point in the history
  11. RAI: Disable huge pages for all mmap'ed memory

    Prevent transparent huge pages (THP) overallocating pysical memory.
    
    Co-authored-by: Adnan Alhomssi <[email protected]>
    2 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    eed158b View commit details
    Browse the repository at this point in the history
  12. RAI: Never use MADV_FREE

    kuszmaul authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    20d1e67 View commit details
    Browse the repository at this point in the history
  13. 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]>
    2 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ea5bf75 View commit details
    Browse the repository at this point in the history
  14. Metric for number of live bytes in the pool allocator (JuliaLang#51151)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    60bb551 View commit details
    Browse the repository at this point in the history
  15. Export num_stack_mappings to track the number of in-flight stack map…

    …pings and tasks in application (JuliaLang#51301)
    NHDaly authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    eab7ae9 View commit details
    Browse the repository at this point in the history
  16. 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.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6455111 View commit details
    Browse the repository at this point in the history
  17. don't print task backtrace for GC threads (JuliaLang#51413) (#78)

    GC threads don't have tasks associated with them.
    kpamnany authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6fe62c6 View commit details
    Browse the repository at this point in the history
  18. RAI: Prepend "thread (%d) " to output from jl_print_task_backtraces()

    kpamnany authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a9223ac View commit details
    Browse the repository at this point in the history
  19. Add heartbeat capability

    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`.
    kpamnany authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    0040ca9 View commit details
    Browse the repository at this point in the history
  20. 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
    kpamnany authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    0d1659a View commit details
    Browse the repository at this point in the history
  21. 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.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b15ca49 View commit details
    Browse the repository at this point in the history
  22. 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.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    9d62806 View commit details
    Browse the repository at this point in the history
  23. bugfix: don't set pool_live_bytes to zero at the end of GC (#107)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    816a5d5 View commit details
    Browse the repository at this point in the history
  24. 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.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    6637c68 View commit details
    Browse the repository at this point in the history
  25. 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.
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    61ceba0 View commit details
    Browse the repository at this point in the history
  26. functionality to expose page utilization at the julia level (#113)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    54db887 View commit details
    Browse the repository at this point in the history
  27. backport memory pressure callback to 1.9 (#114)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    f61f5e3 View commit details
    Browse the repository at this point in the history
  28. page profile (#123)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    dc05349 View commit details
    Browse the repository at this point in the history
  29. revert GC heuristics back to 1.9 (#126)

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    01ccad4 View commit details
    Browse the repository at this point in the history
  30. Set the number of GC threads to number of compute threads

    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    ea18314 View commit details
    Browse the repository at this point in the history
  31. 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 │
    └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘
    ```
    d-netto authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    46e8327 View commit details
    Browse the repository at this point in the history
  32. 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]>
    3 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b7a5dc9 View commit details
    Browse the repository at this point in the history
  33. Add Base.checked_pow(x,y) to Base.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]>
    5 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    a9000b8 View commit details
    Browse the repository at this point in the history
  34. --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]>
    4 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    f6211b0 View commit details
    Browse the repository at this point in the history
  35. Correct GC bug (usage of not_freed_enough) (#143)

    Co-authored-by: K Pamnany <[email protected]>
    2 people authored and RAI CI (GitHub Action Automation) committed May 29, 2024
    Configuration menu
    Copy the full SHA
    7d490ea View commit details
    Browse the repository at this point in the history