Skip to content

Commit b5d84e8

Browse files
committed
Merge branch 'master' into refactor/codegen-gc-specific-passes
2 parents 1f07ef4 + 4db8c1b commit b5d84e8

File tree

21 files changed

+317
-293
lines changed

21 files changed

+317
-293
lines changed

Compiler/src/inferencestate.jl

+4-4
Original file line numberDiff line numberDiff line change
@@ -989,12 +989,12 @@ ascending the tree from the given `AbsIntState`).
989989
Note that cycles may be visited in any order.
990990
"""
991991
struct AbsIntStackUnwind
992-
sv::AbsIntState
992+
callstack::Vector{AbsIntState}
993+
AbsIntStackUnwind(sv::AbsIntState) = new(sv.callstack::Vector{AbsIntState})
993994
end
994-
iterate(unw::AbsIntStackUnwind) = (unw.sv, length(unw.sv.callstack::Vector{AbsIntState}))
995-
function iterate(unw::AbsIntStackUnwind, frame::Int)
995+
function iterate(unw::AbsIntStackUnwind, frame::Int=length(unw.callstack))
996996
frame == 0 && return nothing
997-
return ((unw.sv.callstack::Vector{AbsIntState})[frame], frame - 1)
997+
return (unw.callstack[frame], frame - 1)
998998
end
999999

10001000
struct AbsIntCycle

base/range.jl

+4-2
Original file line numberDiff line numberDiff line change
@@ -1321,13 +1321,15 @@ function promote_rule(::Type{StepRange{T1a,T1b}}, ::Type{StepRange{T2a,T2b}}) wh
13211321
el_same(promote_type(T1a, T2a), StepRange{T1a,Tb}, StepRange{T2a,Tb})
13221322
end
13231323
StepRange{T1,T2}(r::StepRange{T1,T2}) where {T1,T2} = r
1324+
StepRange{T}(r::StepRange{T}) where {T} = r
1325+
StepRange(r::StepRange) = r
13241326

13251327
promote_rule(a::Type{StepRange{T1a,T1b}}, ::Type{UR}) where {T1a,T1b,UR<:AbstractUnitRange} =
13261328
promote_rule(a, StepRange{eltype(UR), eltype(UR)})
13271329
StepRange{T1,T2}(r::AbstractRange) where {T1,T2} =
13281330
StepRange{T1,T2}(convert(T1, first(r)), convert(T2, step(r)), convert(T1, last(r)))
1329-
StepRange(r::AbstractUnitRange{T}) where {T} =
1330-
StepRange{T,T}(first(r), step(r), last(r))
1331+
StepRange(r::OrdinalRange{T,S}) where {T,S} = StepRange{T,S}(first(r), step(r), last(r))
1332+
StepRange{T}(r::OrdinalRange{<:Any,S}) where {T,S} = StepRange{T,S}(first(r), step(r), last(r))
13311333
(StepRange{T1,T2} where T1)(r::AbstractRange) where {T2} = StepRange{eltype(r),T2}(r)
13321334
StepRange(r::StepRangeLen) = StepRange{eltype(r)}(r)
13331335
StepRange{T}(r::StepRangeLen{<:Any,<:Any,S}) where {T,S} = StepRange{T,S}(r)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
e8c53aa3fb963c80921787d5d565eb2c
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8e442ea834299df9c02acb87226c121395ad8e550025ac5ee1103df09c6ff43817e9e48dd1bcbc92c80331ef3ddff531962430269115179acbec2bab2de5b011

deps/checksums/SparseArrays-ae727fe4a4881b995ee4de2c9664272dd0cb2705.tar.gz/md5

-1
This file was deleted.

deps/checksums/SparseArrays-ae727fe4a4881b995ee4de2c9664272dd0cb2705.tar.gz/sha512

-1
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ab4ff8bd5749c1c5915ecf9ac1ae82a3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0586606d86bca352f6610ba2baeecbe997b8c90ee798c9ab89f42bf3c94c5f23c56ea75fe49d8ccc39d8b25f02592db879c95affa30f98cb45024b177157249a

deps/checksums/clang

-120
This file was deleted.

deps/checksums/curl

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
LibCURL-a65b64f6eabc932f63c2c0a4a5fb5d75f3e688d0.tar.gz/md5/e8c53aa3fb963c80921787d5d565eb2c
2-
LibCURL-a65b64f6eabc932f63c2c0a4a5fb5d75f3e688d0.tar.gz/sha512/8e442ea834299df9c02acb87226c121395ad8e550025ac5ee1103df09c6ff43817e9e48dd1bcbc92c80331ef3ddff531962430269115179acbec2bab2de5b011
31
LibCURL.v8.12.1+1.aarch64-apple-darwin.tar.gz/md5/a6a5a1a360d210e3e03f1815efc97260
42
LibCURL.v8.12.1+1.aarch64-apple-darwin.tar.gz/sha512/8493cc358fff3123fa6a8e6bc42a72c5219a259d568a2e1ff3c216c7bbd4c10a4057bfe2d2f7c571532d51ea876450c97c0f03f901ede4c7d668916265631f80
53
LibCURL.v8.12.1+1.aarch64-linux-gnu.tar.gz/md5/7ebe2338198069b12716df084cd07d9b

deps/checksums/lld

-120
This file was deleted.

deps/checksums/llvm

+240-36
Large diffs are not rendered by default.

deps/checksums/llvmunwind

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
LLVMLibUnwind.v19.1.4+0.aarch64-apple-darwin.tar.gz/md5/aace388fc1ece82ea524c582506ae931
2+
LLVMLibUnwind.v19.1.4+0.aarch64-apple-darwin.tar.gz/sha512/c0211340a05630bcfcf9e3bab97da3e9f07e596e8d391427fa919c99502ab0a09878eda379254f379511884347f7e742872e8589f9b6ccbc2d126a5dfe0a350f
3+
LLVMLibUnwind.v19.1.4+0.aarch64-linux-gnu.tar.gz/md5/942d0b4ffb8bfd743cdafebf5bdfdbb3
4+
LLVMLibUnwind.v19.1.4+0.aarch64-linux-gnu.tar.gz/sha512/ec68df054c6694d17cb7f5c389adc4b8b855023f9ca03713d21f1f0c58de2b90166a9f3981b81da5f817f6b09f85fb11e85732d6c78f1d115d6aecf326dc20a1
5+
LLVMLibUnwind.v19.1.4+0.aarch64-linux-musl.tar.gz/md5/2c27d3c130f54e38e6639ebf7095f743
6+
LLVMLibUnwind.v19.1.4+0.aarch64-linux-musl.tar.gz/sha512/d348cc1f87927a3d36cd3f2587cf4161dbdc9f3555900ee338857d806384c0cff8fbe67bef97cad0d3098cc8c7f149aac699f3defe87db70fffcc94d681810b6
7+
LLVMLibUnwind.v19.1.4+0.aarch64-unknown-freebsd.tar.gz/md5/6bb1466d45159193407f27201a443ddc
8+
LLVMLibUnwind.v19.1.4+0.aarch64-unknown-freebsd.tar.gz/sha512/da6da450e6fba5d501be13d83bc9133796b92e1b3a6cc7cb97470cc7476a369fcd8ddbc9267f03fa4cbe1f2484359eeb70fb629b26c9a1d7ea0065c5a671e1b9
9+
LLVMLibUnwind.v19.1.4+0.armv6l-linux-gnueabihf.tar.gz/md5/2cdf57d34b1db677498dfc5d89501599
10+
LLVMLibUnwind.v19.1.4+0.armv6l-linux-gnueabihf.tar.gz/sha512/217c15e1bfdc72014dd26321eb46ae9cfadb7839c693caf3c974989ee2036781cf7e62bb7175766f5171bf32de53a95598ef463c70a0ac64ec012ca9bc19e6df
11+
LLVMLibUnwind.v19.1.4+0.armv6l-linux-musleabihf.tar.gz/md5/110c80b549d1f80faa36a3e0b39a11b4
12+
LLVMLibUnwind.v19.1.4+0.armv6l-linux-musleabihf.tar.gz/sha512/b9151aaaaae4adf5da5701ee5962d712def509f85101dae485b905f73391d8658b5a0a58ea1a4c68cc3bc68d7e17d557c05c98d33d907cdb512513ffff75765b
13+
LLVMLibUnwind.v19.1.4+0.armv7l-linux-gnueabihf.tar.gz/md5/bf50011ce9e4c82d49e61e868b27ea23
14+
LLVMLibUnwind.v19.1.4+0.armv7l-linux-gnueabihf.tar.gz/sha512/d08faae71010e4a7d25a16374249ff1740ed7883e260e544e4fb0f0d3758d2eb76fea93433cb1987850f54f1ae6528b6336fc2e1db9b46f49defd870e97f8a94
15+
LLVMLibUnwind.v19.1.4+0.armv7l-linux-musleabihf.tar.gz/md5/142118a84c1b959b0b202d51072168f9
16+
LLVMLibUnwind.v19.1.4+0.armv7l-linux-musleabihf.tar.gz/sha512/71ac937417f5f2226b8952c925fff94b553de8a29fc45fee6c0fef53a9cf8c07979c60408c8efcf827b260bc3a287059aefa24e050393f2e09b65af45b60d07f
17+
LLVMLibUnwind.v19.1.4+0.i686-linux-gnu.tar.gz/md5/1bcd011ba209cc840647c684dcad9631
18+
LLVMLibUnwind.v19.1.4+0.i686-linux-gnu.tar.gz/sha512/8309c3d82d0a94c4c7a8b72720702f5cb0c97f316492217f1eebfc0dc33b4e9c7c8af5c6ee3700ea0c1cc0fd66c90a52389c2aaaaeb67f6278e53e33a476abc1
19+
LLVMLibUnwind.v19.1.4+0.i686-linux-musl.tar.gz/md5/8db27a7ab4a23febfd6a8eb2f65cd611
20+
LLVMLibUnwind.v19.1.4+0.i686-linux-musl.tar.gz/sha512/dc7839d2c9a258b122985eb35096e0000561598c54fbd1c5f269921146e6e85589c6f60a0fb964ebfc78af703045373999163253ad2c8f09475bf6bdb923a59f
21+
LLVMLibUnwind.v19.1.4+0.i686-w64-mingw32.tar.gz/md5/7de74ebac40c9425f619c7f8b309de00
22+
LLVMLibUnwind.v19.1.4+0.i686-w64-mingw32.tar.gz/sha512/f28f4e8c25cdc06c8d363735e1914c748c150a962c37dfa8a45a3ba514d3fa1b6c551809b8d7f668b258c3165674f012ee6a18f36421e624f38ece27db755a3f
23+
LLVMLibUnwind.v19.1.4+0.powerpc64le-linux-gnu.tar.gz/md5/c5277c6c127ccc5fa66867ddeb6f93a2
24+
LLVMLibUnwind.v19.1.4+0.powerpc64le-linux-gnu.tar.gz/sha512/b3d61aee2187c185be1b1b26edaccea66da750931c1216db1f3e89393c1d2c101335d791f0124282320084e697386f395951035e5071da23ecd55133fad472fc
25+
LLVMLibUnwind.v19.1.4+0.x86_64-apple-darwin.tar.gz/md5/64d459ec7cb7d70b89f5ed62a1261425
26+
LLVMLibUnwind.v19.1.4+0.x86_64-apple-darwin.tar.gz/sha512/861130348376c8a54b2aa8c86d9d338a4b5fb88d3d2745578dcf15e0f477f518c07a505ce86c898c87142a7c5bf2e1ce43daedecc386a7f3bde67af8e6a56e64
27+
LLVMLibUnwind.v19.1.4+0.x86_64-linux-gnu.tar.gz/md5/2702948c4171ad35f521e15ee4ebcc8e
28+
LLVMLibUnwind.v19.1.4+0.x86_64-linux-gnu.tar.gz/sha512/306759ae9064a9746474c53b674eb0b9da7cef6271094009c3244542295ef7a86cb77096b4a18dc2e50628c6ab02e2f1c6e39a1401e86fe4743410ae8d782126
29+
LLVMLibUnwind.v19.1.4+0.x86_64-linux-musl.tar.gz/md5/a7f9ea5dfbd4760b5a33c97581ad4b95
30+
LLVMLibUnwind.v19.1.4+0.x86_64-linux-musl.tar.gz/sha512/08add6b1a4e90f50fbceea6d72a476fba3a2b271f44bf64f06b53f35dfecc756f71843d54d0895a2f62d56df24f3675619cf3220215acb2e0a574696c6fa630c
31+
LLVMLibUnwind.v19.1.4+0.x86_64-unknown-freebsd.tar.gz/md5/05f5b916fa639a68096cc73fb82007f8
32+
LLVMLibUnwind.v19.1.4+0.x86_64-unknown-freebsd.tar.gz/sha512/0a137168c466861fdbdbef86dec96ece0d4c10f87fdc2dd729b445deb0fd59b214241b62644da77581a0100826e07dacf81fa060e67e35ff38df0d6807cb618b
33+
LLVMLibUnwind.v19.1.4+0.x86_64-w64-mingw32.tar.gz/md5/bb073cb86c821a70b845bd5de0edc2d9
34+
LLVMLibUnwind.v19.1.4+0.x86_64-w64-mingw32.tar.gz/sha512/24d206c65c7be34485a1492250a9ca958e70be7057b981940bc24c4822e50e3963c9f88f42892ba2ea6df17fedb2783ace1693aeac74f200a5ca6033a14d6cb9

deps/checksums/mmtk_julia

-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
mmtk_julia-4933fb41ba5d1d21f720e2ca1bfa5bc938b73b12.tar.gz/md5/e27debba476479953bdc23eb970f297f
22
mmtk_julia-4933fb41ba5d1d21f720e2ca1bfa5bc938b73b12.tar.gz/sha512/6541bacfd16cbf1969103fea612c2f8b2011c3e38748bf82c41633c6084c2bf981bca9fb0d9f736832b0d7ef505271ba48465bcd27e8cd1fa45f7f4c5e36f246
3-
mmtk_julia.v0.30.6+0.x86_64-linux-gnu.tar.gz/md5/9b0c3e1ae95d82aa2184cbe889def0da
4-
mmtk_julia.v0.30.6+0.x86_64-linux-gnu.tar.gz/sha512/04fd29468fea544f18622046c5d237d335c80e7c1c3b968f8445e439449f94afd4b82266ee49fa8c2b69b41776062959346a06e916d6b525a15f449529013311

deps/checksums/suitesparse

+12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
SuiteSparse-7.10.1.tar.gz/md5/3b8c4f18091589da221a1acc5a331edb
22
SuiteSparse-7.10.1.tar.gz/sha512/893f6a51df9a30793db67baa068a7c10237bc96bab1ed534293b09fb1c87ed4b2ec5fa3f6c285977582f9cba9b7a5947aa31e65d52ed2af67c93ac2ce64b55b3
33
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
4+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
5+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
6+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
7+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
8+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
9+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/md5/46541001073d1c3c85e18d910f8308f3
10+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
11+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
12+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
13+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
14+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
15+
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
416
SuiteSparse-e8285dd13a6d5b5cf52d8124793fc4d622d07554.tar.gz/sha512/f7470a447b934ca9315e216a07b97e363f11bc93186f9aa057b20b2d05092c58ae4f1b733de362de4a0730861c00be4ca5588d0b3ba65f018c1798b9122b9672
517
SuiteSparse.v7.10.1+0.aarch64-apple-darwin.tar.gz/md5/cd62af0918c511728741613e81df1c00
618
SuiteSparse.v7.10.1+0.aarch64-apple-darwin.tar.gz/sha512/a8f5a357c42de61fa71c8f275412b0c5743a275ffb46f95d73ba4135be0e221176a1b7f7d98d39b4ff5a8a2890601e888b0a2e87e18da958ad5e78290f2a816b

src/gc-alloc-profiler.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ void _maybe_record_alloc_to_profile(jl_value_t *val, size_t size, jl_datatype_t
138138

139139
auto& profile = global_profile.per_thread_profiles[thread_id];
140140

141-
auto sample_val = double(rand()) / double(RAND_MAX);
141+
jl_ptls_t ptls = jl_current_task->ptls;
142+
auto sample_val = double(cong(UINT64_MAX, &ptls->rngseed)) / double(UINT64_MAX);
142143
auto should_record = sample_val <= global_profile.sample_rate;
143144
if (!should_record) {
144145
return;

src/llvm-final-gc-lowering-mmtk.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,3 @@ void FinalLowerGC::lowerWriteBarrier(CallInst *target, Function &F) {
155155
assert(false);
156156
}
157157
}
158-

src/llvm-final-gc-lowering.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ bool FinalLowerGC::runOnFunction(Function &F)
187187
++it;
188188
}
189189
}
190-
190+
191191
// Lower all calls to supported intrinsics.
192192
for (auto &BB : F) {
193193
for (auto &I : make_early_inc_range(BB)) {

stdlib/SparseArrays.version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
SPARSEARRAYS_BRANCH = main
2-
SPARSEARRAYS_SHA1 = ae727fe4a4881b995ee4de2c9664272dd0cb2705
2+
SPARSEARRAYS_SHA1 = f3610c07fe0403792743d9c9802a25642a5f2d18
33
SPARSEARRAYS_GIT_URL := https://github.com/JuliaSparse/SparseArrays.jl.git
44
SPARSEARRAYS_TAR_URL = https://api.github.com/repos/JuliaSparse/SparseArrays.jl/tarball/$1

stdlib/SuiteSparse_jll/Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
88
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
99

1010
[compat]
11-
julia = "1.12"
11+
julia = "1.13"
1212

1313
[extras]
1414
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

test/ranges.jl

+14
Original file line numberDiff line numberDiff line change
@@ -1299,6 +1299,20 @@ end
12991299
@test convert(StepRange, 0:5) === 0:1:5
13001300
@test convert(StepRange{Int128,Int128}, 0.:5) === Int128(0):Int128(1):Int128(5)
13011301

1302+
@test StepRange(1:1:4) === 1:1:4
1303+
@test StepRange{Int32}(1:1:4) === StepRange{Int32,Int}(1,1,4)
1304+
1305+
struct MyStepRange57718{T,S} <: OrdinalRange{T,S}
1306+
r :: StepRange{T,S}
1307+
end
1308+
Base.first(mr::MyStepRange57718) = first(mr.r)
1309+
Base.last(mr::MyStepRange57718) = last(mr.r)
1310+
Base.step(mr::MyStepRange57718) = step(mr.r)
1311+
Base.length(mr::MyStepRange57718) = length(mr.r)
1312+
1313+
@test StepRange(MyStepRange57718(1:1:4)) === 1:1:4
1314+
@test StepRange{Int32}(MyStepRange57718(1:1:4)) === StepRange{Int32,Int}(1,1,4)
1315+
13021316
@test_throws ArgumentError StepRange(1.1,1,5.1)
13031317

13041318
@test promote(0f0:inv(3f0):1f0, 0.:2.:5.) === (0:1/3:1, 0.:2.:5.)

0 commit comments

Comments
 (0)