Skip to content

DO NOT MERGE: v1.12 branch for comparison to master #202

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

Draft
wants to merge 433 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
433 commits
Select commit Hold shift + click to select a range
c175ace
set VERSION to 1.12.0-beta1 (#57535)
KristofferC Apr 2, 2025
2d27adc
`append_c_digits`: typeassert `Int` to improve inference (#57950)
nsajko Apr 1, 2025
6182de7
fix generated_body_to_codeinfo to avoid `string` (which is not always…
vtjnash Apr 4, 2025
787d934
fix `nextpow`, `prevpow` for types without `typemax` (#49669)
nsajko Apr 4, 2025
1e436b1
Backport #57423 to v1.12 (#58004)
Heptazhou Apr 5, 2025
fd213c3
🤖 [backports-release-1.12] Bump the LinearAlgebra stdlib from f0f7a46…
DilumAluthgeBot Apr 7, 2025
956422e
inference: re-enable inference overload for basic statements (#58027)
aviatesk Apr 8, 2025
af93514
Add matches for invoke invalidations (#57999)
timholy Apr 4, 2025
a210129
Logging: Improve threadsafety (#57591)
IanButterworth Apr 4, 2025
a7762c6
Add missing PARTITION_KIND_CONST_IMPORT case to print_partition (#58006)
xal-0 Apr 4, 2025
3582d8a
Avoid most boxes in precompilation code (#57986)
KristofferC Apr 7, 2025
4f6fbd6
inference: simplify `abstract_eval_globalref` (#58026)
aviatesk Apr 9, 2025
f9f5f6e
typeintersect: fix triangular vars handling outside constructor (#58018)
N5N3 Apr 6, 2025
fe36e65
deps: Update MPFR to v4.2.2 (#58039)
inkydragon Apr 10, 2025
ebdb9c0
Remove try-finally scope from `@time_imports` `@trace_compile` `@trac…
IanButterworth Apr 10, 2025
a7e9899
fix #58013, error for too few arguments in `invokelatest` (#58056)
JeffBezanson Apr 10, 2025
c4b6798
fix zero-dimensional `reverse!` (#58086)
nsajko Apr 13, 2025
2decc57
Fix `--project=@script` when outside script directory (#56351)
awadell1 Apr 15, 2025
65657d1
prevent allocation of Memory (layout and object) when not concrete (#…
vtjnash Apr 15, 2025
e0a1611
much faster code-coverage for packages (#57988)
vtjnash Apr 15, 2025
e207cf4
Fix `IOBuffer` `skip` regression (#57963)
nhz2 Apr 15, 2025
d3a569d
[DOC] Update installation docs: /downloads/ => /install/ (#58127)
StefanKarpinski Apr 15, 2025
9d454dc
Ensure completion of invalidation log (#58137)
timholy Apr 16, 2025
640c4e1
Scheduler: Use a "scheduler" task for thread sleep (#57544)
kpamnany Mar 27, 2025
a5bbb91
fix trimming for scheduler task (#57926)
JeffBezanson Mar 31, 2025
b3e1a0c
batch some binding changes (#57765)
vtjnash Apr 1, 2025
980347d
Merge adjacent implicit binding partitions (#57995)
Keno Apr 4, 2025
bba8a82
inference: minor refactoring on abstractinterpretation.jl (#58154)
aviatesk Apr 18, 2025
1515913
fix static show in some edge cases (#58128)
vtjnash Apr 16, 2025
bcb103a
Fix `jl_set_precompile_field_replace` for 0-size fields (#58155)
topolarity Apr 19, 2025
66a3cc9
Switch from segfault to `zip` behavior for mismatched indices in `map…
adienes Apr 19, 2025
f1517b4
subtype: save some union stack space for ∃ free cases. (#58159)
N5N3 Apr 20, 2025
ea25e2a
inference: allow specialization of `scan_specified_partitions` (#58165)
aviatesk Apr 20, 2025
43c784b
gf: make dispatch heuristic representation explicit (#58167)
vtjnash Apr 21, 2025
408e1da
fix performance regression introduced by #58027 (#58184)
aviatesk Apr 22, 2025
8d69739
add showing a string to REPL precompile workload (#58157)
KristofferC Apr 22, 2025
d9da421
JuliaSyntax parser-based REPL completions overhaul (#57767)
xal-0 Apr 22, 2025
44f35d9
Workaround StyledStrings type-piracy (#58112)
tecosaur Apr 22, 2025
debca00
staticdata: remove `reinit_ccallable`
aviatesk Jan 8, 2025
71af4b8
Backports for 1.12.0-beta2 (#58009)
KristofferC Apr 25, 2025
dd74040
set VERSION to 1.12.0-beta2 (#58223)
KristofferC Apr 25, 2025
a2afe89
Narrow `@inbounds` annotations in `accumulate.jl` to only indexing ca…
adienes Apr 24, 2025
e54f907
"improve" allocations macro with more functions (#58057)
vtjnash Apr 24, 2025
56b254e
improve type stability of `stat` (#58212)
aviatesk Apr 25, 2025
bef1824
optimize Type method table queries and insertions (#58216)
vtjnash Apr 25, 2025
fe64e54
Specialize `one` for the `SizedArray` test helper (#58209)
jishnub Apr 26, 2025
3b602f6
Subtype: enable more Tuple related fast path. (#58196)
N5N3 Apr 27, 2025
cf8bb28
[REPLCompletions] use better version of listing module imports for co…
vtjnash Apr 28, 2025
a962d90
Update MozillaCACerts_jll to 2025-02-25 (#58248)
eschnett Apr 28, 2025
8d59049
Update deps to OpenSSL 3.5.0 (#58247)
eschnett Apr 28, 2025
4e7ddaa
add PARTITION_KIND_BACKDATED_CONST to UndefVarError_hint (#58260)
vtjnash Apr 29, 2025
191fc25
improve isdefined precision for 0 field types (#58220)
oscardssmith May 3, 2025
9e323a5
Add manual chapter on world age and binding partition (#58253)
Keno Apr 30, 2025
e69092e
docs: some minor follow-up to JuliaLang/julia#58253 (#58314)
aviatesk May 5, 2025
8a40ccf
Add 1.12 NEWS entry on binding partition (#58297)
Keno May 5, 2025
133d524
clarify that time_ns is monotonic (#57129)
stevengj Apr 29, 2025
4a9dae5
doc: cross-reference `bind` in `Channel` method doc string (#58113)
nsajko Apr 29, 2025
62a3fef
Note annotated string API is experimental in Julia 1.11 in HISTORY.md…
nhz2 Apr 29, 2025
31b0930
Tracy: annotate timings in `JIT_Total` zone with function names
mlechu Apr 24, 2025
bcc885c
OncePerX: Improve initializer type for DataType constructors (#58265)
topolarity Apr 30, 2025
6bb1a24
Strengthen language around `@assume_effects` :consistent (#58254)
Keno Apr 30, 2025
e01179c
Print fallback REPL prompt before user input (#58210)
xal-0 Apr 30, 2025
331cb3f
fix: give access to displaysize when displaying at REPL (#58121)
rfourquet May 2, 2025
18dd371
Fix lowering failure with type parameter in opaque closure (#58307)
mlechu May 3, 2025
79c45b8
Make build_id.lo more random (#58258)
gbaraldi May 3, 2025
72b8474
add backdate_admonition to depwarn=error (#58266)
vtjnash May 3, 2025
dd50abb
test/trimming: Use `SHLIB_EXT` in Makefile
staticfloat Mar 16, 2025
6a16596
staticdata: fix many mistakes in staticdata stripping (#58166)
vtjnash Apr 19, 2025
fdb6a0d
bpart: Fix a hang in a particular corner case (#58271)
Keno Apr 30, 2025
804c2ce
Remove usages of weak symbols (#57523)
topolarity Feb 27, 2025
9e913d7
Prevent type infer hang of "simple" recursive functions (#58273)
vtjnash May 2, 2025
925d41c
bump Pkg to latest v1.12
KristofferC May 5, 2025
eb09ae1
staticdata: Refactor sysimage loading (#57542)
gbaraldi May 5, 2025
7da3d4b
Add hook to initialize Julia on-the-fly during thread adoption (#56334)
gbaraldi Feb 26, 2025
66ade55
Make trimmed binaries initialize on first call (#58141)
gbaraldi Apr 17, 2025
dd17a4f
Refactor julia initialization by finding and loading the sysimage ear…
topolarity May 2, 2025
0e2d835
trimming: Remove `init.c` from test (#58197)
topolarity May 2, 2025
ccece94
add the ability to specify the external name of a ccallable
JeffBezanson Mar 13, 2025
6bab302
remove unused argument from jl_generate_ccallable
JeffBezanson Mar 19, 2025
66b7bd0
Don't use sigatomic before current task is available
gbaraldi May 5, 2025
3efd841
trim: Add `Core.finalizer` support
topolarity Apr 3, 2025
08705ab
some fixes
JeffBezanson Apr 4, 2025
1697857
typeinfer: add separate compile workqueue for native / call_latest code
topolarity Apr 4, 2025
17aa423
Make `empty!(::BitSet)` work during bootstrap
topolarity Apr 9, 2025
96e9942
Collect invoke only for `ftyp === typeof(finalizer)`
topolarity Apr 12, 2025
f3cbeef
typeinfer: Work around inference bug
topolarity Apr 16, 2025
dd392bf
Adjust `--trim` tests for new functionality
topolarity Apr 16, 2025
fc7c7b7
trimming: follow-ups to finalizer support
topolarity May 2, 2025
6e76091
improve robustness of `Vararg` checks in newly added `abstract_eval_x…
aviatesk May 6, 2025
d433021
use `src.nargs` for `validate_code!` (#58327)
aviatesk May 6, 2025
4348e89
Apply some of the trimming patches to 1.12 (#58321)
KristofferC May 6, 2025
5ef75ef
Revert "bump Pkg to latest v1.12"
KristofferC May 9, 2025
4674c21
Backports for 1.12.0-beta3 (#58270)
KristofferC May 9, 2025
faca79b
release-1.12: set VERSION to 1.12.0-beta3 (#58368)
KristofferC May 12, 2025
a4844f4
Fix removal of globals with addrspaces in removeAddrspaces (#58322)
gbaraldi May 6, 2025
e4d859d
replace incorrect Method.deleted_world with more useful Method.dispat…
vtjnash May 6, 2025
a827082
extend Method.dispatch_status optimization to ml_matches_visitor also…
vtjnash May 7, 2025
996ce67
Base.get_extension & Dates.format made public (#58108)
GHTaarn May 8, 2025
e83cb43
Fix late gc lowering pass for vector intrinsics (#55864)
gbaraldi May 8, 2025
69fef33
codegen: remove readonly from abstract type calling convention (#58356)
vtjnash May 9, 2025
6728717
Add set to temporary roots to avoid O(N) check (#57961)
gbaraldi May 10, 2025
aa0e223
fix called-argument analysis for calls with splat (#58070)
JeffBezanson May 10, 2025
e26756d
Use a nonzero initial size with llvm::SmallSet.
maleadt May 13, 2025
dbdfa11
Bump LLVM 18 to include ORC patch. (#58398)
maleadt May 14, 2025
34e68cd
Fix signedness typo in world range update (#58390)
Keno May 13, 2025
e6371c9
Add `Compiler._verify_trim_world_age` for better printing
topolarity May 13, 2025
8feef52
fix `hasmethod` with kwargs to exclude positional arg names (#58410)
JeffBezanson May 14, 2025
c585f7e
[REPL] fix type confusion resulting in nonsensical errors (#58414)
vtjnash May 15, 2025
369ed27
[REPL] more reliable extension loading (#58415)
vtjnash May 15, 2025
b49b352
reflection: Label "dynamic invoke" in `code_typed` (#58411)
topolarity May 16, 2025
1d4065e
Add some precompiles to help loading time (#58436)
IanButterworth May 16, 2025
ab198f9
Fix layout flags for types that have oddly sized primitive type field…
gbaraldi May 19, 2025
916f4c2
avoid deadlock if crashing inside profile_wr_lock (#58452)
vtjnash May 19, 2025
e358d96
inference: prevent nested slot wrappers in abstract_call_builtin (#58…
aviatesk May 2, 2025
4dde5ec
🤖 [backports-release-1.12] Bump the LinearAlgebra stdlib from 4e7c3f4…
DilumAluthgeBot May 27, 2025
92dbdad
Fix tbaa usage when storing into heap allocated immutable structs (#5…
gbaraldi May 22, 2025
9fce636
Add some loading precompiles (#58473)
IanButterworth May 20, 2025
29c5883
Fail when precompiles fail during build on CI (and fix bad precompile…
IanButterworth May 21, 2025
3c4d207
MozillaCACerts: Update to 2025-05-20 (#58496)
eschnett May 22, 2025
f7136c9
don't strip keyword argument names with --strip-metadata (#58412)
JeffBezanson May 22, 2025
4d6fece
Don't filter `Core` methods from newly-inferred list (#58510)
topolarity May 27, 2025
4589ed0
avoid error just computing coverage of generated functions (#58488)
vtjnash May 27, 2025
a430f2e
docs: Add missing compat annotation for `isdefinedglobal` (#58542)
Keno May 28, 2025
1628ac8
fix isconst definition/accessor issues with binding partitions (#58261)
vtjnash May 14, 2025
10c7bd2
check that hashing of types does not foreigncall (`jl_type_hash` is c…
KristofferC May 14, 2025
e90c949
remove invalid precompile signature
KristofferC May 28, 2025
87870a9
release-1.12: note that --trim is experimental and other news/history…
JeffBezanson May 30, 2025
e05fc00
REPLCompletions: remove `builtin_tfunction(::REPLInterpreter)` overlo…
aviatesk May 31, 2025
7bea4c5
Make more types jl_static_show unambiguously (#58512)
xal-0 May 29, 2025
0f7d95e
remove workaround for controlling terminal behavior in repl_cmd (#58554)
vtjnash May 29, 2025
4fc2dea
fix Module for Base.jl for Revise.jl (#58549)
vtjnash May 29, 2025
6e8340b
make typejoin nothrow (#58578)
vtjnash May 30, 2025
505789c
Make `Ptr` values static-show w/ type-information (#58584)
topolarity May 30, 2025
9fd0ba2
Add world age hint for UndefVarError (#58572)
Keno May 31, 2025
a00e1b2
ensure Type{T} gets inserted with the right key when T is a TypeVar (…
vtjnash May 31, 2025
a6394cd
relax dispatch for the `IteratorSize` method for `Generator` (#58110)
nsajko May 31, 2025
6ab22e4
fix Markdown in the `Lockable` doc strings (#58603)
nsajko Jun 2, 2025
31151e5
Update readlines(::Cmd) test to not rely on the filesystem (#58607)
fredrikekre Jun 2, 2025
c8a4fd2
Re-enable tab completion of kwargs for large method tables (#58012)
mbauman Jun 2, 2025
9aa677c
Fix `linearize` of global with complex type (#58611)
mlechu Jun 3, 2025
59ad720
Fix completing positional arguments if a semicolon exists beyond the …
xal-0 May 5, 2025
6f7331c
Backports for 1.12.0-beta4 (#58369)
KristofferC Jun 4, 2025
600ac61
set VERSION to 1.12.0-beta4 (#58633)
KristofferC Jun 5, 2025
9d665ff
gf.c: Fix backedge de-duplication bug (#58106)
topolarity Apr 15, 2025
42dabfd
typeinfer: De-duplicate backedges as they are stored
topolarity Apr 14, 2025
c0aaabe
staticdata: do not serialize backedges for `MethodInstance` / `Method…
topolarity Apr 14, 2025
b2aa9a2
gf.c: make edge de-duplication a caller responsibility
topolarity Apr 14, 2025
4206e21
Update back-edge de-duplication test
topolarity May 8, 2025
63df577
reduce places where Builtins are listed (#58205)
vtjnash Apr 24, 2025
bc9450e
staticdata: prune backedges table during serialization (#58156)
vtjnash Apr 20, 2025
be99f9e
make just one MethodTable (#58131)
vtjnash May 28, 2025
7db505b
MethodTable/Cache PR updates (#58565)
vtjnash May 29, 2025
54c51d9
fix breakage with `jl_get_global` (#58540)
vtjnash May 29, 2025
2eb17ec
Detect Apple M4 and some related changes (#58301)
fingolfin Jun 5, 2025
e66fbe4
Update install link in warning (#58638)
IanButterworth Jun 5, 2025
bc65d98
ircode: handle content outside of a module (#58639)
vtjnash Jun 5, 2025
31bc1b7
Use type wrapper directly rather than typename in `FieldError` (#58507)
MasonProtter Jun 6, 2025
235a7de
module: Tweak backdate-warning-turned error (#58651)
Keno Jun 6, 2025
dede289
bump Pkg to latest 1.12
Jun 11, 2025
eced41d
Try workaround for https://github.com/JuliaLang/www.julialang.org/iss…
staticfloat Jun 8, 2025
1aa7a50
Adjust applescript workaround
staticfloat Jun 8, 2025
d87f8f9
better handling of missing backedges (#58636)
vtjnash Jun 9, 2025
9c702e9
improve inferred effects for `reshape` for `Array` (#58672)
nsajko Jun 9, 2025
6a96201
Unicode: Force-inline isgraphemebreak! (#58674)
Keno Jun 10, 2025
4479c55
Test: Fix failfast for for loops (#58695)
IanButterworth Jun 11, 2025
bb4a890
restore fallback 3-arg `setprecision` method (#58586) (#58699)
JeffBezanson Jun 12, 2025
fb1e0fe
Set the branch for SparseArrays to release-1.12
fredrikekre Jun 13, 2025
533f2b8
🤖 [backports-release-1.12] Bump the LinearAlgebra stdlib from 7264a49…
DilumAluthgeBot Jun 14, 2025
c283757
🤖 [backports-release-1.12] Bump the SparseArrays stdlib from 72c7cac …
DilumAluthgeBot Jun 14, 2025
6136581
inference: improve `isdefined_tfunc` accuracy for `MustAlias` (#58743)
aviatesk Jun 17, 2025
c7b5ffa
[release-1.12] Workaround macOS applescript limitation (#58687)
staticfloat Jun 17, 2025
870622a
Bump llvm to 18.1.7+5 to fix memcpyopt issue (#58610)
gbaraldi Jun 17, 2025
9d2db09
backport-1.12: move to the new versioning policy for Compiler stdlib …
aviatesk Jun 17, 2025
ed55ba4
bump Compiler.jl version to 0.1.1 (#58744)
aviatesk Jun 17, 2025
8d890cc
REPL: fix typo and potential `UndefVarError` (#58761)
aviatesk Jun 18, 2025
e1676c1
fix fallback code path in `take!(::IOBuffer)` method (#58762)
aviatesk Jun 18, 2025
8ec81e2
inform compiler about local variable definedness (#58778)
aviatesk Jun 20, 2025
fa82587
Update Pkg.version
IanButterworth Jun 21, 2025
92f258e
🤖 [backports-release-1.12] Bump the Pkg stdlib from 780260105 to b5f9…
DilumAluthgeBot Jun 22, 2025
9a857ac
Add compat note for OncePer types (#58716)
jakobnissen Jun 12, 2025
f650e9f
UnicodeData: Update to version 16 (#58710)
eschnett Jun 13, 2025
5d94660
Increment state conditionally in `CartesianIndices` iteration (#58742)
jishnub Jun 17, 2025
858eb0f
Work around LLVM JITLink stack overflow issue. (#58579)
gbaraldi Jun 17, 2025
5ae9342
Define textwidth for overlong chars (#58602)
jakobnissen Jun 18, 2025
aba3834
fix showing types after removing using Core (#58773)
vtjnash Jun 19, 2025
9a82567
Test: Hide REPL internals in backtraces (#58732)
IanButterworth Jun 20, 2025
0b32bbd
[libblastrampoline_jll] Upgrade to v5.13.1 (#58775)
amontoison Jun 21, 2025
da36d27
prevent unnecessary repeated squaring calculation (#58720)
nsajko Jun 22, 2025
ae38821
Add `cfunction` support for `--trim` (#58812)
topolarity Jun 26, 2025
de4204b
Add `trim_mode` parameter to JIT type-inference entrypoint (#58817)
topolarity Jun 27, 2025
4c68379
Make trimming tests work in an out-of-tree build. (#58340)
maleadt May 10, 2025
7ad2974
use `@main` for juliac executable entry point (#57588)
JeffBezanson May 22, 2025
6098097
codegen: ensure safepoint functions can read the pgcstack (#58804)
vtjnash Jun 25, 2025
08f6ee9
codegen: gc wb for atomic FCA stores (#58792)
vtjnash Jun 27, 2025
b608652
Revert "Scheduler: Use a "scheduler" task for thread sleep (#57544)"
kpamnany Jun 17, 2025
ddae588
libuv: Mark `(un)preserve_handle` as `@nospecialize` (#58844)
topolarity Jun 30, 2025
e3ef824
Fix broken `--trim` test due to `640c4e1` revert
topolarity Jul 1, 2025
e35e82b
fix `@invokelatest` performance regression (#58582)
vtjnash Jun 2, 2025
7e16e14
Add 0 predecessor to entry basic block and handle it in inlining (#58…
gbaraldi Jun 10, 2025
fc4066d
move trim patches to separate files, only load if trimming (#58826)
JeffBezanson Jun 30, 2025
2e45e64
juliac: Add rudimentary Windows support (#57481)
topolarity Jul 1, 2025
c37ee51
debuginfo: Memoize object symbol lookup (#58851)
topolarity Jul 1, 2025
1e24c2e
trimming: Add `_uv_hook_close` support (#58871)
topolarity Jul 2, 2025
06febe3
aotcompile: Fix early-exit if CI not found for `cfunction` (#58722)
topolarity Jul 2, 2025
4bb1f80
add back `to_power_type` to `deprecated.jl` since some packages call …
KristofferC Jul 4, 2025
e931e83
bump Pkg to latest 1.12
Jul 4, 2025
885f8e7
If the user explicitly asked for 1 thread don't add an interactive on…
gbaraldi Jun 4, 2025
b310ecf
fix module check for new Pkg module name
Jul 7, 2025
3830665
Remove bugged and typically slower `minimum`/`maximum` method (#58267)
mbauman May 7, 2025
3ca6ec5
fix null comparisons for non-standard address spaces (#58837)
simeonschaub Jul 1, 2025
8180b74
Re-add old function name for backward compatibility in init (#58860)
gbaraldi Jul 1, 2025
ba3d2d8
Add a `similar` method for `Type{<:CodeUnits}` (#57826)
ararslan Jul 2, 2025
ff0e323
Fix data race in jl_new_module__ (#58880)
xal-0 Jul 2, 2025
97f21e3
fix trailing indices stackoverflow in reinterpreted array (#58293)
adienes Jul 3, 2025
9517f81
OpenSSL: Update to 3.5.1 (#58876)
eschnett Jul 3, 2025
be73573
Add offset in `hvncat` dimension calculation to fix issue with 0-leng…
BioTurboNick Jul 3, 2025
f60e44b
Pkg: Allow configuring can_fancyprint(io::IO) using IOContext (#58887)
fonsp Jul 4, 2025
304847e
Define `in` for `CartesianIndex` ranges (#58616)
jishnub Jun 16, 2025
1ef9ca3
bpart: failed "edge" invalidation (#58336)
timholy May 10, 2025
a121e3b
Add binding invalidations to log (#58226)
timholy May 30, 2025
fa74542
bpart: Properly track methods with invalidated source after require_w…
Keno Jun 28, 2025
a28d9b4
add METHOD_SIG_LATEST_ONLY optimization to MethodInstance too (#58825)
vtjnash Jun 30, 2025
9a7388c
correctly encode and validate fully_covers as edges (#58861)
vtjnash Jul 7, 2025
c4e298c
Binding invalidation data race fixes (#58924)
KristofferC Jul 8, 2025
7c1ef00
Revert "Define `in` for `CartesianIndex` ranges (#58616)"
KristofferC Jul 8, 2025
aa56078
test: replcompletions: Replace timedwait by proper condvar (#58643)
Keno Jun 5, 2025
c1f27d2
🤖 [backports-release-1.12] Bump the Distributed stdlib from 51e5297 t…
DilumAluthgeBot Jul 8, 2025
e068372
Backports for 1.12.0-rc1 (#58655)
KristofferC Jul 9, 2025
acdc09f
Much more conservative highlighting for 1.12
tecosaur May 13, 2025
fdd8320
shield `_artifact_str` function behind a world age barrier (#58957)
KristofferC Jul 10, 2025
71031e8
Add juliac Artifacts.toml in Makefile (#58936)
visr Jul 10, 2025
fcfbcd7
Fix nthreadpools size in JLOptions (#58937)
IanButterworth Jul 9, 2025
004c1a2
🤖 [backports-release-1.12] Bump the NetworkOptions stdlib from c09062…
DilumAluthgeBot Jul 11, 2025
3a341c5
Backports for 1.12.0-rc1 (#58956)
KristofferC Jul 12, 2025
228edd6
set VERSION to 1.12.0-rc1 (#58985)
KristofferC Jul 12, 2025
6d1c0e6
Make a commit to trigger 1.12 Buildkite CI for the first time
DilumAluthge Feb 4, 2025
3d3615d
Revert "Make a commit to trigger 1.12 Buildkite CI for the first time"
DilumAluthge Feb 4, 2025
358813d
RAI: add a numeric suffix to the VERSION to ensure that version check…
Jul 13, 2025
880c396
Add GitHub template and workflows needed on the default branch (#135)
Drvi Mar 19, 2024
d6d88d2
RAI: Track blocks and bytes allocated for GC pools
d-netto Jan 6, 2025
e92e7a2
RAI: Change task ordering behavior to prioritize older tasks
kpamnany Aug 9, 2023
11a6cc6
RAI: Disable huge pages for all mmap'ed memory
kpamnany Aug 21, 2023
ece70a1
RAI: Never use MADV_FREE
kuszmaul Aug 22, 2023
8dc813f
RAI: Prepend "thread (%d) " to output from `jl_print_task_backtraces()`
kpamnany Oct 9, 2023
2a94b64
RAI: Add heartbeat capability
kpamnany Oct 7, 2023
9b15b5a
RAI: --safe-crash-log-file flag
d-netto Mar 22, 2024
7b1f3ef
RAI: Write heartbeat thread output to safe crash log
kpamnany May 27, 2024
045262b
RAI: fix string interpolation on OPENBLAS_BUILD_OPTS
d-netto Jan 6, 2025
11db7c5
RAI: Prepend signal number and thread ID on backtraces
kpamnany Aug 21, 2023
e2c4d15
RAI: do not prepend thread ID to backtraces from signal handler context
kpamnany Apr 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# See https://github.com/actions/labeler
port-to-master: '**'
port-to-v1.10: '**'
14 changes: 14 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!---
PRs to RelationalAI/julia must be opened to the correct branch (see
https://github.com/RelationalAI/raicode/blob/master/nix/julia-version.json).
-->
## PR Description

_What does this PR do?_

## Checklist

Requirements for merging:
- [ ] I have opened an issue or PR upstream on JuliaLang/julia: <link to JuliaLang/julia>
- [ ] I have removed the `port-to-*` labels that don't apply.
- [ ] I have opened a PR on raicode to test these changes: <link to raicode>
17 changes: 17 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# See https://github.com/actions/labeler
name: "Pull Request Labeler"
on:
pull_request_target:
types:
- opened

jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
with:
dot: true
16 changes: 16 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: "Close stale PRs"
on:
schedule:
- cron: "0 0 * * *" # every night at midnight

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Comment or remove stale label, or this PR will be closed in 5 days.'
days-before-stale: 30
days-before-close: 5
stale-pr-label: 'stale'
28 changes: 28 additions & 0 deletions .github/workflows/update-upstream-branches.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Update upstream branches"
on:
schedule:
- cron: "0 0 * * *" # every night at midnight
workflow_dispatch:

jobs:
PullUpstream:
runs-on: ubuntu-latest
strategy:
fail-fast: false # run all jobs in the matrix even if one fails
matrix:
branch:
- "master"
- "backports-release-1.10"
steps:
- name: Checkout RAI/julia
uses: actions/checkout@v3
with:
ref: ${{ matrix.branch }}
- name: Update ${{ matrix.branch }}
run: |
git config --global user.email "[email protected]"
git config --global user.name "RAI CI (GitHub Action Automation)"

git remote add upstream https://github.com/JuliaLang/julia
git pull upstream ${{ matrix.branch }}
git push origin ${{ matrix.branch }}
2 changes: 1 addition & 1 deletion Compiler/LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2009-2024: Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors: https://github.com/JuliaLang/julia/contributors
Copyright (c) 2009-2025: Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors: https://github.com/JuliaLang/julia/contributors

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Expand Down
2 changes: 1 addition & 1 deletion Compiler/Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "Compiler"
uuid = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1"
version = "0.0.3"
version = "0.1.1"

[compat]
julia = "1.10"
Expand Down
45 changes: 45 additions & 0 deletions Compiler/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# The `Compiler` module

This directory maintains the implementation of the Julia compiler.

Through a bootstrapping process, it is bundled into the Julia runtime as `Base.Compiler`.

You can also use this `Compiler` module as the `Compiler` standard library by following the steps below.

## How to use

To utilize this `Compiler.jl` standard library, you need to declare it as a dependency in
your `Project.toml` as follows:
> Project.toml
```toml
[deps]
Compiler = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1"

[compat]
Compiler = "0.1"
```

With the setup above, [the special placeholder version (v0.1)](https://github.com/JuliaLang/BaseCompiler.jl)
will be installed by default.[^1]

[^1]: Currently, only version v0.1 is registered in the [General](https://github.com/JuliaRegistries/General) registry.

If needed, you can switch to a custom implementation of the `Compiler` module by running
```julia-repl
pkg> dev /path/to/Compiler.jl # to use a local implementation
```
or
```julia-repl
pkg> add https://url/of/Compiler/branch # to use a remote implementation
```
This feature is particularly useful for developing or experimenting with alternative compiler implementations.

> [!note]
> The Compiler.jl standard library is available starting from Julia v1.10.
> However, switching to a custom compiler implementation is supported only from
> Julia v1.12 onwards.

> [!warning]
> When using a custom, non-`Base` version of `Compiler` implementation, it may be necessary
> to run `InteractiveUtils.@activate Compiler` to ensure proper functionality of certain
> reflection utilities.
6 changes: 4 additions & 2 deletions Compiler/extras/CompilerDevTools/src/CompilerDevTools.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ struct SplitCacheInterp <: Compiler.AbstractInterpreter
inf_params::Compiler.InferenceParams
opt_params::Compiler.OptimizationParams
inf_cache::Vector{Compiler.InferenceResult}
codegen_cache::IdDict{CodeInstance,CodeInfo}
function SplitCacheInterp(;
world::UInt = Base.get_world_counter(),
inf_params::Compiler.InferenceParams = Compiler.InferenceParams(),
opt_params::Compiler.OptimizationParams = Compiler.OptimizationParams(),
inf_cache::Vector{Compiler.InferenceResult} = Compiler.InferenceResult[])
new(world, inf_params, opt_params, inf_cache)
new(world, inf_params, opt_params, inf_cache, IdDict{CodeInstance,CodeInfo}())
end
end

Expand All @@ -23,10 +24,11 @@ Compiler.OptimizationParams(interp::SplitCacheInterp) = interp.opt_params
Compiler.get_inference_world(interp::SplitCacheInterp) = interp.world
Compiler.get_inference_cache(interp::SplitCacheInterp) = interp.inf_cache
Compiler.cache_owner(::SplitCacheInterp) = SplitCacheOwner()
Compiler.codegen_cache(interp::SplitCacheInterp) = interp.codegen_cache

import Core.OptimizedGenerics.CompilerPlugins: typeinf, typeinf_edge
@eval @noinline typeinf(::SplitCacheOwner, mi::MethodInstance, source_mode::UInt8) =
Base.invoke_in_world(which(typeinf, Tuple{SplitCacheOwner, MethodInstance, UInt8}).primary_world, Compiler.typeinf_ext, SplitCacheInterp(; world=Base.tls_world_age()), mi, source_mode)
Base.invoke_in_world(which(typeinf, Tuple{SplitCacheOwner, MethodInstance, UInt8}).primary_world, Compiler.typeinf_ext_toplevel, SplitCacheInterp(; world=Base.tls_world_age()), mi, source_mode)

@eval @noinline function typeinf_edge(::SplitCacheOwner, mi::MethodInstance, parent_frame::Compiler.InferenceState, world::UInt, source_mode::UInt8)
# TODO: This isn't quite right, we're just sketching things for now
Expand Down
49 changes: 27 additions & 22 deletions Compiler/src/Compiler.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,18 @@ else

@eval baremodule Compiler

# Needs to match UUID defined in Project.toml
ccall(:jl_set_module_uuid, Cvoid, (Any, NTuple{2, UInt64}), Compiler,
(0x807dbc54_b67e_4c79, 0x8afb_eafe4df6f2e1))

using Core.Intrinsics, Core.IR

using Core: ABIOverride, Builtin, CodeInstance, IntrinsicFunction, MethodInstance, MethodMatch,
MethodTable, PartialOpaque, SimpleVector, TypeofVararg,
MethodTable, MethodCache, PartialOpaque, SimpleVector, TypeofVararg,
_apply_iterate, apply_type, compilerbarrier, donotdelete, memoryref_isassigned,
memoryrefget, memoryrefnew, memoryrefoffset, memoryrefset!, print, println, show, svec,
typename, unsafe_write, write

using Base
using Base: @_foldable_meta, @_gc_preserve_begin, @_gc_preserve_end, @nospecializeinfer,
BINDING_KIND_GLOBAL, BINDING_KIND_UNDEF_CONST, BINDING_KIND_BACKDATED_CONST,
PARTITION_KIND_GLOBAL, PARTITION_KIND_UNDEF_CONST, PARTITION_KIND_BACKDATED_CONST, PARTITION_KIND_DECLARED,
PARTITION_FLAG_DEPWARN,
Base, BitVector, Bottom, Callable, DataTypeFieldDesc,
EffectsOverride, Filter, Generator, IteratorSize, JLOptions, NUM_EFFECTS_OVERRIDES,
OneTo, Ordering, RefValue, SizeUnknown, _NAMEDTUPLE_NAME,
Expand All @@ -60,7 +57,7 @@ using Base: @_foldable_meta, @_gc_preserve_begin, @_gc_preserve_end, @nospeciali
generating_output, get_nospecializeinfer_sig, get_world_counter, has_free_typevars,
hasgenerator, hasintersect, indexed_iterate, isType, is_file_tracked, is_function_def,
is_meta_expr, is_meta_expr_head, is_nospecialized, is_nospecializeinfer, is_defined_const_binding,
is_some_const_binding, is_some_guard, is_some_imported, is_valid_intrinsic_elptr,
is_some_const_binding, is_some_guard, is_some_imported, is_some_explicit_imported, is_some_binding_imported, is_valid_intrinsic_elptr,
isbitsunion, isconcretedispatch, isdispatchelem, isexpr, isfieldatomic, isidentityfree,
iskindtype, ismutabletypename, ismutationfree, issingletontype, isvarargtype, isvatuple,
kwerr, lookup_binding_partition, may_invoke_generator, methods, midpoint, moduleroot,
Expand All @@ -72,7 +69,11 @@ using Base.Order

import Base: ==, _topmod, append!, convert, copy, copy!, findall, first, get, get!,
getindex, haskey, in, isempty, isready, iterate, iterate, last, length, max_world,
min_world, popfirst!, push!, resize!, setindex!, size
min_world, popfirst!, push!, resize!, setindex!, size, intersect

# Needs to match UUID defined in Project.toml
ccall(:jl_set_module_uuid, Cvoid, (Any, NTuple{2, UInt64}), Compiler,
(0x807dbc54_b67e_4c79, 0x8afb_eafe4df6f2e1))

const getproperty = Core.getfield
const setproperty! = Core.setfield!
Expand Down Expand Up @@ -129,7 +130,7 @@ something(x::Any, y...) = x
############

baremodule BuildSettings
using Core: ARGS, include
using Core: ARGS, include, Int, ===
using ..Compiler: >, getindex, length

global MAX_METHODS::Int = 3
Expand Down Expand Up @@ -188,21 +189,25 @@ macro __SOURCE_FILE__()
return QuoteNode(__source__.file::Symbol)
end

module IRShow end
function load_irshow!()
if isdefined(Base, :end_base_include)
# This code path is exclusively for Revise, which may want to re-run this
# after bootstrap.
include(IRShow, Base.joinpath(Base.dirname(Base.String(@__SOURCE_FILE__)), "ssair/show.jl"))
else
module IRShow end # relies on string and IO operations defined in Base
baremodule TrimVerifier using Core end # relies on IRShow, so define this afterwards

if isdefined(Base, :end_base_include)
# When this module is loaded as the standard library, include these files as usual
include(IRShow, "ssair/show.jl")
include(TrimVerifier, "verifytrim.jl")
else
function load_irshow!()
Base.delete_method(Base.which(verify_typeinf_trim, (IO, Vector{Any}, Bool)),)
include(IRShow, "ssair/show.jl")
include(TrimVerifier, "verifytrim.jl")
end
end
if !isdefined(Base, :end_base_include)
# During bootstrap, skip including this file and defer it to base/show.jl to include later
else
# When this module is loaded as the standard library, include this file as usual
load_irshow!()
function verify_typeinf_trim(io::IO, codeinfos::Vector{Any}, onlywarn::Bool)
# stub implementation
msg = "--trim verifier not defined"
onlywarn ? println(io, msg) : error(msg)
end
# During bootstrap, skip including these files and defer to base/show.jl to include it later
end

end # baremodule Compiler
Expand Down
Loading