https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
ec5e702 fixup! fixup! effects: taint `nonoverlayed` when bailing out inference (#48838) 03 March 2023, 13:47:40 UTC
d57c4ea bump Pkg to latest 1.9 03 March 2023, 11:06:25 UTC
b07fb40 gf: cache cache_with_orig decision (#48833) Memoizing this can save a lot of repeated effort for queries such as `@which eltype(String)`. Otherwise we repeatedly try to check if `eltype(::Type)` is a good way to cache that result, even though it never gets better the more we check it. (cherry picked from commit bdcd5e2c6d0fdea879a961f1a72d774b743cc846) 03 March 2023, 10:29:38 UTC
4710009 Fix final gc lowering on dynamically sized allocation (#48620) (cherry picked from commit 7e57dc7bcf60eab24d89497d5ac4077c2603d120) 03 March 2023, 10:29:38 UTC
570251e enable re-using external code in pkgimages (#48723) * enable using external code in pkgimages This was unintentionally disabled (and incomplete) in the original PR for pkgimages. Co-authored-by: Valentin Churavy <v.churavy@gmail.com> (cherry picked from commit c136b7e787aee1dffefcea6afce51d0bdd6d5dd1) 03 March 2023, 10:29:38 UTC
44085f9 Atomically order specsigflags, specptr, and invoke (#47832) Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Dilum Aluthge <dilum@aluthge.com> (cherry picked from commit 6412a56223e38824ce6eff78bf34662637971e1c) 03 March 2023, 10:29:38 UTC
df3f686 fixup! effects: taint `nonoverlayed` when bailing out inference (#48838) 03 March 2023, 10:29:38 UTC
3f040ca Calculate a checksum for the system image (#48869) (cherry picked from commit 48b4caaf94c6dcfc9d28e9929ebb27d480b7b6cc) 03 March 2023, 10:29:38 UTC
b710bd2 Always use `-Wl,--warn-unresolved-symbols` in MSAN builds (#48835) * Always use `-Wl,--warn-unresolved-symbols` in MSAN builds * Use `-Wl,--warn-unresolved-symbols` only on Linux and FreeBSD (cherry picked from commit a07f51298994299eaeeae3bb254f2079aa6b6e4a) 03 March 2023, 10:29:38 UTC
8ba214d Update MbedTLS to 2.28.2 (#48806) * Update MbedTLS to 2.28.2 * Update deps/mbedtls.mk * Update mbedtls checksum (cherry picked from commit 127fb73ef5804e0c040aefadb47eb07763e36d9c) 03 March 2023, 10:29:38 UTC
2497f83 Add libjulia-internal to ORCJIT symbol resolution (#48712) We need to make sure that libjulia-internal is loaded and placed first in the DynamicLibrary search order so that calls to runtime intrinsics are resolved to the correct library when multiple libjulia-*'s have been loaded (e.g. when we `ccall` into a PackageCompiler.jl-created shared library). (cherry picked from commit fd45943e993ea851edcc4b1f2cc7e002438be07e) 03 March 2023, 10:29:38 UTC
b5243af add a type assert to logging to prevent Base.require invalidation (#48810) (cherry picked from commit 85709517be408f32cf102234b906f3d918fafdf2) 03 March 2023, 10:29:38 UTC
a671f0c Accept weakdeps as a source for UUIDS for Preferences (cherry picked from commit d6431a38913f0b2c44f1147e354fa9a773fabc56) 03 March 2023, 10:29:38 UTC
54bdee8 [Make.inc] Define new variable `PATCHELF_SET_RPATH_ARG` (cherry picked from commit 219ef2184723ba0c2bb89af96d79c368c4a0f673) 03 March 2023, 10:29:38 UTC
e25fcc9 Test: add space after test failure for visual clarity (#48526) (cherry picked from commit ba1e568966f82f4732f9a906ab186b02741eccb0) 03 March 2023, 10:29:38 UTC
2761b06 effects: handle va-method properly when refining `:inaccessiblememonly` (#48854) Previously the `:inaccessiblememonly` effect bit may be wrongly refined when analyzing va-method, e.g.: ```julia julia> callgetfield1(xs...) = getfield(getfield(xs, 1), 1) callgetfield1 (generic function with 1 method) julia> Base.infer_effects(callgetfield1, (Base.RefValue{Symbol},)) (+c,+e,!n,+t,+s,+m,+i) # inaccessiblememonly is wrongly refined here ``` This leads to wrong concrete evaluation of `callgetfield1` and thus may result in a problem like below: ```julia julia> const GLOBAL_XS = Ref(:julia); julia> global_getfield() = callgetfield1(GLOBAL_XS); julia> @test let Base.Experimental.@force_compile global_getfield() end === :julia Test Passed julia> GLOBAL_XS[] = :julia2; julia> @test let Base.Experimental.@force_compile global_getfield() end === :julia2 # this fails Test Failed at REPL[8]:1 Expression: let #= REPL[8]:2 =# Base.Experimental.@force_compile global_getfield() end === :julia2 Evaluated: julia === julia2 ``` This commit fixes it up. 03 March 2023, 10:29:38 UTC
09757f7 effects: taint `nonoverlayed` when bailing out inference (#48838) 03 March 2023, 10:29:38 UTC
a6a19e4 inference: fix the correctness of inference bail out interface (#48826) Since we allow overloading of the `bail_out_xxx` hooks, we need to make sure that we widen both type and effects to the top when bailing on inference regardless of the condition presumed by a hook. This commit particularly fixes the correctness of `bail_out_apply` (fixes #48807). I wanted to make a simplified test case for this, but it turns out to be a bit tricky since it relies on the details of multiple match analysis and the bail out logic. 03 March 2023, 10:29:38 UTC
d2de99d Stop renumbering statements in inference proper (#48022) I don't think there's any good reason to try to delete the statements here. The very next thing we do is to convert to IRCode which drops dead code anyway, so this just seems redundant. In addition, it complicates Cthulhu-like analysis, which now has to track an extra set of statement numbers. 22 February 2023, 10:52:40 UTC
1c22e77 [compiler] Teach type inference that `GotoIfNot` can throw (#48583) Previously, the effects system would ignore certain cases where `GotoIfNot` nodes would be capable of throwing; this resulted in simple examples such as the following being marked as `nothrow`: ``` julia> foo(x) = x > 0 ? x : 0 Base.infer_effects(foo, (Missing,)) (+c,+e,+n,+t,+s,+m,+i) ``` With this change, we correctly notice when a `GotoIfNot` node is given a non-`Bool` condition, annotate the basic block as possibly throwing, and further end type inference if the condition is provably non-`Bool`. 22 February 2023, 09:42:37 UTC
50b8c13 Add world argument to jl_create_native. (#48746) (cherry picked from commit 09759069203b06024d87dc49071af7a1519c7559) 21 February 2023, 16:16:24 UTC
b5d9781 staticdata: encode link_id in tagged linkage (#48673) On 64-bit, we have enough space to encode (1) the tag, (2) the `depmods` index, and (3) the offset all in a single 64-bit pointer field. This means we don't need the external `link_id` arrays, which reduces the size of many pkgimages by ~5%. On 32-bit, we don't have enough bits to implement this strategy. However, most linkages seem to be against the sysimage, and so by giving that a separate tag we can achieve similar compression because the `link_id` lists will be much shorter. Co-authored-by: Tim Holy <tim.holy@gmail.com> (cherry picked from commit 8e3e97074e34f86e7c796536a46fcdeca53a52dc) 21 February 2023, 16:16:24 UTC
956f54b [OpenBLAS_jll] Upgrade to new build optimised for PowerPC (#48689) * [OpenBLAS_jll] Upgrade to new build optimised for PowerPC This only difference compared to previous build is that this one enables use of dynamic architecture detection also for the PowerPC architecture. --------- Co-authored-by: Valentin Churavy <v.churavy@gmail.com> (cherry picked from commit aacfcf0afcd325c2ad2e59fc16497405a07b4f85) 21 February 2023, 16:16:24 UTC
624c665 put back DelimitedFiles as a non-sysimage "stdlib" (#48671) (cherry picked from commit 56667bb47af73c9f6d574dd96ef946983854e1ee) 21 February 2023, 16:16:24 UTC
0cb0bb4 Bump LLD to get dsymutil and use it for pkgimgs (#48628) * Run dsymutil on pkgimgs for apple platforms + LLD bump to get dsymutil from the jll (cherry picked from commit d8c225007498a68d1a1c9f3229d0dbc11b98f0cf) 21 February 2023, 16:16:24 UTC
af0e4c1 force singlethreading during precompilation (#48592) (cherry picked from commit c0d2c574d44231dba39f90d6a6b27448f71763ca) 21 February 2023, 16:16:24 UTC
86b9df2 effects: taint `:nothrow` effect on unknown `:static_parameter` (#46791) * effects: taint `:nothrow` effect on unknown `:static_parameter` (conservatively) With this commit, we taint `:nothrow` effect property correctly on access to unknown `:static_parameter`, e.g.: ```julia unknown_sparam_throw(::Union{Nothing, Type{T}}) where T = (T; nothing) @test Core.Compiler.is_nothrow(Base.infer_effects(unknown_sparam_throw, ((Type{Int},)))) @test !Core.Compiler.is_nothrow(Base.infer_effects(unknown_sparam_throw, ((Nothing,)))) ``` This commit implements a very conservative analysis, and thus there is a room for improvement still, e.g.: ```julia unknown_sparam_nothrow(x::Ref{T}) where {T} = (T; nothing) @test_broken Core.Compiler.is_nothrow(Base.infer_effects(unknown_sparam_nothrow, (Ref,))) ``` * inference: improve `:nothrow` modeling for `:static_parameter` (#46820) * Fix test with free type params * Test: Ignore ::Type{T} in detect_unbounded These are only technically unbounded because of the existence of ill-formed types. However, this function is supposed to be an API sanity check and ordinary users should never have ill-formed types, so for the purpose we want here, allow unboundedness in Type{T}. --------- Co-authored-by: Keno Fischer <keno@juliacomputing.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit b5d17ea2b3d68f41ffca57a87527a337abc8b74d) 21 February 2023, 16:16:24 UTC
5453936 only load extension triggers from the evnironment where the parent package is loaded (#48703) (cherry picked from commit 200c96272a22a5c9d2434a0d091658cb0e7d0fe4) 21 February 2023, 16:16:24 UTC
a66d092 update loading test to best-practices (#48429) Many of these test were hiding output or using semi-deprecated functions or failing to cleanup output or setting the wrong variables. (cherry picked from commit b48104d5f29fcfd477c72b1baa22145297c08bb6) 21 February 2023, 16:16:24 UTC
1121d25 Allow for use 60% of constrained/total system memory (#48614) Remove the high watermark logic, because it doesn't really make sense, and allow for use of 60% of system memory before aggressive GC kicks in. Should fix #48473 (cherry picked from commit 500f561f728d0be3d5f6916f274cdf14387cf375) 21 February 2023, 16:16:24 UTC
6545919 julia_cmd() docstring: include pkgimages (#48392) (cherry picked from commit 4a75129efe00ebe1880e3ab86f6901524ca063bc) 21 February 2023, 16:16:24 UTC
7734b34 fix printing of parents to extensions in `@time_imports` (cherry picked from commit 6bd658eaf4f3b7495f17c5f28c2d2f1c5c0e3894) 21 February 2023, 16:16:24 UTC
2324310 make `insert_extension_triggers` idempotent (cherry picked from commit 2a0b9dd50657beddb7a28d9ecf66b86367ca7084) 21 February 2023, 16:16:24 UTC
84e3545 Put back getfield :boundscheck hack (#48677) We used to have this hack before #48246, but I removed it because I had hoped we don't need. Unfortunately, we weren't able to infer consistency of ``` @inbounds (1,2)[1] ``` With this hack, constprop is able to independently prove inbounded-ness, overriding the usual consistency taintaing that happens for inbounds. (cherry picked from commit 113c2f3c95bf2ae67ac1e8214a17b7d9404dbbfa) 21 February 2023, 16:16:22 UTC
5e39fc6 lattice: fix minor lattice issues (#47570) I found some lattice issues when implementing `MustAlias` under the new extendable lattice system in another PR. (cherry picked from commit ee0f3fc334a8377da2d2b18e69c538eabc5aec13) 21 February 2023, 12:23:04 UTC
f7c4f59 restore kwcall_mt optimizations 20 February 2023, 12:08:22 UTC
25bad18 fix #47658, state stack overflow on unions containing typevars (#48221) (cherry picked from commit 596ce6542624e9b8c3782b19936e2226f307e118) 20 February 2023, 12:04:07 UTC
b3d42d1 Fix Base.libllvm_path and jl_get_libllvm don't support non-ASCII characters in path on Windows (#45126) (#45127) * Fix jl_get_libllvm_impl to support non-ASCII characters * Fix jl_get_libllvm_impl to support non-ASCII characters, fix whitespace * Fix jl_get_libllvm_impl to support non-ASCII characters, fix null and buffer (cherry picked from commit 6976bacd66e606865f656312bf6d991f3a6e4507) 20 February 2023, 11:55:56 UTC
d43d055 Disable frame-pointer-optimiation on Linux (#48660) (cherry picked from commit 9c4a40c7b9e4e1ebb6bfb70fe66fc6fb8e4f4b6d) 20 February 2023, 11:55:55 UTC
6213bb8 [REPL] Meta-e: Don't execute the edited code when exiting editor (#46153) (cherry picked from commit aaab409957e32110cbc80318fee7215e616a555c) 20 February 2023, 11:55:54 UTC
ceacba1 Update checksums for llvm 14.0.6+2 (#48659) (cherry picked from commit ecfaef3394be9d22459c855969dcc655fc7e6e91) 20 February 2023, 11:55:52 UTC
d0a7175 Update LLVM build to 14.0.6+2 (#48544) (cherry picked from commit 43c6f7568bed8577c3ff93a73c970451859fae9d) 20 February 2023, 11:55:48 UTC
1360b3a Restrict `path` to be an `AbstractString` in `lbt_forward()` Some users tried to pass a `dlopen()` handle into `lbt_forward()` which sadly works just fine, despite `ccall()` declaring its first argument as being a `Cstring`. I guess it's trivial to convert a `Ptr{Cvoid}` into a `Cstring`, so this just goes through. To protect against this, restrict `path` to be an `AbstractString`. (cherry picked from commit 849203173ffaa2f73a4f052e8a832e2c43dcf3b9) 20 February 2023, 11:55:46 UTC
b75ddb7 set VERSION to 1.9.0-beta4 (#48574) 07 February 2023, 21:53:19 UTC
26c5abf Merge pull request #48311 from JuliaLang/backports-release-1.9 Backports for Julia 1.9.0-beta4 07 February 2023, 12:29:36 UTC
d4a4629 give a hint towards `Base.retry_load_extensions` when an extension fails to load (#48571) (cherry picked from commit e32e20c7ca3b63dafa85a3a0eca9515d055e9657) 07 February 2023, 12:29:13 UTC
c15f520 Add path tracking options from #44359 to docs (#48527) (cherry picked from commit 4d9eb896db40684cbdf9c991a51642c3e6f99276) 07 February 2023, 08:06:54 UTC
a3b4c3b add CTRL_R to repl precompile (#48539) Co-authored-by: robsmith11 <robsmith11@github.com> (cherry picked from commit 7827b0886f1eb4660309d9697a95e67aa4ad342a) 07 February 2023, 08:06:35 UTC
997ba79 [compiler] Fix effects of supertype abstract interpretation (#48566) This `abstract_call_known` recursion inserted `EFFECTS_TOTAL` which is incorrect because `<:` and `>:` can throw if the arguments are not types. (cherry picked from commit 0ab6e2f51ce3ddabda44eb17f358d039a3eb1f6b) 07 February 2023, 08:06:20 UTC
1ef6c96 Change uses of int to size_t in MurmurHash (#48562) * Change uses of int to size_t in MurmurHash (cherry picked from commit 3fe69f4f4327dd4f9d39a8d8b5ff2d959113d680) 07 February 2023, 08:06:11 UTC
27c6d97 Protect `cmd_gen` against invalidation (#48557) This gets used by `Base.require`, arguably the most painful of all invalidations. CSV is one package that invalidates it. (cherry picked from commit 5721ae700cd10c284ceb32e603792e5c487d6167) 07 February 2023, 08:05:50 UTC
d4e0f36 Merge pull request #48513 from JuliaLang/jn/extend-once ensure extension triggers are only run by the package that satified them 07 February 2023, 08:05:15 UTC
a83399c precompile: do not reanimate zombie external methods (#48475) Backedges are only applicable to cache objects with max_world==Inf Fix #48391 (cherry picked from commit b9398a3a187914c79e9a627370a0a85d720fe7fb) 06 February 2023, 20:09:02 UTC
d1b9ff9 convert algorithms to SCC (#47866) These places in the code can either be more efficient O(1) or more correct using something more similar to the published SCC algorithm by Tarjan for strongly connected components. (cherry picked from commit b03439c8e3e14d9068f8ebc0782c8a9d2f2736f2) 06 February 2023, 20:09:02 UTC
62b70e3 avoid generating native code if only output ji file (#48431) (cherry picked from commit 2eeefbe20830984fb111c8e41ee9d649ce5ab64e) 06 February 2023, 20:09:02 UTC
26b6e81 remove precompile mutation step from staticdata (#48309) Make sure things are properly ordered here, so that when serializing, nothing is mutating the system at the same time. Fix #48047 (cherry picked from commit 87b8896fa36d37e988867f404a9b1caebdc98dda) 06 February 2023, 20:09:02 UTC
a7f04b8 [LinearAlgebra] Fix `libblas_name` test Use `Int` as type for integer arguments, instead of `Cint`. (cherry picked from commit cdc6eafb3681840ddef395aa7ffad45db3064e71) 05 February 2023, 10:53:52 UTC
8b00ed3 Add test for use of `Base.libblas_name` (cherry picked from commit a93ac543394a40e90fa7030e5edc6d845a718c86) 05 February 2023, 10:53:47 UTC
b9c655c Move `libblas_name`/`liblapack_name` to after `Sys` module (cherry picked from commit f2d7055fc1f796e2c7a5e10bc61925a41d8eda13) 05 February 2023, 10:53:42 UTC
30dcbba Fix `Base.libblas_name`/`Base.liblapack_name` On Windows they need to include the major soversion of libblastrampoline. (cherry picked from commit d5911c02fa6c06af01ad8916c95cd9327c9c597e) 05 February 2023, 10:53:38 UTC
68cd01c Avoid unnecessary Docs.META initializations (#48469) If the target module does not have a Docs.META dict (e.g. if `--strip-metadata` is used), `Docs.meta()` has the side effect of creating a new IdDict and initializing the Docs.META field of the target module. We need to avoid eval'ing into modules after they've been closed, so for methods that do not mutate the new IdDict we should avoid the init. Resolves #48390. Co-authored-by: Steve Kelly <kd2cca@gmail.com> (cherry picked from commit 798b589f09fe6da103e753bdf36c94b691c88d46) 05 February 2023, 10:53:09 UTC
08aa3f0 bump Pkg to latest v1.9 05 February 2023, 10:52:14 UTC
2440091 Merge pull request #48485 from topolarity/noalias Backport: Add `!noalias` and `!alias.scope` metadata 02 February 2023, 15:33:03 UTC
d04d36f Derive `!noalias` from `!tbaa` for most loads/stores This is an interim solution that derives the correct `!noalias` region from the existing TBAA information. Later we will want to: - Revise the TBAA hierarchy to remove region information - Delete `jl_aliasinfo_t::fromTBAA()` - Update `jl_cgval_t` to store a `jl_aliasinfo_t` 01 February 2023, 14:31:16 UTC
0f0d425 Add !noalias and !alias.scope metadata The main idea here is that the TBAA domain is ill-equipped for reasoning about regions (and, in particular, suffers total precision less when merging disparate types in a `memcpy`). Instead, `!noalias` should be used for region-based memory information and `!tbaa` should be used exclusively for layout. We use (5) regions corresponding to the top level of the TBAA tree: - gcframe - stack - data - constant - type_metadata For now, this leaves the TBAA hierarchy in tact and only adds additional `!noalias` metadata. `!tbaa` annotations should be the same as before. 01 February 2023, 14:00:44 UTC
f5a6860 bump Pkg to latest v1.9 01 February 2023, 10:27:12 UTC
e80db09 Load special libraries in-order The `DEPS_LIBS` RPATH-substitute mechanism contains a list of paths to load, and some of these paths are "special", in that they require more involved loading than simply `load_library()`. These libraries are thereby denoted by a `@` prefixing them. Previously, we made note of these libraries, then loaded them at the end of the loading loop, but with the addition of `libstdc++` it is now important to have the order of the libraries (including special libraries) to be obeyed by the loading loop, so I have inlined special library handling into the loading loop. In the future, we may wish to denote special libraries more explicitly than simply relying on there being exactly three libraries, with the ordering being mapped to `libstdc++`, `libjulia-internal`, and `libjulia-codegen`. (cherry picked from commit 4e99860f76e48c58a259ea4da395c89d2a4182eb) 01 February 2023, 10:00:41 UTC
085d4a4 Move `libstdc++` path into `LOADER_*_DEP_LIBS` After adding `libstdc++` probing into the Julia loader [0], we originally made the assumption that the `libstdc++` that is shipped with `julia` would always be co-located with `libjulia.so` [1]. This is not the case when building with `USE_SYSTEM_CSL=1`, however, where we sequester system libraries in `usr/lib/julia`, even at build-time. The path to `libstdc++.so` has already been getting altered when moving from build-time to install time via `stringreplace` [2], but after further thought, I decided that it would be better to just use the pre-existing `LOADER_*_DEP_LIBS` mechanism to communicate to the loader what the correct relative path to `libstdc++.so` is. This also allows the single `stringreplace` to update all of our "special" library paths. [0] https://github.com/JuliaLang/julia/pull/46976 [1] https://github.com/JuliaLang/julia/pull/46976/files#diff-8c5c98f26f3f7aac8905a1074c5bec11a57e9b9c7c556791deac5a3b27cc096fR379 [2] https://github.com/JuliaLang/julia/blob/master/Makefile#L430 (cherry picked from commit fb97c8287f0bdaef5b9345dcd4dac6e2201fd09b) 01 February 2023, 10:00:33 UTC
017365c Fix `apply_type_tfunc` for `Union{T::TypeVar}` The type parameters to `Union` may be `Type`s or `TypeVar`s, but `apply_type_tfunc` failed to recognize the latter as valid in the single-argument case. (cherry picked from commit fd79b589236efab502a11c87a69b7ec13d9c73aa) 01 February 2023, 09:54:25 UTC
fcd3ca8 Merge pull request #47676 from gbaraldi/gmp-libblas-version Use versioned libblastrampoline and GMP (cherry picked from commit 335cd5ea2d00f8561daf23ca0f95da9ff4e84caf) 01 February 2023, 09:40:25 UTC
de89a2c prevent heap snapshot test to write to julia dir (#48458) Co-authored-by: Ian <i.r.butterworth@gmail.com> (cherry picked from commit 94c4fb5e8221a9382a461f0206354445af040598) 01 February 2023, 09:18:39 UTC
775c97f Sorting documentation fixups for 1.9 (#48440) - Fix typos - Clarify that ! means mutation, not "in-place-ness". This should be backported because sort! is even less in place in 1.9 than it already was in 1.8. - Rewrite the section on default policy to reflect the new default policy - Move examples and extended description of previously default sorting algorithms out of sort.md and into their respective docstrings (still rendered in sort.md) Co-authored-by: Jeremie Knuesel <knuesel@gmail.com> (cherry picked from commit a1c4d855bc133758ef65102f32bdeff22fb6d0af) 01 February 2023, 09:18:38 UTC
186f5a5 avoid hang when only threads are starting IO (#48433) When not in threaded region, only thread 0 will manage IO events, but it may have gone to sleep if there were no IO objects active for it to watch earlier. Fix #48430 (cherry picked from commit 45b7e7ab2b6ec90dfa4b4f156c5c5d77ebe28b8b) 01 February 2023, 09:18:37 UTC
90c9839 Store the frontend task object in the REPL struct. (#48400) (cherry picked from commit 87f8958a218215df0aaffab59736c30eb6f51d2e) 01 February 2023, 09:18:36 UTC
0a1da69 add docs for try-catch-else (#48414) ref #46928 Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> (cherry picked from commit d77575063d7ecb5e79ee6fc9f3b73242f8282853) 01 February 2023, 09:18:35 UTC
9a8599a add docs for `getglobal` and `setglobal!` (#48409) closes #45480 Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> (cherry picked from commit 0231c224a1ff25aba975a182b465e06de10f72e5) 01 February 2023, 09:18:33 UTC
86fc8b6 inlining: make union splitting account for uncovered call (#48455) JuliaLang/julia#44421 changed the union-splitting to skip generating unnecessary fallback dynamic dispatch call when there is any fully covered call. But it turned out that this is only valid when there is any fully covered call in matches for all signatures that inference split, and it is invalid if there is any union split signature against which any uncovered call is found. Consider the following example: # case 1 # def nosplit(::Any) = [...] nosplit(::Int) = [...] # call nosplit(a::Any) split1: a::Any ┬ nosplit(a::Int) └ nosplit(a::Any) # fully covers split1 # case 2 # def convert(::Type{T}, ::T) = T # call convert(::Type{Union{Bool,Tuple{Int,String}}}, a::Union{Bool,Tuple{Int,Any}}) split1: a::Bool ─ convert(::Type{Bool}, ::Bool) # fully covers split1 split2: a::Tuple{Int,Any} ─ convert(::Type{Tuple{Int,String}}, ::Tuple{Int,String}) # NOT fully covers split2 JuliaLang/julia#44421 allows us to optimize the the first case, but handles the second case wrongly. This commit fixes it up while still optimizing the first case. fix #48397. 30 January 2023, 15:31:09 UTC
9a67956 set max_methods = 1 for REPL methods (#48330) * set max_methods = 1 for REPL methods (cherry picked from commit f8493c718d28bdbdbc132773c6ef4b4850591add) 23 January 2023, 12:45:10 UTC
d3fbdf1 make `dlopen`ing `libssp` non fatal (#48333) (cherry picked from commit 29498798ebda5d37bc8f5300a3d0eeaa5ee0a44c) 23 January 2023, 12:45:10 UTC
60dfe2c allow extensions to be loaded from non top level env (#48352) (cherry picked from commit 4cab76ce52850f67c8f89a95a8c55c463c933ea3) 23 January 2023, 12:45:08 UTC
7114a8e add a type assert to `read` on a `Cmd` (#48334) (cherry picked from commit 1bff32b2f8d2d3972cb992ffc79850b4eac78304) 23 January 2023, 12:45:07 UTC
dbe520d fix an erronous type assert (#48327) (cherry picked from commit c4cf1e69de6907e6e56382df02f2ce9bcf9e7c19) 23 January 2023, 12:45:07 UTC
957c93f improve docs for IPython mode (#48314) (cherry picked from commit a6694d4edf7c331e7c4f8e7a20421ced272e26b5) 23 January 2023, 12:45:05 UTC
f8b78eb deps: fix broken `p7zip` url (#48176) (cherry picked from commit f6b5157eb5d0c490dff7ee2d0c284a8b04cd62d9) 23 January 2023, 12:45:05 UTC
986dc40 run doc/NEWS-update.jl 23 January 2023, 04:07:38 UTC
9ed1555 point to PR actually implementing changes (#48361) 22 January 2023, 07:59:54 UTC
914ec69 Fix Splat->splat in NEWS.md (#48350) 19 January 2023, 12:06:27 UTC
24204a7 set VERSION to 1.9.0-beta3 (#48310) 18 January 2023, 07:20:30 UTC
9c99454 fix some issues discovered by JET (#48303) 18 January 2023, 04:37:00 UTC
5da6d97 NFC followups for #48246 (#48264) 18 January 2023, 04:09:02 UTC
e640e7b Profile: print profile peek to stderr (#48291) (cherry picked from commit 36007b7816cd9c6d955cf8b9a5c87e123b3307af) 17 January 2023, 07:48:21 UTC
4dc9a10 Avoid dtrace regenerating the header (#48278) (cherry picked from commit a9ce60a8ceef96cc1d5ab36efbdd8954fa2c6471) 17 January 2023, 07:48:20 UTC
d9040a5 Fix mistake in docstring of `keys(::RegexMatch)` (#48252) This method was added in 1.7.0 and is not available in any 1.6 release (cherry picked from commit 12c3b1cb67ee8a40c5334a8a9ef26a5eef16093f) 17 January 2023, 07:48:20 UTC
e25433c Merge pull request #48075 from JuliaLang/backports-release-1.9 Backports for julia 1.9.0-beta3 17 January 2023, 07:39:37 UTC
05d3871 Fix small nits in multiversioning (#47675) (cherry picked from commit 4562cfae36499a656ccfecfceb59bd9348d46e93) 16 January 2023, 11:40:56 UTC
829c5bf Make DemoteFloat16 a conditional pass (#43327) * add TargetMachine check * Add initial float16 multiversioning stuff * make check more robust and remove x86 check * move check to inside the pass * C++ is hard * Comment out the ckeck because it won't work inside the pass * whitespace in the comment * Change the logic not to depend on a TM * Add preliminary support for x86 test * Cosmetic changes (cherry picked from commit d18fd479c4252c0fb21e22144bd209bd1b120fdb) 16 January 2023, 11:40:40 UTC
6694375 Rework :inbounds effects tainting (#48246) This works to fix #48243, by only tanting effects if an `@inbounds` statement is actually reached. Further, it refines the `noinbounds` effect to be IPO-cached and used to track whether a particular method read the inbounds state. A `:boundscheck` expression now does not immediately taint consistencty, but instead, taints `noinbounds` only. Then, if a method that has `:noinbounds` tainted is called within an `@inbounds` region, consistency is tainted. Similarly, a tainted `:noinbounds` disables constant propagation at `@inbounds` statements or if the method propagates inbounds. (cherry picked from commit d544e786fa732b8f578a74e5ee94928075866f20) 16 January 2023, 10:34:16 UTC
698aafe Make sure `reachable_var` not falls into infinite recusion. (#48135) (cherry picked from commit de73c26fbff61d07a38c9653525b530a56630831) 16 January 2023, 10:34:16 UTC
36d9822 Merge pull request #48029 from N5N3/inter-fix3 Avoid some stackoverflow during typeintersect. (cherry picked from commit a5ab48fd369488b1a7efe5b709fe28f9c5d6c761) 16 January 2023, 10:34:16 UTC
c168996 Make LLVM Profiling robust for multithreaded programs (#47778) * Use stringsteam to atomically write LLVM opt timings * Add boolean to ensure we don't _only_ write the after block * Use ios_printf Co-authored-by: Nathan Daly <NHDaly@gmail.com> (cherry picked from commit 8985403c0090b0f41bb0c4165ba1666e3611151e) 16 January 2023, 10:34:16 UTC
back to top