Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: JuliaLang/julia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master@{1day}
Choose a base ref
...
head repository: JuliaLang/julia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 8 commits
  • 25 files changed
  • 4 contributors

Commits on Sep 12, 2025

  1. Configuration menu
    Copy the full SHA
    7510b54 View commit details
    Browse the repository at this point in the history
  2. include rem2pi.jl

    oscardssmith committed Sep 12, 2025
    Configuration menu
    Copy the full SHA
    1f463c3 View commit details
    Browse the repository at this point in the history
  3. Update base/math.jl

    oscardssmith authored Sep 12, 2025
    Configuration menu
    Copy the full SHA
    b306585 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2025

  1. optimizations: better modeling and codegen for apply calls

     - Use svec instead of tuple for arguments (better match for ABI which
       will require boxes)
     - Directly forward single svec argument, both runtime and codegen,
       without copying.
     - Optimize all consistant builtin functions of constant arguments, not
       just ones with special tfuncs. Reducing code duplication and
       divergence.
     - Codegen for `svec()` directly, so optimizer can see each store (and
       doesn't have to build the whole thing on the stack first).
    vtjnash committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    19ad3be View commit details
    Browse the repository at this point in the history
  2. codegen: mark svec fields GC as release stores

    Without a release store, it seems LLVM considers it a data race to have
    read the initial state on another thread. Marking this as a release
    store seems sufficient to prevent that optimization. It is also more
    consistent with how we initialize and write to most other structs,
    particularly since #55767.
    
    Fixes #59547 (more)
    vtjnash committed Sep 16, 2025
    Configuration menu
    Copy the full SHA
    18f1c26 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2025

  1. optimizations: better modeling and codegen for apply and svec calls (#…

    …59548)
    
    - Use svec instead of tuple for arguments (better match for ABI which
    will require boxes)
    - Directly forward single svec argument, both runtime and codegen,
    without copying.
    - Optimize all consistant builtin functions of constant arguments, not
    just ones with special tfuncs. Reducing code duplication and divergence.
    - Codegen for `svec()` directly, so optimizer can see each store (and
    doesn't have to build the whole thing on the stack first).
    
    Written with help by Claude
    vtjnash authored Sep 17, 2025
    Configuration menu
    Copy the full SHA
    f818842 View commit details
    Browse the repository at this point in the history
  2. move rem2pi and pow to special (#59545)

    This makes math.jl slightly simpler with no functional differences.
    
    While cleaning up, I also removed Base.Math.libm which appears to be
    completely unused (and is an alias to Base.libm_name)
    oscardssmith authored Sep 17, 2025
    Configuration menu
    Copy the full SHA
    e0d49ac View commit details
    Browse the repository at this point in the history
  3. prevent stack overflows from faulty user-defined constructor methods (#…

    …59506)
    
    `Base` code often assumes that a constructor will return a value of the
    stated type. This is false, cross-reference issue #42372.
    
    This change prevents several stack overflows that arise when a generic
    method is called with a newly-defined type with such a weird constructor
    for some `Base`-defined type.
    nsajko authored Sep 17, 2025
    1 Configuration menu
    Copy the full SHA
    f0ece4a View commit details
    Browse the repository at this point in the history
Loading