Skip to content

Backports for 1.12.0-rc2 #59110

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

Merged
merged 25 commits into from
Aug 19, 2025
Merged

Backports for 1.12.0-rc2 #59110

merged 25 commits into from
Aug 19, 2025

Conversation

KristofferC
Copy link
Member

@KristofferC KristofferC commented Jul 27, 2025

Backported PRs:

Need manual backport:

Contains multiple commits, manual intervention needed:

Non-merged PRs with backport label:

@KristofferC KristofferC added the release Release management and versioning. label Jul 27, 2025
@PallHaraldsson
Copy link
Contributor

rc2 presumably?

@KristofferC KristofferC changed the title Backports for 1.12.0-rc1 Backports for 1.12.0-rc2 Jul 27, 2025
The layout, printing, and gc logic need to correctly offset and align
the inset fields to account for the per-element mutex of an atomic
array with large elements.

Fix #58993

(cherry picked from commit c5ba4e2)
@IanButterworth IanButterworth force-pushed the backports-release-1.12 branch from 6dd681b to 0f3c365 Compare July 29, 2025 20:30
@IanButterworth
Copy link
Member

I just did a rebase. Seemed release-1.12 had extra commits.

@giordano

This comment was marked as resolved.

@IanButterworth IanButterworth force-pushed the backports-release-1.12 branch from 0f3c365 to a602e1a Compare July 29, 2025 20:34
aviatesk and others added 14 commits July 30, 2025 23:35
I looked at all the usage sites of these constructors within the
compiler, and fortunately it appears that none of the usage sites
require that the return values of these constructors be objects of their
respective types. So in cases where `LimitedAccuracy` is given as a
wrapped element, these slot type refinements simply will not be
performed.

- fixes #59004
…3867)" (#59211)

We need to revert this for now. Resolves
#58911

It seems that the back-end LLVM emits this libcall a lot less often than
it used to, but it still happens sometimes and 32-bit Windows has no
implementation of `__divti3`.
```
julia> Base.throw(x::Int) = 1
ERROR: cannot add methods to builtin function `throw`
Stacktrace:
 [1] top-level scope
   @ REPL[1]:1
```

(cherry picked from commit 57def4d)
Fix #59128

Assignment desugaring of `(const (= (|::| x T) rhs))` would pre-expand
to, then re-expand `(const x ,(convert-for-type-decl rhs T))`, but
two-arg (IR) const is expected to have a simple RHS---closure conversion
doesn't recurse here (should it?), giving us partially-lowered IR, and
hence our bug.

Fix: Pre-expand to the one-arg AST const form `(const (= x
,(convert-for-type-decl rhs T)))` instead. This also gives us a
`(latestworld)` we were missing before, so this lowering may have been
originally intended.

(cherry picked from commit 3de5b9a)
Closes #59184

(cherry picked from commit 13f6b3b)
vtjnash and others added 2 commits August 13, 2025 14:02
This had failed to be updated for the LazyLibrary changes to codegen.

(cherry picked from commit 46c2a5c)
Fixes the compile time regression in
#59134 (does not address the
performance regression that should be tracked and bisected)

(cherry picked from commit 920df7a)
@KristofferC
Copy link
Member Author


ccall                                             (1) \|         failed at 2025-08-13T13:07:02.330
--
  | Error During Test at /cache/build/tester-amdci5-13/julialang/julia-release-1-dot-12/julia-721648259c/share/julia/test/testdefs.jl:24
  | Got exception outside of a @test
  | LoadError: ArgumentError: Package Zstd_jll not found in current path.
  | - Run `import Pkg; Pkg.add("Zstd_jll")` to install the Zstd_jll package.
  | Stacktrace:
  | [1] macro expansion
  | @ ./loading.jl:2371 [inlined]
  | [2] macro expansion
  | @ ./lock.jl:376 [inlined]
  | [3] __require(into::Module, mod::Symbol)
  | @ Base ./loading.jl:2354
  | [4] require(into::Module, mod::Symbol)
  | @ Base ./loading.jl:2330
  | [5] top-level scope
  | @ /cache/build/tester-amdci5-13/julialang/julia-release-1-dot-12/julia-721648259c/share/julia/test/ccall.jl:1984

Needs to be modified on 1.12 since Zstd_jll is not an stdlib.

vtjnash and others added 2 commits August 18, 2025 08:54
Not sure why we make sure compile go slow, so make it go fast.

(cherry picked from commit 095fc99)
Also set PROGRAM_FILE and ARGS.

fixes #59252

(cherry picked from commit 7b9f532)
@gbaraldi
Copy link
Member

We can probably use libz instead

gbaraldi and others added 5 commits August 18, 2025 12:23
These modifications to the MethodTable should be performed at the
"link-stage", after all user top-level code has executed. This should be
closer to the upcoming 1.13 pipeline, which will move all top-level user
code to its standard package execution context.

This also makes any user-provided functionality for type printing
available to the `TrimVerifier`.

Resolves #59280.
…59298)

Not sure why this wasn't using this before since the code is effectively
identical, but this allows:
```julia
@Assert false "$("Hello,") assertion!"
```
to be `--trim`-"compatible" (unfortunately by deleting the assertion
message...)
…lgebra (#59299)

We may want to move this changes to base proper.
@LilithHafner should sort functions just always specialize on the
`by`/`lt` params? It currently sometimes relies on inlining for good
performance

---------

Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com>
Co-authored-by: Cody Tapscott <topolarity@tapscott.me>
…59232)

This prevents accidentally registering hooks during the sysimage build
that would persist to run-time (unlike what happens when registering
hooks while building a pkgimage)

~~Required for JuliaLang/LinearAlgebra.jl#1407
@KristofferC KristofferC merged commit 18f42dc into release-1.12 Aug 19, 2025
8 checks passed
@KristofferC KristofferC deleted the backports-release-1.12 branch August 19, 2025 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Release management and versioning.
Projects
None yet
Development

Successfully merging this pull request may close these issues.