Repository navigation
upstream: Review Julia through 346d02acc25c - #21
Closed
github-actions[bot] wants to merge 14 commits into
Closed
github-actions[bot] wants to merge 14 commits into
github-actions[bot] wants to merge 14 commits into
Conversation
In past AA attempts, we tried to be more accurate, in the belief that would lead to better code. But actually it turns out that LLVM is so terrible at expressing and using aliasing information, that actually using chaotic and obviously worse information leads to much better code outcomes on benchmarks. This has been vaguely known for a long time (e.g. https://discourse.llvm.org/t/separate-aa-metadata-for-load-store-portions-of-memcpy/44617I), so we've been fighting LLVM for a long time, until this gets a proper fix upstream. Claude finds that this particular combination is consistently faster across a range of benchmarks, as well as fixes a variety of soundness risks still remaining in the code. We can redesign this again once LLVM fixes the design. Assisted-by: Claude Code (Opus 5, Fable 5)
…ang#62871) The binding invalidation code is really coarse-grained, so it's better to declare `_reinterpret` up front, in `essentials.jl`, rather than refer to an undefined function and define it later. Reduces the system image size by about 4 MiB (2.2%) and program text by 184 KiB (1.2%).
In lieu of increasing page limit sizes split latex symbols from emojis. Done to fix JuliaLang#60263 Assisted-by: Claude Code (Opus 5)
…Lang#63244) A mutable source Memory can receive young references after its generation state is checked, and a source scan can disagree with the values later copied. Neither can justify skipping the destination barrier. Copy first, then remember old destinations without inspecting the source. For copies containing at most four pointer fields, atomically scan the copied destination instead of remembering it unconditionally. There is no intervening safepoint, and concurrent replacement stores carry their own barriers. This bounds mutator scanning independently of destination size. Assisted-by: Codex (GPT-6)
…i-docs doc: split latex symbols from emojis for page size load limits during the Documenter.jl make step.
* Handle CodeInstance linfo * Add test * comment on purpose of branch * Use existing helper method Co-authored-by: Andy Dienes <51664769+adienes@users.noreply.github.com> --------- Co-authored-by: Andy Dienes <51664769+adienes@users.noreply.github.com>
…aLang#63239) `Base.bodyfunction` resolved the keyword body function with `getfield(mod, name)`, which looks up the binding in the world age of the calling task. A long-lived task that was spawned before the method was defined therefore hit the backdated binding path, which prints the `access to binding in a world prior to its definition world` warning and throws `UndefVarError` under `--depwarn=error`. JETLS ran into this when its analysis worker tasks inspected methods that were defined after the workers had started. This change adds a `world::UInt=get_world_counter()` keyword argument and performs the binding lookup with `invoke_in_world`, consistently with other reflection utilities such as `hasmethod` and `kwarg_decl`. Existing positional calls keep working, and they now resolve the body function in the latest world regardless of the world age of the caller. Assisted-by: Claude Code (Fable 5.1)
Assisted-by: Codex (GPT-5.6 Luna)
Assisted-by: Codex (GPT-5.6 Luna)
Assisted-by: Codex (GPT-5.6 Luna)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upstream Julia
81093121d4e6cf469154d977e2ecd6b7488ea0de→346d02acc25c3c4c7d56f2fa825a0af0b6b5cd79.Every incoming commit was reviewed in a separate job against the full merged batch.
Draft for human review. Automatic merging is disabled.
The upstream history is preserved in a merge commit; any Joolia adaptations are committed separately. The publisher explicitly dispatches Joolia CI on this branch; inspect its result before merging.
Review record:
contrib/upstream-sync/reports/346d02acc25c3c4c7d56f2fa825a0af0b6b5cd79.json.Incoming commits:
a414ee183a31f255b75f82f0dd110ac64e74ab9c— codegen: redesign aliasinfo again (change 62904)7485f7ad53e7a52bc834bbcbd2bfbcfcd8ea2810— Declare _reinterpret up front to avoid a ton of invalidations (change 62871)22e4766fdef43e6b52949531596ea8d924b1b328— deps: passCMAKE_POLICY_VERSION_MINIMUMwhen configuring ittapi (change 63265)377e4c1869f827140ad5491d123dfda878c50de6— deps: do not build a dependency in order to uninstall it (change 63264)a0c011e53a598d22360a1859ee69471ed719acc4— fixup big rational hashing (change 63266)4d76908384bc853a4faeab2172d669c4ba8ec4ef— gc: never skip weak-processing pages in the quick sweep (change 63234)a261da0be47a8b359c42fe0edfe2d1703c87964a— gc: Make stock-GC memory copies safe under concurrent mutation (change 63244)035f7c9c2348982153d39d3a552dfe0d5c7b1aae— doc: split latex symbols from emojise177e01f81c8571b2e21e84964446704b7645942— Merge upstream branch JuliaLang/rk/split-latex-emoji-docs58e8bb8cb772cbcb030a9affb061e0e7cf0265f9— Hide kwcall frames in stacktraces again (change 63192)346d02acc25c3c4c7d56f2fa825a0af0b6b5cd79— reflection: Addworldkeyword argument toBase.bodyfunction(change 63239)Merge integrated batches with a merge commit, never squash/rebase, to preserve the upstream ancestry.
Passing CI covers only
contrib/ci/coverage.json; it does not certify the entire port.