https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
6c8b732 COD support 18 September 2022, 21:03:18 UTC
f794bdd follow up #46799, add test case for `CachedMethodTable` (#46818) 18 September 2022, 10:14:10 UTC
86e0c6a fix typo on TwicePrecision docs (#46813) 18 September 2022, 01:00:01 UTC
433b11f NFC: simplify the default `limit` setting of `Core.Compiler.findall` (#46809) Use `limit=-1` instead of `limit=Int(typemax(Int32))`. 18 September 2022, 00:49:25 UTC
b3f25d7 inlining: Also apply statement effects when declining to inline (#46775) * inlining: Also apply statement effects when declining to inline When inlining, we already determine what the effects for all the different cases are, so that we can apply appropriate statement flags on each of the edges. However, if for some reason we decided to decline to inline, we weren't making use of this information. Fix that. * make it work. Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 17 September 2022, 22:01:55 UTC
b6cabf3 Use more of the actual inliner in finalizer inlining (#46753) * Use more of the actual inliner in finalizer inlining Currently the special-case inliner for finalizer generated incorrect code for unmatched sparams (which we had a test for, but which was unfortunately broken) and varargs (which we did not have a test for). Of course, we handle these cases correctly in actual inlining, so do some light refactoring to share more code between the two inlining paths. * Update base/compiler/ssair/inlining.jl Co-authored-by: Ian Atol <ian.atol@juliacomputing.com> Co-authored-by: Ian Atol <ian.atol@juliacomputing.com> 17 September 2022, 22:01:06 UTC
defc396 Disable MSYS2's path munging for `stringreplace` (#46803) This was causing our rewriting of the loader's RPATH emulation to fail after running `make install`, as MSYS2 was rewriting our list that looks like: ``` ../bin/libgcc_s_seh-1.dll:../bin/libopenlibm.dll:@../bin/libjulia-internal.dll:@../bin/libjulia-codegen.dll: ``` Into one that looked like: ``` ..\bin\libgcc_s_seh-1.dll;..\bin\libopenlibm.dll;@..\bin\libjulia-internal.dll;@..\bin\libjulia-codegen.dll; ``` By exporting `MSYS2_ARG_CONV_EXCL='*'` for all `stringreplace` invocations, we dodge this issue, as documented by MSYS2 [0]. [0] https://www.msys2.org/wiki/Porting/#filesystem-namespaces 17 September 2022, 17:36:26 UTC
c165aeb REPL docs: Document existing ^U keybind (#46811) This keybinding currently exists in Julia and is functional, but it wasn't mentioned in the manual. 17 September 2022, 12:31:36 UTC
1843ea3 Typo error on REPL section (#46807) 17 September 2022, 05:49:08 UTC
2ef4aba Changes to support LLVM15 compilation (#46788) 17 September 2022, 05:47:13 UTC
e24dd3b inference: make `limit::Int` as a caching key of `CachedMethodTable` (#46799) Sometimes `Core.Compiler.findall(::Type, ::CachedMethodTable; limit::Int)` is called with different `limit` setting (in particularity `return_type_tfunc` calls it with `limit=-1`). The query should return different results given different `limit` settings, so its cache should also have different keys per different `limit` settings. fix #46722 17 September 2022, 02:59:15 UTC
81f6c23 Windows build improvements (#46793) * Include unistd.h to silence compilation warning. * Error when running in a MSYS shell. 16 September 2022, 19:52:42 UTC
260e986 Add julia pass pipeline to opt (#46191) * Use NewPM for optimization unless ASAN is in effect * Disable NewPM by default * Add julia pass pipeline to opt * Update llvm devdocs 16 September 2022, 16:18:04 UTC
03ed550 Remove unnecessary `reducedim_init` specialization (#46777) 16 September 2022, 10:50:19 UTC
a7bef77 Make the "system image too large" error message more descriptive (#46570) 16 September 2022, 09:46:16 UTC
8c00e17 Fix `mapreduce` on `AdjOrTrans` (#46605) Co-authored-by: Daniel Karrasch <Daniel.Karrasch@posteo.de> Co-authored-by: Daniel Karrasch <Daniel.Karrasch@posteo.de> Co-authored-by: Martin Holters <martin.holters@hsu-hh.de> 16 September 2022, 09:43:59 UTC
174b893 doc: guard release branch regex with ^...$ (#46647) 16 September 2022, 09:41:22 UTC
0fabe54 Help inference of uninferred callers of `read(::IO, ::Type{String})` (#46577) 15 September 2022, 15:29:38 UTC
4026246 Add effect modeling for Core.compilerbarrier (#46772) The compiler barrier itself doesn't have any effects, though of course by pessimizing type information, it may prevent the compiler from discovering effect information it would have otherwise obtained. Nevertheless, particularly the weaker barriers like `:const` and `:conditional` should not, by themselves taint any effects. 15 September 2022, 14:46:08 UTC
00ea165 Cache binding pointer in GlobalRef (#46729) On certain workloads, profiling shows a surprisingly high fraction of inference time spent looking up bindings in modules. Bindings use a hash table, so they're expected to be quite fast, but certainly not zero. A big contributor to the problem is that we do basically treat it as zero, looking up bindings for GlobalRefs multiple times for each statement (e.g. in `isconst`, `isdefined`, to get the types, etc). This PR attempts to improve the situation by adding an extra field to GlobalRef that caches this lookup. This field is not serialized and if not set, we fallback to the previous behavior. I would expect the memory overhead to be relatively small, since we do intern GlobalRefs in memory to only have one per binding (rather than one per use). # Benchmarks The benchmarks look quite promising. Consider this artifical example (though it's actually not all that far fetched, given some of the generated code we see): ``` using Core.Intrinsics: add_int const ONE = 1 @eval function f(x, y) z = 0 $([:(z = add_int(x, add_int(z, ONE))) for _ = 1:10000]...) return add_int(z, y) end g(y) = f(ONE, y) ``` On master: ``` julia> @time @code_typed g(1) 1.427227 seconds (1.31 M allocations: 58.809 MiB, 5.73% gc time, 99.96% compilation time) CodeInfo( 1 ─ %1 = invoke Main.f(Main.ONE::Int64, y::Int64)::Int64 └── return %1 ) => Int64 ``` On this PR: ``` julia> @time @code_typed g(1) 0.503151 seconds (1.19 M allocations: 53.641 MiB, 5.10% gc time, 33.59% compilation time) CodeInfo( 1 ─ %1 = invoke Main.f(Main.ONE::Int64, y::Int64)::Int64 └── return %1 ) => Int64 ``` I don't expect the same speedup on other workloads, but there should be a few % speedup on most workloads still. # Future extensions The other motivation for this is that with a view towards #40399, we will want to more clearly define when bindings get resolved. The idea here would then be that binding resolution replaces generic `GlobalRefs` by GlobalRefs with a set binding cache, and any unresolved bindings would be treated conservatively by inference and optimization. 15 September 2022, 14:45:47 UTC
6bbc006 Add LLVM pipeline tests (#46542) * Add LLVM pipeline tests * Create per-pipeline optimization tests * Actually run the tests, drop unnecessary output * Move to lit tests instead of julia tests * Apply suggestions from code review `=` -> `in` Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> 15 September 2022, 14:36:24 UTC
5e3e58e Revert "Add ability to add output prefixes to the REPL output and use that to implement an IPython mode (#46474)" (#46780) This reverts commit e1188455456035ff6a80ed20e424aa5c8ebf437d. 15 September 2022, 14:13:17 UTC
e118845 Add ability to add output prefixes to the REPL output and use that to implement an IPython mode (#46474) 15 September 2022, 12:24:25 UTC
6557542 Also merge var with unchanged bounds. (#46757) * Also merge var with unchanged bounds. The current `env` might not be valid if the var's bounds get fixed by another Unions decision. * Replace `v->var->lb` with `simple_meet` * Remove the unneeded NUll check. Co-Authored-By: Jameson Nash <vtjnash+github@gmail.com> 15 September 2022, 11:43:57 UTC
aae8c48 Specialize `inv` for cholesky of `Diagonal` (#46763) 15 September 2022, 10:30:02 UTC
997e336 inference: fixes and improvements for backedge computation (#46741) This commit consists of the following changes: * inference: setup separate functions for each backedge kind Also changes the argument list so that they are ordered as `(caller, [backedge information])`. * inference: fix backedge computation for const-prop'ed callsite With this commit `abstract_call_method_with_const_args` doesn't add backedge but rather returns the backedge to the caller, letting the callers like `abstract_call_gf_by_type` and `abstract_invoke` take the responsibility to add backedge to current context appropriately. As a result, this fixes the backedge calculation for const-prop'ed `invoke` callsite. For example, for the following call graph, ```julia foo(a::Int) = a > 0 ? :int : println(a) foo(a::Integer) = a > 0 ? "integer" : println(a) bar(a::Int) = @invoke foo(a::Integer) ``` Previously we added the wrong backedge `nothing, bar(Int64) from bar(Int64)`: ```julia julia> last(only(code_typed(()->bar(42)))) String julia> let m = only(methods(foo, (UInt,))) @eval Core.Compiler for (sig, caller) in BackedgeIterator($m.specializations[1].backedges) println(sig, ", ", caller) end end Tuple{typeof(Main.foo), Integer}, bar(Int64) from bar(Int64) nothing, bar(Int64) from bar(Int64) ``` but now we only add `invoke`-backedge: ```julia julia> last(only(code_typed(()->bar(42)))) String julia> let m = only(methods(foo, (UInt,))) @eval Core.Compiler for (sig, caller) in BackedgeIterator($m.specializations[1].backedges) println(sig, ", ", caller) end end Tuple{typeof(Main.foo), Integer}, bar(Int64) from bar(Int64) ``` * inference: make `BackedgePair` struct * add invalidation test for `invoke` call * optimizer: fixup inlining backedge calculation Should fix the following backedge calculation: ```julia julia> m = which(unique, Tuple{Any}) unique(itr) @ Base set.jl:170 julia> specs = collect(Iterators.filter(m.specializations) do mi mi === nothing && return false return mi.specTypes.parameters[end] === Vector{Int} # find specialization of `unique(::Any)` for `::Vector{Int}` end) Any[] julia> Base._unique_dims([1,2,3],:) # no existing callers with specialization `Vector{Int}`, let's make one 3-element Vector{Int64}: 1 2 3 julia> mi = only(Iterators.filter(m.specializations) do mi mi === nothing && return false return mi.specTypes.parameters[end] === Vector{Int} # find specialization of `unique(::Any)` for `::Vector{Int}` end) MethodInstance for unique(::Vector{Int64}) julia> mi.def unique(itr) @ Base set.jl:170 julia> mi.backedges 3-element Vector{Any}: Tuple{typeof(unique), Any} MethodInstance for Base._unique_dims(::Vector{Int64}, ::Colon) MethodInstance for Base._unique_dims(::Vector{Int64}, ::Colon) # <= now we don't register this backedge ``` 15 September 2022, 06:56:19 UTC
94c3a15 Improve nothrow analysis of :new with missing sparam (#46754) Similar to #46693, but for :new, rather than getfield. Unfortunately, this is somewhat limited as we don't really have the ability to encode type equality constraints in the lattice. In particular, it would be nice to analyze: ``` struct Foo{T} x::T Foo(x::T) where {T} = new{T}(x) end ``` and be able to prove this nothrow. If it's really important, we could probably pattern match it, but for the moment, this is not easy to do. Nevertheless, we can do something about the similar, but simpler pattern ``` struct Foo{T} x Foo(x::T) where {T} = new{T}(x) end ``` which is what this PR does. 15 September 2022, 05:24:11 UTC
e758982 improve type stability of `tail/front(::NamedTuple)` (#46762) This fixes some invalidations when loading ChainRulesCore.jl. 15 September 2022, 03:18:52 UTC
9b1780d fix invalidations from loading Static.jl (#46761) * improve type stability of `sort!(v::AbstractVector, lo::Integer, hi::Integer, ::InsertionSortAlg, o::Ordering)` * improve type stability of `fmt(buf, pos, arg, spec::Spec{T}) where {T <: Strings}` This fixes some invalidations when loading Static.jl. 15 September 2022, 03:17:33 UTC
08115d2 clarify show docs (#46765) 15 September 2022, 03:16:20 UTC
54c06ad Add reflect! and rotate! in the documentation (#46769) 15 September 2022, 03:14:39 UTC
559e04c Set USE_BINARYBUILDER_OBJCONV=0 when USE_BINARYBUILDER_OPENBLAS=0 (#46726) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> 15 September 2022, 03:12:25 UTC
f5842f8 bump the Tar stdlib from 5606269 to 5914ef9 (#46731) 15 September 2022, 01:27:14 UTC
bd6d170 Build/win: Build with MSYS2 (#46140) * Makefile: MSYS2: close path conversion for `DEP_LIBS` Automatic path conversion will replace `:` with `;` * Makefile: MSYS2: use `cygpath` for path convert ref: https://www.msys2.org/docs/filesystem-paths/#manual-unix-windows-path-conversion * devdoc/win/msys2: add build steps * devdoc/win/msys2: Add x86/x64 build notes * devdoc/win/msys2: apply sugestions Co-Authored-By: Elliot Saba <staticfloat@gmail.com> * Instead of `CC_WITH_ENV`, scope environment variables to targets * Fix whitespace Co-authored-by: Elliot Saba <staticfloat@gmail.com> 14 September 2022, 22:32:48 UTC
c6abccf Fix symdiff/symdiff! for vector inputs with duplicates, closes #34686 (#46397) 14 September 2022, 19:40:11 UTC
2cfcc1a gitignore lit test times (#46766) 14 September 2022, 18:04:37 UTC
b4af0e5 improve type stability of `process_overrides(artifact_dict::Dict, pkk_uuid::Base.UUID)` (#46661) * improve type stability of `process_overrides(artifact_dict::Dict, pkg_uuid::Base.UUID)` This fixes some invalidations when loading Static.jl 14 September 2022, 13:19:42 UTC
35191ad Improve argmin/argmax docstring (#46737) The current phrasing "Return a value `x` in the domain of `f`" is a bit misleading, as the domain of `f` may be much larger than the argument `domain`. It's better to be clear that the value returned will be an element of the `domain` that is provided. 14 September 2022, 08:37:40 UTC
b1f8d16 only store version of packages during load time when generating sysimage (#46738) 14 September 2022, 07:44:25 UTC
100d7e8 doc: clarify docstring for oftype (#46744) 14 September 2022, 07:33:07 UTC
b368e26 typo error (#46752) 14 September 2022, 07:28:59 UTC
0de477a change logic for enabling GDB JIT event listener (#46747) - default to false in release build, true in debug build - ENABLE_GDBLISTENER env var overrides that in all builds 14 September 2022, 06:36:26 UTC
8455c8f inference: concretize `invoke` callsite correctly (#46743) It turns out that previously we didn't concretize `invoke` callsite correctly, as we didn't take into account whether the call being concretized is `invoke`-d or not, e.g.: ``` julia> invoke_concretized2(a::Int) = a > 0 ? :int : nothing invoke_concretized2 (generic function with 1 method) julia> invoke_concretized2(a::Integer) = a > 0 ? :integer : nothing invoke_concretized2 (generic function with 2 methods) julia> let Base.Experimental.@force_compile Base.@invoke invoke_concretized2(42::Integer) end :int # this should return `:integer` instead ``` This commit fixes that up by propagating information `invoke`-d callsite to `concrete_eval_call`. Now we should be able to pass the following test cases: ```julia invoke_concretized1(a::Int) = a > 0 ? :int : nothing invoke_concretized1(a::Integer) = a > 0 ? "integer" : nothing @test Base.infer_effects((Int,)) do a @invoke invoke_concretized1(a::Integer) end |> Core.Compiler.is_foldable @test Base.return_types() do @invoke invoke_concretized1(42::Integer) end |> only === String invoke_concretized2(a::Int) = a > 0 ? :int : nothing invoke_concretized2(a::Integer) = a > 0 ? :integer : nothing @test Base.infer_effects((Int,)) do a @invoke invoke_concretized2(a::Integer) end |> Core.Compiler.is_foldable @test let Base.Experimental.@force_compile @invoke invoke_concretized2(42::Integer) end === :integer ``` 14 September 2022, 05:17:51 UTC
7cbea73 Test: fixup issues detected by JET (#46730) - removes stale definition of `test_approx_eq` (this seems to have been reserved for the 0.7 compat, but is currently broken as `full` is really not defined anymore) - fixes invalid construction of `Fail` object - makes `LogTestFailure` more type stable struct - improves type stabilities slightly 14 September 2022, 04:57:44 UTC
f7dea04 Fix whitespace introduced in #45854 (#46750) * Fix whitespace introduced in #45854 * Fix more whitespace Co-authored-by: Keno Fischer <keno@juliacomputing.com> 14 September 2022, 04:39:00 UTC
4bd59ac Example Workflow Docs on How to Create Tests for One's Own Package (#46357) Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> Co-authored-by: woclass <git@wo-class.cn> 14 September 2022, 01:46:05 UTC
c5098a9 [devdoc] Add section “Update the version number of a dependency” (#45854) * [devdoc] Add section “Update the version number of a dependency” * [devdoc] add a check list Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> 14 September 2022, 01:43:37 UTC
b97a629 doc: highlight recommendation of eachindex in arrays.md (#45341) * Update arrays.md Highlighted two portions of the text as a note and a warning, in view of the discussion Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> Co-authored-by: Johnny Chen <johnnychen94@hotmail.com> Co-authored-by: Michael Abbott <32575566+mcabbott@users.noreply.github.com> 14 September 2022, 01:42:13 UTC
6643090 Update doc on global variables type annotations (#46686) Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 14 September 2022, 01:20:43 UTC
f9b362e sparam inlining: Handle undefined sparams (#46703) `_compute_sparams` is not required to be able to resolve an sparam, it can leave it as a `TypeVar`, in which case accessing it should throw an UndefVarError. This needs to be appropriately handled in inlining. We have a test case like this in the test suite, but it was being papered over by an incorrect check in can_inline_typevar. Remove that check and implement proper undef checking in inlining. 13 September 2022, 22:48:47 UTC
1916d35 add `nospecialize` to deepcopy entry point (#46692) 13 September 2022, 20:40:40 UTC
d97dd8e handle empty Tuple{} in _methods_by_ftype (#46685) This is silly, but some packages try very hard to precompile everything including this, even though this is invalid. Fix #46295 13 September 2022, 18:55:50 UTC
70bfa3f improve type stability of `lt(p::Perm, a::Integer, b::Integer)` (#46732) This fixes a few hundred invalidations when loading Static/jl/ArrayInterface.jl. 13 September 2022, 12:08:51 UTC
df955b8 compiler: add missing `@nospecialize` annotations (#46734) 13 September 2022, 12:01:26 UTC
85fac87 LinearAlgebra: Allow arrays to be zero-preserving (#46340) 13 September 2022, 08:05:11 UTC
e8a2eb1 [deps/blastrampoline]: pass cross compile flags to make (#45909) Co-authored-by: Jameson Nash <vtjnash+github@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 13 September 2022, 05:45:54 UTC
b284bc6 propagate context through a few more printing functions (#46716) This commit makes `:compact=>false` a way to avoid the expensive typealias checking. 13 September 2022, 03:04:19 UTC
3cb3b1c Merge pull request #46653 from JuliaLang/avi/nothrowflag 13 September 2022, 02:44:12 UTC
0b38483 inference: improve `isa`-constraint propagation for `iskindtype` objects (#46712) Currently our inference isn't able to propagate `isa`-based type constraint for cases like `isa(Type{<:...}, DataType)` since `typeintersect` may return `Type` object itself when taking `Type` object and `iskindtype`-object. This case happens in the following kind of situation (motivated by the discussion at <https://github.com/JuliaLang/julia/pull/46553#issuecomment-1233024271>): ```julia julia> function isa_kindtype(T::Type{<:AbstractVector}) if isa(T, DataType) # `T` here should be inferred as `DataType` rather than `Type{<:AbstractVector}` return T.name.name # should be inferred as ::Symbol end return nothing end isa_kindtype (generic function with 1 method) julia> only(code_typed(isa_kindtype; optimize=false)) CodeInfo( 1 ─ %1 = (T isa Main.DataType)::Bool └── goto #3 if not %1 2 ─ %3 = Base.getproperty(T, :name)::Any │ %4 = Base.getproperty(%3, :name)::Any └── return %4 3 ─ return Main.nothing ) => Any ``` This commit improves the situation by adding a special casing for abstract interpretation, rather than changing the behavior of `typeintersect`. 13 September 2022, 02:35:03 UTC
969193b Follow-up #46693 - Also exclude `Type{Tuple{Union{...}, ...}}` (#46723) * Follow-up #46693 - Also exclude `Type{Tuple{Union{...}, ...}}` The check in #46693 was attempting to guarantee that the runtime value was a `DataType`, but was missing at least the case where a tuple of unions could have been re-distributed. Fix that up and refactor while we're at it. * Apply suggestions from code review Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 13 September 2022, 01:03:52 UTC
8a59be6 avoid Pair constructor being excessively specialized by Core.Compiler (#46684) 12 September 2022, 21:33:07 UTC
ad19f2f Support `invoke` backedges for const (#46715) This is a left-over piece of #46010, triggered by const args. Fixes #44320 12 September 2022, 21:09:22 UTC
7eacf1b Concise info on creating and using a module without core and base (#46628) Co-authored-by: Jameson Nash <vtjnash@gmail.com> 12 September 2022, 19:17:13 UTC
6f8e24c jit: reduce context lock scope (#44949) 12 September 2022, 16:52:16 UTC
7e51510 Fix #46594: Show on method with Vararg (#46710) 12 September 2022, 12:33:54 UTC
919a337 some NFC changes on test/compiler/contextual.jl 12 September 2022, 10:45:51 UTC
607ee75 optimizer: fixup `EscapeAnalysis` - correctly update with semi-concrete interpretation - use `IR_FLAG_NOTHROW` for computing no-throwness - fixup `getfield`/`arrayref` from global object 12 September 2022, 10:31:32 UTC
5e2eb94 optimizer: fixup `IR_FLAG_NOTHROW` flagging 12 September 2022, 10:31:27 UTC
9e8fb63 LinearAlgebra: Don't assume AbstractVector supports deleteat! (#46672) 12 September 2022, 09:53:40 UTC
81eb6ef use grep instead of the deprecated egrep (#46706) grep -E is the new (since POSIX) way to use the "extended" regexp. The latest GNU Grep release complains each time egrep is invoked (egrep is implemented as just a wrapper script around grep). See: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html https://www.gnu.org/software/grep/manual/grep.html Fixes #46649 11 September 2022, 22:05:57 UTC
5d9807d fix invalidations from loading ArrayInterface.jl (#46673) * improve inferrability of `NamedTuple{names}(nt::NamedTuple) where {names}` * improve inferrability of `recursive_dotcalls!(ex, args, i=1)` 11 September 2022, 12:50:28 UTC
f7a8c02 [OpenBLAS_jll] Upgrade to v0.3.21 (#46701) * [OpenBLAS_jll] Upgrade to v0.3.21 * [LinearAlgebra] Update `svd` doctests 11 September 2022, 12:45:14 UTC
83f10ac Inlining/Finalizer-elimination cleanup refactor (#46700) This started as an attempt to fix the broken test at [1], but I don't actually think that test ever worked. I still intend to fix that, but this PR is prepratory, merging code paths that basically did identical things, but were incomplete in some cases. Also some general quality improvements. The test case in question is better now (everything gets inlined and it's down to needing to prove that the finalizer itself is inlineable and the mutable :new is eliminable), but not quite fixed. [1] https://github.com/JuliaLang/julia/blob/master/test/compiler/inline.jl#L1306 11 September 2022, 02:38:54 UTC
02d7776 fix MIME repr of empty Method list (#46689) Fix #46675 11 September 2022, 00:51:34 UTC
d4f6fd2 Improve inference for ismutable with missing sparam (#46693) We could already infer `ismutable(RefValue{T})` if we knew what `T` was at inference time. However, the mutable does of course not change depending on what `T` is, so fix that up by adding an appropriate special case in `_getfield_tfunc`. 10 September 2022, 05:04:15 UTC
f1a0dd6 Typo error on ∈ (#46687) 09 September 2022, 15:52:02 UTC
ffaaa30 Force inference of `convert(::Type{T}, ::T) where T` via typeasserts (#46573) 09 September 2022, 12:45:21 UTC
b9df45e fix typo in test/loading.jl (#46678) 08 September 2022, 18:59:45 UTC
b8336b3 remove extrema definition that is no longer needed for bootstrapping (#46592) * remove extrema definition that is no longer needed for bootstrapping 08 September 2022, 12:51:52 UTC
e36e56b increase default sleep time (#45628) 08 September 2022, 01:09:23 UTC
f7b4ebe fix issue #46665, `prod(::Array{BigInt})` (#46667) The way we were counting the number of bits was assigning a negative number to `0`, which could lead to a negative total number of bits. Better to just exit early in this case. Also, the estimate was slightly off because we were counting the number of leading zeros in the least significant limb, instead of the most significant. 07 September 2022, 21:24:20 UTC
3793dac Doc typo fix for fetch(c::Channel) (#46671) Fixes #46642 07 September 2022, 19:54:43 UTC
ecd0b90 inlining: handle const `finalizer` call for finalizer inlining (#46669) Currently mutable objects are never represented as `Const` but a function registered by `finalizer` can be closure with `Const` element, and thus it's better to handle `ConstCallInfo` in `handle_finalizer_call!`. Tests added. 07 September 2022, 19:40:25 UTC
225edb5 Merge pull request #46670 from JuliaLang/avi/finalizer-inlining-miscs optimizer: miscellaneous improvements on `finalizer` inlining code 07 September 2022, 15:31:33 UTC
036e6b7 optimizer: mark sparam finalizer inlining broken 07 September 2022, 15:29:39 UTC
0067d48 effects: add `is_finalizer_inlineable` query 07 September 2022, 15:29:39 UTC
676ba39 update the document of `Core.Compiler.dominates` 07 September 2022, 15:29:39 UTC
075f84b update the document of `Core.finalizer` 07 September 2022, 15:29:35 UTC
cf61ca9 change `get(::LazyDomtree)` to `get!(::LazyDomtree)` 07 September 2022, 13:01:18 UTC
4cf582e Shrink typeinf lock to just newly_inferred (#46324) 07 September 2022, 11:18:30 UTC
83658d2 Optionally use NewPM for optimization (#46176) * Use NewPM for optimization unless ASAN is in effect * Disable NewPM by default 07 September 2022, 07:43:35 UTC
31d4c22 Improve dispatch of `findall(testf::F, A::AbstractArray)` (#46553) This prevents some invalidations in `mightalias(A::AbstractArray, B::AbstractArray)` in abstractarray.jl when loading Static.jl. Here we specialize on the function instead of using map since `broadcasting` returns a BitArray, `map` returns a Vector{Bool}. 06 September 2022, 18:38:21 UTC
305e2fb Test suite: after running a test set, throw an error if `Base.DEPOT_PATH`, `Base.LOAD_PATH`, or `ENV` have been modified and not restored to their original values (#46602) 06 September 2022, 16:51:35 UTC
cfec173 add warning for function declaration with undefined static parameter (#46608) Refs #27813 (does not fix it) 06 September 2022, 16:31:39 UTC
c3b6757 handle malformed environment entry (#46585) Fix #46468 06 September 2022, 16:31:22 UTC
fa3981b Fix a few more cases of missing lattice arguments (#46645) These were missed in the original lattice PR. 06 September 2022, 14:47:22 UTC
d6cbfab Document UInt64 return type of time_ns() (#46648) 06 September 2022, 14:31:11 UTC
ea74208 LibGit2: correct regex for credential helpers (#46597) The previous regex for credential helpers included even the following credential: ``` [credential "helperselector"] selected = manager-core ``` which gets introduced by Git for Windows and fails our assumption about what a credential helper is. The commit also removes a test that mirrors what `credential_helpers` does (otherwise, we would have to maintain the same regex at two places, the definition of `credential_helpers` and the test case). Fixes #45693 06 September 2022, 13:26:07 UTC
1786532 RFC: Introduce `AdjointRotation` to avoid subtyping `AbsMat` (#46233) 06 September 2022, 13:13:35 UTC
639a4ff Faster int to float conversion (#45656) *Faster Int128 and UInt128 to float conversion. 06 September 2022, 12:24:35 UTC
back to top