https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
9533244 silence a compiler warning when not building with ITTAPI 04 May 2023, 14:59:40 UTC
5e7d7c3 Remove last references to gc_num.since_sweep (#49628) Commit ebc6776 removed the since_sweep field, but left two references to it, which makes Julia fail to build. This commit removes those references. 04 May 2023, 13:15:34 UTC
1d361c0 Remove redundant and unused _extrema in sorting (#48641) Found via coveralls line-by-line coverage. 04 May 2023, 11:37:28 UTC
ebc6776 (re-factor) gc: Remove redundant `since_sweep` field (#49195) This field is at all times 0 or identical to allocd, so this change removes it in preference of `gc_num.allocd`. Hopefully this makes the GC metrics a bit easier to interpret for newcomers. 04 May 2023, 11:36:05 UTC
724c93d Objects.md modified to include outdation warning (#49013) 04 May 2023, 11:33:58 UTC
bb31772 make `map` on tuples accept different lengths (#49336) fix #49299, fix #42216 04 May 2023, 11:20:31 UTC
daea3c3 character literals are delimited with single quotes (#48998) Immediately inform the reader that character literals are delimited with single quotes, not double quotes. 04 May 2023, 10:57:49 UTC
705bfd3 Remove unneeded allocations in `ldiv!(::QRPivoted, ...)` (#49282) 04 May 2023, 10:55:39 UTC
c90aa77 Base: twiceprecision: optimize mul12 (#49568) It is well known and obvious that the algorithm behind `Base.mul12` (sometimes known as "Fast2Mult") doesn't require a "Fast2Sum" (known in the Julia codebase as `Base.canonicalize2`) call at the end, so remove it. This follows from the fact that IEEE-754 floating-point multiplication is required to be well-rounded, so Fast2Sum can't change the result. Reference, for example, the beginning of https://doi.org/10.1145/3121432 by Joldes, Muller, Popescu. Furthermore, `Base.Math.two_mul` already exists, so use it as a kernel function. This required adding a general fallback method for `Base.Math.two_mul`, required, for example, for `BigFloat`. Also removed the `iszero` check that is now obviously not necessary. 04 May 2023, 10:48:48 UTC
ce2c3ae Base: TwicePrecision: improve constructors (#49616) Correctness is improved for constructing `TwicePrecision{T}` from `TwicePrecision{S}`. Previously a call like `TwicePrecision{Float64}(::TwicePrecision{Float32})` would leave `hi` and `lo` unnormalized; while a call like `TwicePrecision{Float32}(::TwicePrecision{Float64})` would additionally introduce unnecessary truncation. Accuracy is improved for constructing `TwicePrecision` from types like `BigFloat` or `Rational`. Previously a call like `TwicePrecision{Float64}(::BigFloat)` would unconditionally leave `lo` as zero. Example code that tests the improvements (all Boolean values should evaluate to `true`): ```julia const TwicePrecision = Base.TwicePrecision const canonicalize2 = Base.canonicalize2 function twiceprecision_roundtrip_is_not_lossy( ::Type{S}, x::T, ) where {S<:Number, T<:Union{Number,TwicePrecision}} tw = TwicePrecision{S}(x) x == T(tw) end function twiceprecision_is_normalized(tw::Tw) where {Tw<:TwicePrecision} (hi, lo) = (tw.hi, tw.lo) normalized = Tw(canonicalize2(hi, lo)...) (abs(lo) ≤ abs(hi)) & (tw == normalized) end rand_twiceprecision(::Type{T}) where {T<:Number} = TwicePrecision{T}(rand(widen(T))) rand_twiceprecision_is_ok(::Type{T}) where {T<:Number} = !iszero(rand_twiceprecision(T).lo) setprecision(BigFloat, 70) # The mantissa needs to be just a bit larger than for `Float64` rand_twiceprecision_is_ok(Float32) rand_twiceprecision_is_ok(Float32) rand_twiceprecision_is_ok(Float32) rand_twiceprecision_is_ok(Float64) rand_twiceprecision_is_ok(Float64) rand_twiceprecision_is_ok(Float64) twiceprecision_roundtrip_is_not_lossy(Float64, rand(BigFloat)) twiceprecision_roundtrip_is_not_lossy(Float64, rand(BigFloat)) twiceprecision_roundtrip_is_not_lossy(Float64, rand(BigFloat)) twiceprecision_roundtrip_is_not_lossy(Float64, rand_twiceprecision(Float32)) twiceprecision_roundtrip_is_not_lossy(Float64, rand_twiceprecision(Float32)) twiceprecision_roundtrip_is_not_lossy(Float64, rand_twiceprecision(Float32)) twiceprecision_is_normalized(TwicePrecision{Float32}(rand_twiceprecision(Float64))) twiceprecision_is_normalized(TwicePrecision{Float32}(rand_twiceprecision(Float64))) twiceprecision_is_normalized(TwicePrecision{Float32}(rand_twiceprecision(Float64))) twiceprecision_is_normalized(TwicePrecision{Float64}(rand_twiceprecision(Float32))) twiceprecision_is_normalized(TwicePrecision{Float64}(rand_twiceprecision(Float32))) twiceprecision_is_normalized(TwicePrecision{Float64}(rand_twiceprecision(Float32))) ``` Updates #49589 04 May 2023, 10:45:22 UTC
b0db500 Hash values are not stable across different Julia invokations (#48408) 04 May 2023, 10:37:52 UTC
a632def speed up variable lookups in lowering to help #48990 (#49213) Replace some more linear lookups with hash tables. 04 May 2023, 10:26:58 UTC
2e80c0d Inline StepRange construction (#49270) This can improve performance when iterating over a range with a step as currently steprange_last is not inlined. About a 12ns improvement I don't think this should slow anything down as at worst you're making a call which is what you'd have to do without inlining. Also, it should be unlikely that branch is taken. This should allow for better automatic inlining. 04 May 2023, 10:26:06 UTC
9a6af18 Add fence to avoid JL_CALLABLE being parsed as MarkdownAST.Emph (#49360) 04 May 2023, 10:20:09 UTC
acb2d2d Add missing documentation (#49377) 04 May 2023, 10:19:33 UTC
e6616fb Markdown: Reset underline style when wrapping text. (#49454) 04 May 2023, 10:18:42 UTC
37e5aed doc: manual: command-line interface: fix cross-reference error (#49459) 04 May 2023, 10:16:32 UTC
2a1fa43 Fix method show with kwarg and optional arguments (#49475) 04 May 2023, 10:15:27 UTC
59e47b4 adding docu to sum! explain target should not alias with the source (#49478) 04 May 2023, 10:15:15 UTC
e4622b4 Remove unused definition of `_shorthash7` for wrong size UInt (#49498) 04 May 2023, 10:12:11 UTC
425389e Various precompile fixes (#49585) 04 May 2023, 10:08:03 UTC
4e70da2 Update HISTORY.md for `DelimitedFiles` (#49582) xref: #48671 04 May 2023, 09:42:05 UTC
dfc74c3 Revise `jl_timing` prints for `dlopen` (#49560) By special request, this changes our `dlopen` logic to include the actually-opened filepath. For convenience, the base filename is listed first. This change also fixes a bug in `gnu_basename` where Windows filepaths were not being scanned for '\\' correctly. 04 May 2023, 09:26:38 UTC
827d34a make `IRShow.method_name` inferrable (#49607) 03 May 2023, 21:43:42 UTC
4bb3a55 elide precompilation in Profile.jl (#49613) This saves about 2ms on my system by checking the precompilation state. This also reorganizes the remaining precompilation calls in the module. 03 May 2023, 19:22:13 UTC
a35db92 Use isb for normal cpu pause on aarch64 (#49481) 03 May 2023, 18:41:20 UTC
252883c correct comment about type of `method` in a `LineInfoNode` (#49608) 03 May 2023, 17:12:36 UTC
0fa8f4f Restore `modname == NULL` behavior for `jl_load_dynamic_library` (#49611) Within the Julia runtime, this usage has been superseded by the new `jl_find_library_by_addr`, but this is still used downstream. In particular, CBinding.jl ends up using this branch to get a handle to libjulia-internal (perhaps a bit accidentally, since the comments in CBinding.jl suggest it intends to get a handle to the exe) This restores the behavior to avoid downstream breakage. 03 May 2023, 15:05:13 UTC
5304baa Extend stacktrace for failed tests not directly under testset (#49451) 03 May 2023, 08:57:59 UTC
43c9202 minimal changes to avoid Artifacts to get invalidated by some common definitions in ecosystem (#49603) 03 May 2023, 07:22:33 UTC
5039d8a shield `Base.require` from invalidations when loading Symbolics.jl (#49604) 03 May 2023, 07:21:58 UTC
b66f63c Ensure length(ipiv)==n before calling LAPACK.getrs! to avoid segfaults (#49602) 03 May 2023, 07:19:12 UTC
404bb1f Mark up optimization passes with remarks and debug prints (#49588) Add pass remarks and LLVM_DEBUG statements to alloc-opt, muladd, julia-licm, and simdloop passes 03 May 2023, 04:58:02 UTC
e9d678e fix #48870, normalize U+210F to U+0127 (#49559) 02 May 2023, 20:25:53 UTC
0419054 Allow toplevel-ish MethodInstances in va_process_argtypes (#49592) Usually toplevel methods don't go this way, but we'd like to broaden the use of "toplevel" MethodInstances slightly to other random chunks of IR we'd like to infer (as discussed in #49384), so give something sensible here if we do come this way. 02 May 2023, 19:00:51 UTC
6052e44 Improve llvmpasses test quality (#49594) 02 May 2023, 18:00:04 UTC
82f76e8 ml-matches: skip intersection by world-bounds (#49590) Should help speed up package loading some, by avoid complicated self-intersections, which would then be filtered out anyways from the returned results. It is not a frequent pattern, but it was observed in occasional cases, and is such an easy, obvious improvement. 02 May 2023, 15:40:47 UTC
a8474dc Merge pull request #49597 from JuliaLang/tb/llvm_attributes_bis Improves #49551: Instead of copying attributes manually, just ensure we always call CloneFunctionInto, as it does useful work for declarations too. 02 May 2023, 14:50:47 UTC
b815bb1 Don't explicitly remap the personality function. LLVM does this already. 02 May 2023, 12:19:42 UTC
f77ad0a Ensure LLVM function attributes are preserved by always calling CloneFunctionInto. 02 May 2023, 12:18:04 UTC
1a973c7 NFC: some cleanup in gc.c (#49577) 02 May 2023, 03:46:47 UTC
70ebadb Specialized codegen for opaque closure calls (#49337) * WIP codegen for opaque closure calls * Clean up returninfo change * Specialized codegen for opaque closure calls Benchmark: ``` using Base.Experimental: @opaque f() = @opaque (x::Float64)->x+1.0 vec = [f() for i = 1:10_000]; g((x,f),) = f(Float64(x)) ``` Before: ``` julia> @time mapreduce(g, +, enumerate(vec)) 0.001928 seconds (30.00 k allocations: 781.297 KiB) 5.0015e7 ``` After: ``` julia> @time mapreduce(g, +, enumerate(vec)) 0.000085 seconds (3 allocations: 48 bytes) 5.0015e7 ``` * Apply suggestions from code review Co-authored-by: Jameson Nash <vtjnash@gmail.com> * Apply suggestions from code review Co-authored-by: Jameson Nash <vtjnash@gmail.com> * Address code review * Add tests for bad rt bounds --------- Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 02 May 2023, 01:48:05 UTC
0b0ae1a Ensure that new GC tests actually succeed (#49579) 02 May 2023, 01:07:11 UTC
d82ae9e Merge pull request #49010 from topolarity/dlvsym-ccall Lookup `ccall` symbols in internal libraries first 01 May 2023, 17:15:32 UTC
d22ca94 Merge branch 'master' into dlvsym-ccall 01 May 2023, 15:23:29 UTC
c83dff9 add `__init__()` calls to `time_imports` macro (#49529) 01 May 2023, 14:27:06 UTC
b4d1530 Fix dyld lock not getting unlocked on invalid threads. (#49446) 29 April 2023, 23:21:26 UTC
faced27 Export offsets necessary for external codegen (#49548) 29 April 2023, 23:14:18 UTC
219dc10 Clarify Vararg/UnionAll deprecation warning (#49558) Fixes #49553 29 April 2023, 01:21:33 UTC
645f7af Fix starting range in REPLCompletions (#49547) The new completion for `var"` fields (#49294) failed when the `var"` was at the end of the completion query, e.g. in `WeirdNames().var"`. This is because we have the following behavior: ``` julia> findprev(==('x'), "x", 1) 1 julia> findprev(==('x'), "x", 2) ``` REPLCompletions attempt to find `.` starting after the `var"`, which in this case is at the end of the string. Of course, the index was probably off by one anyway, because we didn't want to match `var".`, but nevertheless, I find this behavior surprising (ref also [1]). For now, fix this by starting the search before the `var"`, but we may want to revisit the `findprev` behavior also. [1] https://github.com/JuliaLang/julia/pull/35742/files#r420945975 28 April 2023, 23:47:39 UTC
abeecee Implement parallel marking (#48600) Using a work-stealing queue after Chase and Lev, optimized for weak memory models by Le et al. Default number of GC threads is half the number of compute threads. Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Valentin Churavy <v.churavy@gmail.com> 28 April 2023, 20:59:33 UTC
4158640 Document Float64 return type of Base.time (#49519) 28 April 2023, 17:09:05 UTC
cc7fec7 add the package name to the `LOAD_Pkgimage` zone (#49538) 28 April 2023, 13:01:07 UTC
4289264 Preserve LLVM function attributes during address space removal pass. (#49551) 28 April 2023, 12:45:42 UTC
ee7538e annotate global non-const variables in bundled jlls with types (#49542) 28 April 2023, 10:48:25 UTC
ced696d color compilation with red in tracy during recompilation (#49524) 28 April 2023, 10:32:59 UTC
1dcac5e Update current stable version in README.md (#49543) 28 April 2023, 04:00:05 UTC
f11bfc6 Use NewPM for ASAN/MSAN (#49530) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> 27 April 2023, 20:29:25 UTC
959902f Support both Float16 ABIs depending on LLVM and platform (#49527) There are two Float16 ABIs in the wild, one for platforms that have a defing register and the original one where we used i16. LLVM 15 follows GCC and uses the new ABI on x86/ARM but not PPC. Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> 27 April 2023, 20:27:09 UTC
09a0f34 add two more explicit precompile statements (#49537) 27 April 2023, 18:44:32 UTC
8a16d2f Merge pull request #49544 from cormullion/cormullion/readmeimages Dark and light images for README.md 27 April 2023, 18:22:24 UTC
1303cc7 Merge pull request #49539 from JuliaLang/avi/compilesig_invokes fix `compilesig_invokes=false` inlining option 27 April 2023, 17:24:16 UTC
68ed6f7 Merge pull request #49419 from oscardssmith/fix-multiinv-test typemin divided by negative 1 is an error 27 April 2023, 16:41:23 UTC
2f0fe58 add a root profile zone for julia initialization (#49536) 27 April 2023, 16:09:24 UTC
d54566f add dark and light images for README.md 27 April 2023, 15:40:58 UTC
527117e Fix attributes and opaque pointer usage for LLVM15 (#49528) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> 27 April 2023, 14:05:40 UTC
bf7bd3f remove debug print from loading test (#49534) 27 April 2023, 14:02:10 UTC
75e979b fix `compilesig_invokes=false` inlining option Follows up #49404. Tests are added. 27 April 2023, 13:25:32 UTC
bc2fa50 show line info + module in `ADD_METHOD` profiling (#49495) 27 April 2023, 05:52:23 UTC
3b993a9 AbstractInterpreter: account for overlay possibility in unanalyzed call (#49518) When we skip inference of a call on `throw` block, previously we only checked if the call is overlayed or not. But the call may call an overlayed method internally, thus we need to conservatively taint the `:nonoverlayed` bit when `interp` uses overlay method table. Nevertheless this will not introduce any regressions on GPUCompiler stack (like #48097), since it defines `InferenceParams(::GPUInterpreter)` overload to turn off `unoptimize_throw_blocks` <https://github.com/JuliaGPU/GPUCompiler.jl/blob/d5086fb3d93bbc4795a96f6f1457898af46a24cb/src/interface.jl#L272> 27 April 2023, 00:00:57 UTC
5c39e44 Merge pull request #49526 from JuliaLang/sf/fix_tracy_install Install `libTracyClient` when `WITH_TRACY` is enabled. 26 April 2023, 23:44:18 UTC
b3bbd5b Intersect: fix `intersect_tuple` for inputs with bad normalization. (#49499) 26 April 2023, 23:02:33 UTC
15663e6 Install `libTracyClient` when `WITH_TRACY` is enabled. Without this, `make install` does not bundle `libTracyClient`, which is important when trying to redistribute a build of Julia that is built with Tracy support. 26 April 2023, 21:53:46 UTC
04cb800 add some very basic documentaton about supported tracing profilers (#49520) 26 April 2023, 19:32:51 UTC
2cd0149 Lookup metadata for inlined frames for stack traces (#41099) 26 April 2023, 16:18:28 UTC
a152d11 Nospecialize close(c::Channel, excp::Exception) on excp. (#49508) * Nospecialize close(c::Channel, excp::Exception) on excp. Fixes https://github.com/JuliaLang/julia/issues/49507. Avoids dynamic dispatch when closing a Channel with an Exception, and should avoid a call into the runtime for julia compilation when attempting to report an exception. * Add test for this case. 26 April 2023, 14:55:27 UTC
3f7ae8b Add more profiling events (#49493) 26 April 2023, 14:09:52 UTC
960870e instrument `jl_load_dynamic_library` to the profiler (#49496) 26 April 2023, 07:43:59 UTC
e6b707c show the root module in tracing for __init__ as well (#49480) * show the root module in tracing for __init__ as well When a submodule is running `__init__` it can sometimes be non trivial to find out what package that module actually lives in Co-authored-by: Cody Tapscott <84105208+topolarity@users.noreply.github.com> 26 April 2023, 07:42:24 UTC
2fa6970 fix in GC chunking code (#49505) 26 April 2023, 04:14:11 UTC
b12ddca doc: manual: constructors: xref "plain data" to isbits (#49492) 25 April 2023, 23:10:37 UTC
7fc3e35 Merge pull request #49502 from JuliaLang/sf/fix_artifacts [BinaryPlatforms] Change "shortest match" algorithm to "best match" 25 April 2023, 22:20:45 UTC
bc5dd53 Rearrange allocation profiling in Julia manual (#48713) As mentioned in #48070, the allocation profiler now provides better functionality than the `--track-allocation` option. This rearranges the sections in the manual to reflect this, and adds a note to that effect. It also mentions ProfileCanvas.jl, which seems to be better supported than PProf.jl. 25 April 2023, 18:57:19 UTC
e1de57f [BinaryPlatforms] Change "shortest match" algorithm to "best match" My assertion in the previous attempt to fix this issue was incorrect: > We define a simpler match as one that has fewer tags overall. > As these candidate matches have already been filtered to match the > given platform, the only other tags that exist are ones that are in > addition to the tags declared by the platform. Hence, selecting the > minimum in number of tags is equivalent to selecting the closest match. This is demonstrably false, by my own test case: ``` platforms = Dict( Platform("x86_64", "linux") => "bad", Platform("x86_64", "linux"; sanitize="memory") => "good", ) select_platform(platforms, Platform("x86_64", "linux"; sanitize="memory")) == "good" ``` In this case, because there exists a candidate that is _more general_ than the provided platform type, the shortest match is no longer the best match. This PR performs a more rigorous matching that works more reliably in all cases. 25 April 2023, 16:46:04 UTC
3db036e [Inference] limit inference timing recording to `NativeInterpreter` only (#49391) The logic of `Core.Compiler.Timings` assumes that the whole recorded inference graph is constructed by the same interpreter, thus we should limit the inference timing recording to `NativeInterpreter` only. External `AbstractInterpreter` can implement its own recording logic, likely by reusing existing `Core.Compiler.Timings` utilities, in a way that does not interfere with the recording for native compilation pipeline. --------- Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 25 April 2023, 11:17:48 UTC
b291522 Subtype: minor optimization for `simple_intersect` (#49477) 1. remove duplicated disjoint check. 2. add a fast path for all disjoint case. 25 April 2023, 10:50:50 UTC
86b819c improve effects of `objectid` and `getindex(::Dict)` (#49447) This commit also marks `Module` type as `identityfree`. Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 25 April 2023, 06:49:15 UTC
c70e0fa remove SIGABRT from sigwait list (#49445) This already is added to the sigdie list, so on mach it was attempting to handle it in both places simultaneously. 24 April 2023, 22:47:36 UTC
2768ec5 staticdata: ensure lookup is for a Type narrower than the Method signature (#49444) The type_more_complex widening might result in a wider value here, based on the needs of inference, but we only care about the dispatch lookups that could have resulted in this particular Method before, not any other wider results. 24 April 2023, 22:47:11 UTC
cb1cc27 Merge pull request #49470 from JuliaLang/jn/morespecific-bottom reland: add morespecific rule for Type{Union{}} 24 April 2023, 22:45:14 UTC
2180db1 ensure sub-bitfield bits are always defined (#49471) Helps avoid UB or inconsistencies between Julia and C definitions. 24 April 2023, 22:44:36 UTC
8419b50 Merge pull request #49483 from JuliaLang/sf/win_hang_fix Avoid usage of `jl_error()` in `check_cmdline()` 24 April 2023, 19:13:28 UTC
fa21589 Avoid usage of `jl_error()` in `check_cmdline()` This is the same as https://github.com/JuliaLang/julia/pull/45765 where we use `jl_error()` too early to get backtraces, but too late to fail the supposed guard `if` statement that should prevent us from trying to take a backtrace. X-ref: https://github.com/JuliaLang/julia/issues/45847 24 April 2023, 18:14:45 UTC
a3cda94 Remove redundant definitions of `push!(::AbstractDict, elements...)` (#49464) 24 April 2023, 14:40:11 UTC
7f4e129 also optimize {Type{T},T} lookup Since T cannot be Union{} here, the prior optimization would not get detected post facto, but a priori this cannot be inhabited for T=Union{}, so we can exclude it immediately. This does not happen during inference, but shows up during edge validation somewhat often. 24 April 2023, 00:42:39 UTC
67aa462 add typemap filtering option for Union{} Based on the new morespecific rule for Union{} and method definitions of the specific form `f(..., Type{Union{}}, Vararg)`. If a method definition exists with that specific form, the intersection visitor will ignore all intersections that have that as their only result, saving significant effort when working with lookups involving `Type{<:T}` (which usually ended up mostly ambiguous anyways). Fixes: https://github.com/JuliaLang/julia/issues/33780 This pattern turns out to have still to been making package loading slow. We could keep adding methods following the ambiguity pattern https://github.com/JuliaLang/julia/pull/46000 for the couple specific functions that need it (constructor, eltype, IteratorEltype, IteratorSize, and maybe a couple others) so the internals can detect those and optimize functions that have that method pair. But it seems somewhat odd, convoluted, and non-obvious behavior there. Instead, this breaks all ambiguities in which Union{} is present explicitly in favor of the method with Union{}. This means that when computing method matches, as soon as we see one method definition with Union{}, we can record that the method is the only possible match for that slot. This, in essence, permits creating a rule for dispatch that a TypeVar lower bound must be strictly a supertype of Union{}, but this creates it at the function level, instead of expecting the user to add it to every TypeVar they use to define methods. This also lets us improve the error message for these cases (generally they should error to avoid polluting the inference result), since we can be assured this method will be called, and not result in an ambiguous MethodError instead! Reverts the functional change of #46000 24 April 2023, 00:42:39 UTC
44b3d2c morespecific: add rule for Type{Union{}} Make Type{Union{}} in method definitions always the most specific type (normally these would end up being ambiguous). This ensures we do not invalidate them, nor need to consider ambiguities that might arise from intersections with them. 23 April 2023, 14:35:30 UTC
7560dea update Statistics.jl Removes some overly strict `@test_throws MethodError` for calls with `Union{}` or `Any`, in preparation for making those errors more precise. 23 April 2023, 14:35:30 UTC
a34261f Add ITTAPI timing functions to JL_TIMING (#49448) 22 April 2023, 20:44:16 UTC
5ea1a41 Remove unnecessary allocation in `BitSet()` (#49461) 22 April 2023, 18:50:37 UTC
back to top