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 289 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
289 commits
Select commit Hold shift + click to select a range
f572662
staticdata: Fix typo in recursive edge revalidation (#57383)
Keno Feb 13, 2025
149a5f4
bpart: Move kind enum into its intended place (#57385)
Keno Feb 13, 2025
5e4a7fb
Bump JuliaSyntax to v1.0.2 (#57388)
lgoettgens Feb 14, 2025
22021d9
🤖 [master] Bump the Statistics stdlib from d49c2bf to 77bd570 (#57266)
DilumAluthgeBot Feb 14, 2025
1152e9b
lowering: fix has_fcall computation (#57395)
vtjnash Feb 14, 2025
5e45856
Clarify mathematical definition of `gcd` (#57204)
LilithHafner Feb 14, 2025
69f1a81
internals: add _defaultctor function for defining ctors (#57317)
vtjnash Feb 14, 2025
5918d42
Make `Pairs` public (#56794)
LilithHafner Feb 14, 2025
9002fe5
staticdata: corrected implementation of jl_collect_new_roots (#57407)
vtjnash Feb 14, 2025
67eb453
bpart: Also partition the export flag (#57405)
Keno Feb 15, 2025
0a7da08
Compiler: Fix check for IRShow definedness (#57420)
Keno Feb 15, 2025
41e0464
fix `(-Inf)^-1` inconsistency (#55875)
oscardssmith Feb 15, 2025
423cb56
bpart: Ignore guard bindings for ambiguity purposes (#57406)
Keno Feb 15, 2025
5da257d
Allow for :foreigncall to transition to GC safe automatically (#49933)
vchuravy Feb 15, 2025
b0c5f61
Backports 1.12 (#57408)
KristofferC Feb 17, 2025
7be953f
bpart: Skip implicit import reval if using'd export set is unchanged …
Keno Feb 15, 2025
5aec07f
generated: Switch resolution module back to what it was before (#57419)
Keno Feb 15, 2025
51fa787
Prohibit binding replacement in closed modules during precompile (#57…
Keno Feb 16, 2025
1c9d39d
Prohibit `import`ing or `using` Main during incremental compilation (…
Keno Feb 16, 2025
5e3f967
bpart: Track whether any binding replacement has happened in image mo…
Keno Feb 17, 2025
5518d11
Update LinearAlgebra.version: redirect to the `release-1.12` branch
dkarrasch Feb 20, 2025
83e99fe
Add explicit imports for types and fix bugs (#57302)
Keno Feb 7, 2025
9cfb24a
Run all `--sysimage-native-code=no` cmdlineargs tests single-threaded…
IanButterworth Feb 18, 2025
3c58c10
Only strip invariant.load from special pointers (#57386)
vchuravy Feb 18, 2025
94d7417
Revert "Make emitted egal code more loopy (#54121)" (#57453)
vtjnash Feb 19, 2025
015c535
Change memory indexing to use the type as index instead of i8 (#57389)
gbaraldi Feb 19, 2025
9095265
using/import: ensure world update after each observable operation (#5…
vtjnash Feb 19, 2025
9579515
staticdata: Don't use `newm` pointer after it has been invalidated (#…
topolarity Feb 20, 2025
84c3fd7
lowering: Don't mutate lambda in `linearize` (#57416)
mlechu Feb 20, 2025
c78016e
Don't return null pointer when asking for the type of a declared glob…
Keno Feb 18, 2025
bf42463
bump LinearAlgebra to latest v1.12
KristofferC Feb 25, 2025
49263b7
Backports for 1.12 (#57444)
KristofferC Feb 26, 2025
bec9235
build: fix makefile rules and windows path separator used in build (#…
vtjnash Feb 21, 2025
d3499d0
strip Module filename from metadata (#57499)
vtjnash Feb 22, 2025
b565c28
`Base.summarysize` for `Memory` with `Union` (#57508)
PatrickHaecker Feb 23, 2025
d04631d
don't mutate globals when constructing `Rational` from `AbstractIrrat…
nsajko Feb 25, 2025
92396aa
[Compiler] begin new approach to verify --trim output (#57530)
vtjnash Feb 26, 2025
10d75d2
[Compiler] fix some cycle_fix_limited usage (#57545)
vtjnash Feb 27, 2025
828c7cc
some updates for trimming (#57531)
JeffBezanson Feb 27, 2025
c5d0b67
Bump JuliaSyntaxHighlighting (#57526)
tecosaur Feb 27, 2025
c450cff
Docs: `circshift!(::AbstractVector, ::Integer)` (#57539)
barucden Feb 27, 2025
e2884bc
lowering: Allow chaining of `>:` in `where` (#57554)
mlechu Feb 27, 2025
e878f5c
bpart: Check whether the replaced binding is a type before assuming (…
Keno Feb 28, 2025
c9d2a27
Walk to imports in `isconst(::GlobalRef)` (#57563)
Keno Feb 28, 2025
0a8b382
Always disallow assignments to constants (#57567)
Keno Feb 28, 2025
5323469
Group import hints (#56753)
ajwheeler Feb 28, 2025
87d9c23
Remove `jl_init__threading` and `jl_init_with_image__threading` (#57561)
topolarity Feb 28, 2025
d271805
Make no-body `function` declaration implicitly `global` (#57562)
Keno Mar 1, 2025
66085c5
avoid overflow on functionality to print backtrace of safepoint strag…
d-netto Mar 1, 2025
e661b5f
`Base.Precompilation.ExplicitEnv`: handle type instability better in …
nsajko Mar 2, 2025
e9126d7
cleanup old builtins (#57532)
vtjnash Mar 2, 2025
38644b3
strings: type assert in the generic `nextind`, `prevind` methods (#57…
nsajko Mar 3, 2025
4942b1c
`AnnotatedString`: add concrete type asserts to `isvalid`, `ncodeunit…
nsajko Mar 3, 2025
4eaae59
`Base`: `power_by_squaring`: don't require `one` (#57590)
nsajko Mar 3, 2025
ad92902
Precompile Markdown parsing AND printing (#55752)
PallHaraldsson Mar 4, 2025
b3c81e9
bpart: Also partition ->deprecated (#57449)
Keno Feb 28, 2025
855807c
bpart: Allow inference/codegen to merge multiple partitions (#57602)
Keno Mar 2, 2025
7cf1db3
bpart: Rename partition flags, turn binding flags atomic (#57614)
Keno Mar 3, 2025
686c917
Align module base between invalidation and edge tracking (#57625)
Keno Mar 4, 2025
10f5d44
[1.12] Add PR number to `gc_safe` NEWS entry (#57682)
christiangnrd Mar 8, 2025
8d76a67
Add missing arg in TOML `printvalue` (#57584)
qiaojunfeng Mar 5, 2025
cf69717
Compiler: Fix pre-compilation as separate package (#57650)
topolarity Mar 6, 2025
1679d93
Intersect: try normal+reverse+existential subtyping during intersecti…
N5N3 Mar 6, 2025
9bac7e7
Fix julia.h for use in MSVC (#57654)
barche Mar 7, 2025
c0bf26a
lock: Specialize `OncePerX` more aggressively (#57660)
topolarity Mar 7, 2025
8bfb658
trimming: improve output on failure (#57657)
topolarity Mar 7, 2025
36986a0
typeinfer: Add `force_enable_inference` to override Module-level infe…
topolarity Mar 7, 2025
0e93f12
Compiler: `abstract_apply`: declare type of two closure captures (#57…
nsajko Mar 10, 2025
c04db34
`Base`: `append!`, `resize!`: convert length to `Int` before passing …
nsajko Mar 11, 2025
d8af2ed
Compiler/ssair/passes: `_lift_svec_ref`: improve type stability (#57633)
nsajko Mar 11, 2025
1ad2982
Libdl: Improve inference for `string(::LazyLibraryPath)` (#57721)
topolarity Mar 11, 2025
7e0392d
fix alignment computation for nested objects (#57722)
vtjnash Mar 11, 2025
21d4472
Libdl: Store path contents as `Tuple` instead of `Vector` (#57734)
topolarity Mar 12, 2025
c2398b4
type assert `Core.SimpleVector` in `typejoin_union_tuple` (#57631)
nsajko Mar 12, 2025
c8fe2f5
errorshow: typeassert `::SimpleVector` in `_collapse_repeated_frames`…
nsajko Mar 12, 2025
1692eb7
Avoid requiring the REPL to be loaded to show error hints for undefin…
KristofferC Mar 12, 2025
5f85ec3
inference: exclude uncached frames from callstack (#57743)
vtjnash Mar 13, 2025
c4b667d
remove old cruft from jl_set_typeinf_func (#57760)
vtjnash Mar 14, 2025
31d998e
[docs] Clarify that Float16 is supported natively when possible (#57725)
giordano Mar 15, 2025
1de014a
lowering: Don't closure-convert in `import` or `using` (#57774)
mlechu Mar 15, 2025
4a420a1
fix missing `!` in a strip-metadata case (#57778)
JeffBezanson Mar 15, 2025
dd14c58
print admonition for auto-import only once per module (#57775)
vtjnash Mar 15, 2025
02b8670
enable JuliaSyntax parser for user code in juliac (#57777)
JeffBezanson Mar 15, 2025
84bc0c6
Bugfix: String indexing in big_str macro (#57621)
jakobnissen Mar 17, 2025
2916acd
fix special function `::Real` fallback stack overflow (#57790)
nsajko Mar 17, 2025
09586ff
stackwalk: fix heuristic termination (#57801)
vtjnash Mar 17, 2025
65b5aa7
Fix fptrunc Float64 -> Float16 rounding through Float32 (#57809)
xal-0 Mar 18, 2025
3778b80
add missing wb in jl_maybe_reresolve_implicit (#57804)
vtjnash Mar 19, 2025
59ad091
Fix OncePerThread issue when building a sysimage using the current sy…
gbaraldi Mar 20, 2025
2a04708
Fix error message when using `const` inside a function, require the L…
vtjnash Mar 20, 2025
02e5c83
Fix package precompilation (PrecompileTools) (#57828)
timholy Mar 20, 2025
ef270a4
restrict dispatch of some custrom string macros to `String` (#57781)
nsajko Mar 20, 2025
2294722
Respect JULIA_CPU_TARGET when doing trimming (#57373)
gbaraldi Feb 12, 2025
6f34f91
trimming: Avoid `--strip-ir` when compiling with `--trim=no` (#57659)
topolarity Mar 7, 2025
e342f1c
trimming: Avoid `using` indirectly-loaded packages (#57589)
topolarity Mar 7, 2025
4652a09
trimming: Locate package modules by PkgId (#57672)
topolarity Mar 8, 2025
5e8ac85
[internals] add time metrics for every CodeInstance (#57074)
vtjnash Mar 17, 2025
210288b
Mark UInt8 field as UInt8 in CodInstance (#57822)
gbaraldi Mar 20, 2025
8cb30fa
trimming: Restore JLL support (#57587)
IanButterworth Mar 11, 2025
f851c82
better behaved loading errors (#57727)
vtjnash Mar 14, 2025
69d7a98
iobuffer: copyline: type assert `Int` to prevent invalidation (#57848)
nsajko Mar 21, 2025
a60a978
Make remaining float intrinsics require float arguments (#57398)
xal-0 Mar 21, 2025
1a14429
restore method count after redefinition to hide old definition (#57837)
vtjnash Mar 21, 2025
dd47fcb
codegen: fix alignment of source in typed_load from a unsafe_load (#5…
vtjnash Mar 21, 2025
e4e489a
effects: fix effects of atomic pointer operations (#57806)
aviatesk Mar 22, 2025
ed23a99
bpart: Redesign representation of implicit imports (#57755)
Keno Mar 22, 2025
aee98f8
Backports release 1.12 (#57536)
KristofferC Mar 24, 2025
78f810b
fix `mod` for mixes of `Signed` and `Unsigned` (#57853)
oscardssmith Mar 23, 2025
15147da
REPL: call display on the backend (#57773)
IanButterworth Mar 23, 2025
bf76bab
[Linux] Prevent GC from running during process teardown (#57832)
d-netto Mar 24, 2025
3761029
Add option to force emission of const return function (#57824)
gbaraldi Mar 24, 2025
e2d37cb
`Base`: `PCRE`: `exec`: type assert `String` after construction (#57868)
nsajko Mar 25, 2025
4f6c665
`Base`: `macro b_str`: restrict argument to `String` (#57863)
nsajko Mar 25, 2025
bf9f1e7
`Base`: `macro cmd`: restrict argument to `String` (#57862)
nsajko Mar 25, 2025
da85988
Profile: remove scope from profile macros (#57858)
IanButterworth Mar 25, 2025
145ff43
Don't error when initializing LibGit2 with CA roots path (#56924)
visr Mar 25, 2025
85f6749
Disallow non-lhs all-underscore variable names (#57626)
mlechu Mar 25, 2025
5ae693e
Fix corner case of double module import (#57892)
Keno Mar 26, 2025
6411e26
Fix typo in codegen for `isdefinedglobal` (#57889)
Keno Mar 26, 2025
ea3f2ea
overload lattice ops within `abstract_eval_isdefinedglobal` (#57897)
aviatesk Mar 26, 2025
e892948
Backports release 1.12 (#57871)
KristofferC Mar 26, 2025
5843ac5
fix _apply_pure deprecation (#57800)
vtjnash Mar 17, 2025
665cf7c
precompile_utils: Don't auto-enqueue `macro` methods for pre-compilat…
topolarity Mar 26, 2025
383a8b8
`Compiler`: `abstract_eval_invoke_inst`: type assert `Expr` (#57860)
nsajko Mar 27, 2025
4ffd735
`Compiler`: `walk_to_defs`, `collect_leaves`: specialize for `predece…
nsajko Mar 27, 2025
a2460d3
only update fragmentation data for pages that are not lazily freed (#…
d-netto Mar 28, 2025
19abebf
`Random`: `show` method for `MersenneTwister`: invalidation resistanc…
nsajko Mar 28, 2025
5a7f1b5
Teach alloc-opt to handle atomics a bit better (#57208)
gbaraldi Mar 28, 2025
42e5e47
Refactor IOBuffer code (#57570)
jakobnissen Mar 28, 2025
efc1ba9
Move `eachregion(::AnnotatedString)` implementation to `Base` (#57912)
topolarity Mar 29, 2025
57b1cd5
`Base`: shell escaping: inference improvement to prevent invalidation…
nsajko Mar 30, 2025
4183b2c
Support adding `CodeInstance`s to JIT for interpreters defining a cod…
serenity4 Feb 17, 2025
bea6fd1
inference: add internal SOURCE_MODE_GET_SOURCE mode (#57878)
vtjnash Mar 28, 2025
f70dfcf
`_precompilepkgs`: interactive progress display: fix unintended captu…
nsajko Mar 31, 2025
594b17d
staticdata: Memoize `type_in_worklist` query (#57917)
topolarity Mar 31, 2025
318028a
fix opaque_closure sparam capture (#57928)
vtjnash Mar 31, 2025
7a9c684
inference: fix exct modeling of `setglobal!` (#57896)
aviatesk Mar 27, 2025
fceace7
fix trimming size regression due to handling binding backedges in the…
JeffBezanson Mar 31, 2025
189359e
Clarify disabling of tab-completion hinting in the documentation (#57…
thofma Feb 21, 2025
4bf5a26
change file size test for trimming
KristofferC Mar 31, 2025
a3b193c
add trimming of new usings_backedges and scanned_methods fields (#57879)
JeffBezanson Mar 26, 2025
2b280ae
Backports release 1.12 (#57955)
KristofferC Apr 1, 2025
ac85d80
Backports 1.12 (#57972)
KristofferC Apr 1, 2025
69f586a
Backport JuliaLang/julia#57973 to 1.12 (#57980)
aviatesk Apr 2, 2025
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
3718d53
Make a commit to trigger 1.12 Buildkite CI for the first time
DilumAluthge Feb 4, 2025
d25cee8
Revert "Make a commit to trigger 1.12 Buildkite CI for the first time"
DilumAluthge Feb 4, 2025
c0b14f8
RAI: add a numeric suffix to the VERSION to ensure that version check…
Apr 26, 2025
4f25ab2
Add GitHub template and workflows needed on the default branch (#135)
Drvi Mar 19, 2024
cb59f6e
RAI: Track blocks and bytes allocated for GC pools
d-netto Jan 6, 2025
c44c63c
RAI: Change task ordering behavior to prioritize older tasks
kpamnany Aug 9, 2023
b50d715
RAI: Disable huge pages for all mmap'ed memory
kpamnany Aug 21, 2023
a0a0dc7
RAI: Never use MADV_FREE
kuszmaul Aug 22, 2023
4825128
RAI: Prepend "thread (%d) " to output from `jl_print_task_backtraces()`
kpamnany Oct 9, 2023
d62843f
RAI: Add heartbeat capability
kpamnany Oct 7, 2023
1ff9b02
RAI: --safe-crash-log-file flag
d-netto Mar 22, 2024
2dea8cd
RAI: Write heartbeat thread output to safe crash log
kpamnany May 27, 2024
3c1d74d
RAI: fix string interpolation on OPENBLAS_BUILD_OPTS
d-netto Jan 6, 2025
987084e
RAI: Prepend signal number and thread ID on backtraces
kpamnany Aug 21, 2023
b4aad98
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 "julia-engineering@relational.ai"
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 }}
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
47 changes: 26 additions & 21 deletions Compiler/src/Compiler.jl
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ 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,
Expand All @@ -49,7 +45,8 @@ using Core: ABIOverride, Builtin, CodeInstance, IntrinsicFunction, MethodInstanc

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