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 226 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
226 commits
Select commit Hold shift + click to select a range
cdf2f46
Add reference to time_ns in time (#57142)
nlw0 Feb 4, 2025
033492e
Handle `waitpid` race condition when `SIGCHLD` is set to `SIG_IGN` (#…
topolarity Feb 4, 2025
171ce73
restore non-freebsd-unix fix for profiling (#57249)
vtjnash Feb 4, 2025
6b059f9
Ensure read/readavailable for BufferStream are threadsafe (#57211)
quinnj Feb 4, 2025
75f3690
edit NEWS for v1.12 (#57262)
JeffBezanson Feb 5, 2025
2b91d9c
cfunction: reimplement, as originally planned, for reliable performan…
vtjnash Feb 6, 2025
ae78058
bpart: Fully switch to partitioned semantics (#57253)
Keno Feb 6, 2025
603d517
fix "Right arrow autocompletes at line end" implementation (#57273)
KristofferC Feb 6, 2025
7825364
dep: Update JuliaSyntax (#57280)
inkydragon Feb 6, 2025
f8ef8df
staticdata: Close data race after backedge insertion (#57229)
Keno Feb 6, 2025
24ad17b
Updating binding version to fix MMTk CI (#57298)
udesou Feb 8, 2025
f1572ac
improve concurrency safety for `Compiler.finish!` (#57248)
aviatesk Feb 8, 2025
3a650d7
Profile.print: de-focus sleeping frames as gray (#57312)
IanButterworth Feb 8, 2025
730507a
Make `OncePerX` subtype `Function` (#57289)
christiangnrd Feb 8, 2025
7f2462f
Make ptls allocations at least 128 byte aligned (#57310)
gbaraldi Feb 9, 2025
da6ee02
Add a warning for auto-import of types (#57311)
Keno Feb 10, 2025
145a85c
fix typo in Float32 random number generation (#57338)
KristofferC Feb 10, 2025
f8f65ba
Fix getfield_tfunc when order or boundscheck is Vararg (#57293)
xal-0 Feb 10, 2025
339db6b
docs: fix-up world-age handling for META access (#57349)
topolarity Feb 11, 2025
547c8a4
Add missing type asserts when taking the queue out of the task struct…
gbaraldi Feb 11, 2025
8b64d37
🤖 [master] Bump the SparseArrays stdlib from 212981b to 72c7cac (#57348)
DilumAluthgeBot Feb 11, 2025
71cd556
Add missing latestworld after parameterized type alias (#57299)
Keno Feb 7, 2025
9335d1c
Allow macrocall as function sig (#55040)
Keno Feb 7, 2025
8bcd2ef
[OpenSSL_jll] Update to v3.0.16 (#57363)
giordano Feb 11, 2025
1e962ac
replace `Linking.__init__` with `OncePerProcess` (#57351)
JeffBezanson Feb 11, 2025
a1233ee
trimming: make sure to fail / warn on `Expr(:call, ...)` (#57342)
topolarity Feb 11, 2025
102337b
add a missing type assert to `OncePerTask` callable (#57356)
KristofferC Feb 11, 2025
8315340
use an empty symbol instead of module name as placeholder for module …
KristofferC Feb 11, 2025
8615826
Bump Documenter to v1.8.1 (#57362)
topolarity Feb 12, 2025
ba4290b
update path to Compiler stdlib to a valid one similar to how it is do…
KristofferC Feb 12, 2025
ebef610
cconvert(Ref{BigFloat}, x) should return BigFloatData (#57367)
stevengj Feb 12, 2025
08d3c70
Backports for upcoming 1.12.0(-beta1) (#57258)
KristofferC Feb 13, 2025
27f16b5
Compiler: fix unsoundness of getfield_tfunc on Tuple Types (#57275)
vtjnash Feb 13, 2025
6f4c220
print admonition for auto-import only once per module (#57378)
vtjnash Feb 13, 2025
94108c5
[LateLowerGCFrame] fix PlaceGCFrameReset for returns_twice (#57392)
vtjnash Feb 14, 2025
77e7199
lowering: Only try to define the method once (#57346)
Keno Feb 12, 2025
f63f36d
bpart: When backdating replace the entire bpart chain (#57341)
Keno Feb 12, 2025
92eb8ba
staticdata: Set min validation world to require world (#57381)
Keno Feb 13, 2025
ff12d71
Only implicitly `using` Base, not Core (#57357)
Keno Feb 13, 2025
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
4be350e
Make a commit to trigger 1.12 Buildkite CI for the first time
DilumAluthge Feb 4, 2025
6f13610
Revert "Make a commit to trigger 1.12 Buildkite CI for the first time"
DilumAluthge Feb 4, 2025
fe7f97f
RAI: add a numeric suffix to the VERSION to ensure that version check…
Apr 3, 2025
722ea6d
Add GitHub template and workflows needed on the default branch (#135)
Drvi Mar 19, 2024
89455da
RAI: Track blocks and bytes allocated for GC pools
d-netto Jan 6, 2025
f50c04f
RAI: Change task ordering behavior to prioritize older tasks
kpamnany Aug 9, 2023
39975c5
RAI: Disable huge pages for all mmap'ed memory
kpamnany Aug 21, 2023
8ebd1f4
RAI: Never use MADV_FREE
kuszmaul Aug 22, 2023
3dd3340
RAI: Prepend "thread (%d) " to output from `jl_print_task_backtraces()`
kpamnany Oct 9, 2023
23905aa
RAI: Add heartbeat capability
kpamnany Oct 7, 2023
896cadf
RAI: --safe-crash-log-file flag
d-netto Mar 22, 2024
1278f79
RAI: Write heartbeat thread output to safe crash log
kpamnany May 27, 2024
3bd60a7
RAI: fix string interpolation on OPENBLAS_BUILD_OPTS
d-netto Jan 6, 2025
6836122
RAI: Prepend signal number and thread ID on backtraces
kpamnany Aug 21, 2023
6185228
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 }}
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