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

Backports for 1.10.1 #52755

Merged
merged 42 commits into from
Feb 6, 2024
Merged

Backports for 1.10.1 #52755

merged 42 commits into from
Feb 6, 2024

Commits on Jan 5, 2024

  1. Don't access parent of triangular matrix in powm (#52583)

    Since the values stored in the parent corresponding to the structural
    zeros of a tridiagonal matrix aren't well-defined, using it in `ldiv!`
    is a footgun that may lead to heisenbugs (one seen in
    https://buildkite.com/julialang/julia-master/builds/31285#018c7cc7-6c77-41ac-a01b-1c7d14cb1b15).
    This PR changes it to using the tridiagonal matrix directly in `ldiv!`,
    which should lead to predictable results, and be bug-free. The failing
    tests for #52571 pass locally with this change.
    
    (cherry picked from commit ef549ae)
    jishnub authored and KristofferC committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    a2e4054 View commit details
    Browse the repository at this point in the history
  2. update --gcthreads section in command line options (#52645)

    Make these consistent with what's shown by `julia --help`.
    
    Fixes JuliaLang/www.julialang.org#1997.
    
    (cherry picked from commit e7e8b89)
    d-netto authored and KristofferC committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    5de62a4 View commit details
    Browse the repository at this point in the history
  3. update nthreads info in versioninfo (#52423)

    Fixes #52404
    @nilshg I opted to make it one line as it fits.
    ```
    julia> versioninfo()
    Julia Version 1.11.0-DEV.1011
    Commit bb7091c* (2023-12-04 14:58 UTC)
    Platform Info:
      OS: macOS (arm64-apple-darwin23.0.0)
      CPU: 10 × Apple M2 Pro
      WORD_SIZE: 64
      LLVM: libLLVM-15.0.7 (ORCJIT, apple-m1)
      Threads: 1 default, 0 interactive, 1 GC (on 6 virtual cores)
    Environment:
      JULIA_EDITOR = code
    ```
    
    (cherry picked from commit e96c13a)
    IanButterworth authored and KristofferC committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    79684ad View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2024

  1. inference: Guard TypeVar special case against vararg (#52721)

    Fix #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 (#52748)

    Fixes #52686
    Fixes timholy/Revise.jl#770
    
    ---------
    
    Co-authored-by: Jameson Nash <vtjnash@gmail.com>
    Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com>
    Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com>
    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 #52843, account for mutable values directly embedded to IR

    Fixes another variant of #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 (#52878)

    Issues like #52531 were more broadly fixed by #52856. This commit
    partially reverts #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 (#52754)

    The fallback code that was written for #41099 is causing unintended
    issues with some inlined stack frames (one previous #51405, new #52709),
    since the main piece, linetable storage and lookup, was removed in
    #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 (#…

    …52836)
    
    Investigating into #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 #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 (#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 (#234)
    8a614d5 Skip flakey "concurrent requests" tests on windows (#228)
    246504e add a small precompile workload (#226)
    3ed0f08 Document how to bypass the 20-second timeout (#222)
    ```
    
    Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
    DilumAluthgeBot and DilumAluthge committed 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 (#52929)

    I think when we backed off the new heuristics for 1.10 this got missed
    in the meanwhile.
    Should fix #52923
    gbaraldi committed 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 (#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 #3770 from JuliaLang/backports-release-1.10
    729ebe1e3 Avoid deleting existing artifacts when ignoring hashes. (#3768)
    ```
    
    Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
    DilumAluthgeBot and DilumAluthge committed 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 (#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 (#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 (#52752)

    Handle any sort of cycle encountered in the datatype super fields by
    always deferring that field until later and setting a deferred mechanism
    for updating the field only after the supertype is ready.
    
    Fix #52660
    
    (cherry picked from commit 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 (#52758)
    
    Should fix #52711.
    
    My analysis of the invalidation is as follows:
    
    We added code to cache the conversion to `cwstring` in env handling on
    Windows (#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 (#51375)

    This is #48814 times 23. It solves most of but not all of #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 (#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](#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 (#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 (#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 (#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 (#52781)

    Fixes #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 (#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 (#52569)

    Should fix #52558. `a` should be rooted before the alloc call. I removed
    the comment as it seemed to refer to a write barrier that was removed
    long ago.
    
    (cherry picked from commit 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 (#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 (#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 (#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. Profile: use full terminal cols to show function name (#53055)

    (cherry picked from commit 4919dd7)
    IanButterworth committed Jan 26, 2024
    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 (#53096)

    The earlier test relied on the order of the method match list returned
    by `_methods_by_ftype`. However, particularly in cases where the
    `ambig=true` option is used, the match list isn't deterministic. This
    commit modifies it, similar to other pieces of code, so that it `any` to
    ensure the code does not depend on the implementation details of
    `ml_matches`.
    
    Fixes #52739.
    aviatesk committed 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 (#53076)

    This particular fix was part of #50805, but it wasn't included in
    version 1.10, leading to situations where an incorrect `:nothrow` could
    occur in 1.10 (#53062). This commit implements a minimal correction in
    1.10 and also added some test cases.
    
    Fixes #53062.
    aviatesk committed 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 (#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 (#53066)

    Documenter does not support HTML entities. See discussion in PR #52078
    for further background.
    
    Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
    (cherry picked from commit 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 (#53074)

    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 (#53121)

    This was inefficient, though not wrong.
    
    Fixes #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 (#51698)

    This avoid that these files are picked up during julia's build process,
    and are instead only used to link pkgimages, as intended.
    
    Co-authored-by: Tim Besard <tim.besard@gmail.com>
    (cherry picked from commit 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