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

release-1.9: Backports for 1.9.3 #50507

Merged
merged 22 commits into from
Aug 18, 2023
Merged

Commits on Jul 11, 2023

  1. Generalize Bool parse method to AbstractString (#47782)

    * Generalize Bool parse method to AbstractString
    
    Fixes JuliaStrings/InlineStrings.jl#57.
    
    We currently have a specialization for `parse(Bool, ::Union{String, SubString{String})`
    where `true` and `false` are parsed appropriately. The restriction to
    `Union{String, SubString{String}}`, however, means we don't get this behavior
    for other `AbstractString`s. In the linked issue above, for InlineStrings, we end up
    going through the generic integer parsing codepath which results in an `InexactError`
    when we try to do `Bool(10)`.
    
    The proposal in this PR takes advantage of the fact that there is only the 2 comparisons
    where we do `_memcmp` that require the input string to be "dense" (in memory), and otherwise,
    we just do a comparison against a `SubString` of the input string.
    
    Relatedly, I've wanted to introduce the concept of an abstrac type like:
    
    ```julia
    abstract type MemoryAddressableString <: AbstractString
    ```
    
    where the additional required interface would be being able to call
    `pointer(::MemoryAddressableString)`, since a lot of our string algorithms depend on doing
    these kind of pointer operations and hence makes it quite a pain to implement your own
    custom string type.
    
    * Apply suggestions from code review
    
    Co-authored-by: Stefan Karpinski <stefan@karpinski.org>
    Co-authored-by: Nick Robinson <npr251@gmail.com>
    
    Co-authored-by: Stefan Karpinski <stefan@karpinski.org>
    Co-authored-by: Nick Robinson <npr251@gmail.com>
    (cherry picked from commit 63830a6)
    quinnj authored and KristofferC committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    c984dd8 View commit details
    Browse the repository at this point in the history
  2. Lock finalizers lists at exit (#49931)

    (cherry picked from commit c470dc3)
    kpamnany authored and KristofferC committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    6d135d6 View commit details
    Browse the repository at this point in the history
  3. Check input expresion in numbered prompt (#50064)

    (cherry picked from commit 7e3c706)
    wangl-cc authored and KristofferC committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    f297ae2 View commit details
    Browse the repository at this point in the history
  4. docs: Fix a !!! note which was miscapitalized (#50474)

    (cherry picked from commit 236c23b)
    chipbuster authored and KristofferC committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    d574712 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a8eabb7 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2023

  1. Fix visibility of assert on GCC12/13

    (cherry picked from commit 28720ff)
    vchuravy authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    8b99260 View commit details
    Browse the repository at this point in the history
  2. versioninfo(): include build info and unofficial warning (#50635)

    (cherry picked from commit c43e5a1)
    IanButterworth authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    1d2dd91 View commit details
    Browse the repository at this point in the history
  3. Revert "Remove number / vector (#44358)" (#49915)

    (cherry picked from commit 503d5b4)
    oxinabox authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    b9543ef View commit details
    Browse the repository at this point in the history
  4. fix bit_map! with aliasing (#50781)

    fixes #50780 caused by #47013.
    
    (cherry picked from commit 3e04129)
    oscardssmith authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    593dcde View commit details
    Browse the repository at this point in the history
  5. fix #50438, use default pool for at-threads (#50845)

    (cherry picked from commit 744aa79)
    JeffBezanson authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    7a5d1d4 View commit details
    Browse the repository at this point in the history
  6. Update inference.md (#49031)

    Update URLs to JuliaHub blog
    
    (cherry picked from commit abae35c)
    ferrolho authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    0de8c64 View commit details
    Browse the repository at this point in the history
  7. initialize prev_nold and nold in gc_reset_page (#50289)

    (cherry picked from commit 48c92c1)
    d-netto authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    e2208a7 View commit details
    Browse the repository at this point in the history
  8. Expand kwcall lowering positional default check to vararg

    Fixes the case from #50518, but we actually have two test cases in
    the tests that also hit this (e.g. this one:
    ```
    f40964(xs::Int...=1; k = 2) = (xs, k)
    ```), but just happened not to hit the bad codegen path. #50556,
    once merged would have complained on those definitions as well,
    without this fix.
    
    (cherry picked from commit c272236)
    Keno authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    0c9c477 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f0ade8a View commit details
    Browse the repository at this point in the history
  10. invokelatest docs should say not exported before 1.9 (#50341)

    (cherry picked from commit cb6d0f2)
    stevengj authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    15f417f View commit details
    Browse the repository at this point in the history
  11. Merge pull request #50525 from oscardssmith/fix-generic_lu_fact-check…

    …=false
    
    only check that values are finite in `generic_lufact`  when `check=true`
    
    (cherry picked from commit 824cdf1)
    oscardssmith authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    5f465da View commit details
    Browse the repository at this point in the history
  12. codegen: handle dead code with unsafe_store of FCA pointers (#50164)

    Fix #50125
    
    (cherry picked from commit ef6d900)
    vtjnash authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    016cb5f View commit details
    Browse the repository at this point in the history
  13. Add Base.get_extension to docs/API (#50860)

    The documentation of `Pkg.jl` is instructing
    developers to rely on the existence of this function, and there doesn't
    seem to be any alternative which is a part of the API that developers
    can use instead on to guarantee forward compatibility for the same
    behavior.
    
    `Base.get_extension` is [referred to
    explicitly](https://pkgdocs.julialang.org/v1.9/creating-packages/#Backwards-compatibility)
    in the `Pkg.jl` docs to conditionally use package extensions vs
    `Requires.jl`.
    
    The `Pkg.jl` docs suggest
    ```julia
    if !isdefined(Base, :get_extension)
      include("../ext/PlottingContourExt.jl")
    end
    ```
    to transition from "normal dependency to extension," which will break
    and automatically load the extension in future versions should
    `Base.get_extension` go away.
    
    `Base.get_extension` is the only way (that I know of) to directly access
    the module associated with a package extension, which can be a useful
    utility as well.
    
    (cherry picked from commit d1759bc)
    SBuercklin authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    bba08a4 View commit details
    Browse the repository at this point in the history
  14. Backport: Avoid generic call in most cases for getproperty (#50523)

    (cherry picked from commit 462ac49)
    kpamnany authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    88ece46 View commit details
    Browse the repository at this point in the history
  15. Array(::AbstractRange) should return an Array (#50568)

    Currently, `Array(r::AbstractRange)` falls back to `vcat(r)`, but
    certain ranges may choose to specialize `vcat(r::AbstractRange)` to not
    return an `Array`. This PR ensures that `Array(r)` always returns an
    `Array`.
    
    At present, there's some code overlap with `vcat` (just above the
    `Array` method added in this PR). Perhaps some of these may be replaced
    by `unsafe_copyto!`, but the tests for ranges include some special cases
    that don't support `getindex`, which complicates things a bit. I've not
    done this for now. In any case, the common bit of code is pretty simple,
    so perhaps the duplication is harmless.
    
    (cherry picked from commit 3cc0590)
    jishnub authored and KristofferC committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    025ef93 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2023

  1. macOS: Don't inspect dead threadtls during exception handling. (#50871)

    Otherwise we may end up with the state of a dead thread, as the system
    IDs can alias. This can lead to an early return from the exception
    handler, resulting in e.g. safepoint exceptions being actually delivered
    to user code.
    
    ---------
    
    Co-authored-by: Jameson Nash <vtjnash@gmail.com>
    Co-authored-by: Cody Tapscott <topolarity@tapscott.me>
    3 people committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    ab27a43 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. Faster iteration over non-offset AbstractVector (#48720)

    This change simplifies the boundscheck in loop as LLVM would lift the const subtraction.
    Simd block would be generated in more cases.
    
    Co-authored-by: N5N3 <2642243996@qq.com>
    (cherry picked from commit 1543cdd)
    matthias314 authored and KristofferC committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c25c2bc View commit details
    Browse the repository at this point in the history