https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
9bdd930 Enable full task backtraces. 11 February 2022, 10:10:47 UTC
2ca8b0c Set VERSION to 1.7.3 prerelease (#44044) 07 February 2022, 18:56:46 UTC
bf53498 [deps] Update PCRE2 URL (#43884) (#44047) (cherry picked from commit 97690241591431731b1b385c52896158000735f1) Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> 06 February 2022, 15:21:33 UTC
7ecbfa9 release-1.7: Set VERSION to 1.7.2 (#43967) 04 February 2022, 08:44:08 UTC
75c1e04 Merge pull request #43667 from JuliaLang/backports-release-1.7 release-1.7: Backports for 1.7.2 28 January 2022, 13:07:32 UTC
5e045a1 [LateLowerGC] Change undef FCA into zeroinit (#43867) (cherry picked from commit 88b1f9237a65aaee315824d408e9feb83151c2d2) 20 January 2022, 11:54:59 UTC
3582fd7 macOS: extend the workaround to cover the dyld/exc_server deadlock issue, since 12.1 Later, we should probably switch to using mach_exc_server generated from `mig mach_exc.defs`. (cherry picked from commit 267b124f1f1f1558a7619a527e11a786a99f01d4) 20 January 2022, 11:54:06 UTC
d52235f macOS: workaround a dyld/libunwind deadlock issue since 12.1 Apple reintroduced the old bug that we previously worked around in fad04d39d592d8e0fcbfba439e8157f582bbc850 with a similar patch to this. This is needed anywhere that we may attempt to stop threads. Fixes #43578 (cherry picked from commit 2939272af2ef3fe9d8921f7ed0a6500e31a550c9) 20 January 2022, 11:52:51 UTC
f5d02a1 Use `GlobalRef` of `Core.CodeInfo` in `@generated` (#43823) Co-authored-by: Simeon Schaub <schaub@mit.edu> (cherry picked from commit 85365223548bd07a35755cd341602cb6d17f02da) 20 January 2022, 11:48:59 UTC
9e5ad01 Fix #43004 by commenting out broken throw tests (#43739) (cherry picked from commit 89f23325aaed87105f7a65816e3e7a34a1c2b6ef) 20 January 2022, 11:44:47 UTC
65a11e1 run a temp cleanup after the precompilation step (#43761) Fixes #43702 (cherry picked from commit 9d05e7bf29fca5a181afec51b071c3967449fc3a) 20 January 2022, 11:44:46 UTC
fea2e84 Spell out ~0L literal (#43579) To avoid the compiler potentially picking the wrong size depending on standards versions. (cherry picked from commit e8d116735cfa2e110ead8fe0d31d612261cd0bc1) 20 January 2022, 11:44:45 UTC
f476e1d late-gc-lowering: Prevent infinite recursion (#42445) Phi nodes are allowed to recursively depend on themselves, so we need to keep track of which ones we have seen to avoid an infinite recursion here. Apparently this doesn't usually come up, but I did see if with tsan enabled. (cherry picked from commit a9a1d80076f98b1e31197c22924acf24bf5da760) 11 January 2022, 06:59:53 UTC
cecf27a fix #25678: return matters for generated functions (#40778) Just explicitely check for `CodeInfo` objects and use an explicit `return` in this case inside the `@generated` macro. Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> (cherry picked from commit 92c84bf3865403355af463b5a1dee42bf7143592) 10 January 2022, 09:34:56 UTC
4280bc4 Fix (add|set)env to keep currently set dir for the command, fixes #42131. (#43276) (cherry picked from commit f53de735d8524304e0e4eb973d82432189135c83) 10 January 2022, 09:12:57 UTC
6043be5 Fix sparse array `setindex(::Int, ::Vector)` (#43678) (cherry picked from commit dc61f29c2775c9f8037a5a4dd03b4088c676e1bd) 10 January 2022, 09:09:24 UTC
aca122f add const keyword to broadcasted AndAnd (#43483) Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> (cherry picked from commit 4409c822fee172d3e7813ee8429e25cd066f7c38) 10 January 2022, 09:07:29 UTC
e528136 Fix Base.StackTraces.lookup(C_NULL - 1) on macOS 12 (#43612) See comment in diff for explanation. This fixes test/stacktraces.jl on aarch64 macOS 12, and according to an OpenJDK issue where they ran into the same problem, https://git.openjdk.java.net/jdk/pull/6193, probably also x86_64 macOS 12. (cherry picked from commit 7f27dea18b1cd8b35995e9fd527d8892ae89d2d9) 10 January 2022, 08:56:41 UTC
c7110e0 Resolve instability from `reducedim_init` (#43467) (cherry picked from commit 4b83a640b5e258c770534e5d66a6fae0d10b23a9) 10 January 2022, 08:56:40 UTC
aa342bc Lift expensive Regex construction from DateFormat method body. Constructing the Regex touched in this commit can represent a significant fraction (e.g. half or better) of the runtime of the DateFormat method touched in this commit. To make this DateFormat method more efficient, let's lift that Regex construction out of that method body. (cherry picked from commit 7fb5bb8a9a4f05bfcad6a47370ce3507d632f9f6) 10 January 2022, 08:56:39 UTC
2c65083 fix atomic `getfield` with boundcheck on interpreter (#43602) (cherry picked from commit 368a8f3b9bc5a3e95eea01969182c4047290e8a5) 10 January 2022, 08:56:39 UTC
04f6a38 Do not fail if fastpath for TLS can't be found Prevents loading of `libjulia-codegen` into `opt`. Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 0402dfa50c6024140f723a96af27d49b8a31c8ed) 07 January 2022, 16:16:57 UTC
85fc5c9 Use a valid atomic ordering in docstring (#43643) (cherry picked from commit 26b57361fe0231f71ce6df4e318f24b5d21d07ec) 05 January 2022, 15:15:25 UTC
04d16b2 move enabling fast TLS from `jl_load_repl` to `jl_load_libjulia_internal` (#43655) (cherry picked from commit f397b8bfd0e972efe38e4cdbad096951f6ed6f68) 05 January 2022, 15:15:24 UTC
3b7e9f0 Missing package add prompt: Restrict which exprs to search in (#43457) (cherry picked from commit 8f192bdc0300628f57100f501b08d2c71540c015) 05 January 2022, 15:15:23 UTC
f4a0c7c Change `shm_open()` calling ABI on aarch64 Darwin (#43516) Beacuse `shm_open()` is a variadic function, if we don't declare it as such, the kernel receives trash as the `permissions` value, which occasionally results in errors when creating shared memory segments. This did not happen on `x86_64` because the calling convention doesn't change so much between variadic and non-vadiadic functions. (cherry picked from commit ffed6b8628ea8e5d50da1a0a29f2b99b0c9b7c81) 05 January 2022, 15:15:23 UTC
118d245 `Base.runtests`: unset `JULIA_PROJECT` and `JULIA_LOAD_PATH` (#43575) (cherry picked from commit f61eb87cd82f573f008d011c95be7d6fd8c68584) 05 January 2022, 15:15:22 UTC
6619d65 win32: Fix SEH frame sentinel (#43570) The last entry sentinel for Win64 SEH is `~0L` not NULL. Apparently this doesn't cause issues on windows proper, but does crash wine. Arguably if Windows doesn't have issues then we should just fix this in wine, but since we control the source and nobody else ever seems to have run into this, let's just fix it and save the good Wine folks some headache. Fixes #43569. (cherry picked from commit 722f9d4958948f16cd3628be9eb5b7b5128de104) 05 January 2022, 15:15:22 UTC
e13f8bf `Base.runtests`: set a temporary Pkg depot path (#42358) (cherry picked from commit 2c9e051c460dd9700e6814c8e49cc1f119ed8b41) 05 January 2022, 15:15:18 UTC
d82a907 fix `current_exceptions` docstring and annotate arguments (#41897) (cherry picked from commit 398d1a0dbc9107822a77eabfe1e1e4b094f10d39) 05 January 2022, 15:15:17 UTC
3f024fd Set VERSION to 1.7.2 prerelease (#43528) 23 December 2021, 18:27:50 UTC
ac5cc99 release-1.7: set VERSION to 1.7.1 (#43480) 22 December 2021, 19:35:16 UTC
631bf17 Merge pull request #43297 from JuliaLang/backports-release-1.7 release-1.7: Backports for 1.7.1 15 December 2021, 12:39:06 UTC
7599df4 add direct return of v_local (cherry picked from commit 4b97df7647b40a16cf85466d8d0afa090ef1b38a) 11 December 2021, 19:32:51 UTC
2fa46e6 [Distributed] Worker local race condition between put! and fetch for Futures (#42339) * add local_lock to Future, use it in fetch and put! * add corrections to the remote/clientref logic * add memory ordering guarantees * serialize a (unlocked) copy of the future to avoid problems with the lock Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Takafumi Arakaki <aka.tkf@gmail.com> (cherry picked from commit 728cba3f35b4f3c7871e2f506e279aa36cc7fe87) 11 December 2021, 19:27:21 UTC
0a921be Look for package name in `[extras]` for Preferences (#43361) * Look for package name in `[extras]` When Preferences.jl set's a preferences in a non-top-level package, it adds that package to the `[extras]` entries in the project path. Package loading should have used thhose entries to map the module uuid to the key name in the Preferences.toml Fixes https://github.com/JuliaPackaging/Preferences.jl/issues/24 Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit 8197c418e1d806f5faf1fd900c78068ea8046e1d) 11 December 2021, 07:12:44 UTC
b54efed bump to latest Pkg release-1.7 11 December 2021, 07:12:44 UTC
5839d18 Fix mutex unlock during signal handling. (#43381) 11 December 2021, 07:12:44 UTC
15f09d1 doc: manually URL encode single quote in URL to fix pdf build, fixes #43317. (#43359) (cherry picked from commit 2e9bbda5bd5bd6c04d019aa565ea60efab7c10d4) 11 December 2021, 07:12:44 UTC
3e2d610 avoid un-necessary reconfigure step on deps/gmp (#43298) (cherry picked from commit b6d31a16f76fe4cb15bd7d56ffcba6ee0355a67d) 11 December 2021, 07:12:44 UTC
a65e6c9 Update Documenter to 0.27.10. (#43264) (cherry picked from commit 44865678f48eee18b256c37cf2b9bb86ceae2ef3) 11 December 2021, 07:12:44 UTC
2a731a5 datatype: finish layout corrections (#43306) We still had some discrepancies between what the code thought could be computed for a layout, and what we actually could compute layout for. This hopefully makes those two computations now always give the same answers (with the assistance of the layout cache). Fixes #43303 (cherry picked from commit 30fe8cc2c19927cf4b4a5fe1ba1cbf4c2b7b7d84) 11 December 2021, 07:12:44 UTC
62dfc0f [OpenBLAS_jll] Update to `v0.3.13+11` (#43300) This version has been rebuilt to have 32 threads by default, instead of 512 as it accidentally happened before. The large number of threads caused problems on some platforms, including `StackOverflowError`s. Fix #43008. 02 December 2021, 18:35:12 UTC
6bd952c Test: Fix indenting on verbose no-failure report (#43251) (cherry picked from commit 6bea8e3d51ab9f02c2220a84b7c291c477904aa6) 02 December 2021, 13:00:52 UTC
5d9b496 Fix shell syntax in version_git.sh and remove warning. (#43196) (cherry picked from commit 99f655894b004f2b58a49d23439fa10aa71551d2) 02 December 2021, 13:00:51 UTC
3bf9d17 release-1.7: set VERSION to 1.7.0 (#43243) 30 November 2021, 12:12:53 UTC
213bf5f Merge pull request #43084 from JuliaLang/backports-release-1.7 release-1.7: Backports for 1.7.0/1.7.0-rc4 27 November 2021, 07:40:22 UTC
7f29663 Backport: Fix stack pointer retrieval in jl_backtrace_from_here (#42585) (#43241) * Fix stack pointer retrieval in jl_backtrace_from_here (#42585) Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 455236eb7f95901f1c68d3c1cd17928e6c7f6fce) * Avoid using call-site `@noinline` 26 November 2021, 21:29:54 UTC
fe216ae Better handling for Union-type fields, particularly of singletons (#43163) fix #43123 (cherry picked from commit d44a53425ba9cb320408e71206d600513dd2ac9e) 26 November 2021, 20:22:14 UTC
6b1637b Fix inference with const opaque closure (#42725) 26 November 2021, 20:22:14 UTC
0848394 Make argument mismatch in opaque closure a MethodError (#41206) This at least shows the argument types. In the future we may want to add some logic to the errorshow code to improve this even further, but good enough for now. 26 November 2021, 20:22:14 UTC
9bee745 IRShow: use `IOContext` for `PhiNodes`/`:invoke` printing (#43226) In order to allow `Argument`s to be printed nicely. > before ```julia julia> code_typed((Float64,)) do x sin(x) end 1-element Vector{Any}: CodeInfo( 1 ─ %1 = invoke Main.sin(_2::Float64)::Float64 └── return %1 ) => Float64 julia> code_typed((Bool,Any,Any)) do c, x, y z = c ? x : y z end 1-element Vector{Any}: CodeInfo( 1 ─ goto #3 if not c 2 ─ goto #4 3 ─ nothing::Nothing 4 ┄ %4 = φ (#2 => _3, #3 => _4)::Any └── return %4 ) => Any ``` > after ```julia julia> code_typed((Float64,)) do x sin(x) end 1-element Vector{Any}: CodeInfo( 1 ─ %1 = invoke Main.sin(x::Float64)::Float64 └── return %1 ) => Float64 julia> code_typed((Bool,Any,Any)) do c, x, y z = c ? x : y z end 1-element Vector{Any}: CodeInfo( 1 ─ goto #3 if not c 2 ─ goto #4 3 ─ nothing::Nothing 4 ┄ %4 = φ (#2 => x, #3 => y)::Any └── return %4 ) => Any ``` 26 November 2021, 20:22:14 UTC
bf8d60b `@testset`: with Xoshiro, restore Random.GLOBAL_SEED (#43188) A `@testset` is supposed to restore the "global RNG state" as it was before execution (so that they can be re-ordered easily, etc.) Also, before a testset starts, the default RNG is re-seeded with the "global seed" (to help reproduce test failures). Before `Xoshiro` as the default RNG, the "global seed" was stored within a `MersenneTwister` object. It was enough for a testset to copy the default RNG at the start, and copy it back at the end. But now the global seed is stored outside of the RNG, so it should also be restored separately. (cherry picked from commit 08ea2d8f27c312fd9ce15cd2d7639bdde51a233c) 26 November 2021, 20:22:14 UTC
72d6569 Fix links to external stdlib repos in docs, fixes #43199. (#43225) (cherry picked from commit 3103102d227e6b5c48eef40710ef1cc891ed0a78) 26 November 2021, 20:22:14 UTC
06516f6 `Base.GIT_VERSION_INFO`: record the Buildkite commit that was used to build Julia (#43073) (cherry picked from commit a21cc80abb67cb2111ef586aceba47e49dfd4203) 26 November 2021, 20:22:14 UTC
348a6fb `Base.runtests`: rename the `--force-net` option to `--ci` (#43168) Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> (cherry picked from commit e9430c93962ef9756fe1d3ffc4d979d16682df84) 26 November 2021, 20:22:14 UTC
bbb2233 Make stale_cachefile compatible with Nix mtime (#43090) The added condition improves compatiblity with Nix mtime. (cherry picked from commit f5e0f9d00e4fad38407a3cddac83e83175b5b908) 26 November 2021, 20:22:14 UTC
3f81baa libuv: bump version Includes several fixes: https://github.com/JuliaLang/libuv/compare/c6869fba163a1e04af64ede438a8fd0191e75e9e...3a63bf71de62c64097989254e4f03212e3bf5fc8 (cherry picked from commit 04d486b79ca645bf6a0dfbd8170242c4c6669929) 26 November 2021, 20:22:14 UTC
501c9ac bump to latest Pkg release-1.7 26 November 2021, 20:22:14 UTC
08002ba Updated checksums for LBT (#42334) (cherry picked from commit f60736fc5ce65147bad9d0a6f3664f908543a763) 26 November 2021, 20:22:14 UTC
14132d7 Fix regression in `map` and `collect` (#43120) `promote_typejoin_tuple` returned a type which was more precise than the one which `map` and `collect` actually use via `promote_type`, triggering an assertion error in corner cases. (cherry picked from commit edea1de3d5174f7ca317e88230cbccfcc01def4d) 26 November 2021, 20:22:14 UTC
73cfbdf Document that cfunctions should not throw errors (#43100) * Document that cfunctions should not throw errors This was not documented, see https://discourse.julialang.org/t/what-happens-when-you-throw-an-error-from-a-cfunction/71510?u=simonbyrne * Update doc/src/manual/calling-c-and-fortran-code.md Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 0722f3c5c39fb7f213196807c9659d5c819dee32) 26 November 2021, 12:48:17 UTC
ca091f4 Fix world age issue with custom streams for Distributed workers (#42481) If connect(::CustomClusterManager, ...) returns a custom transport stream, use of that stream by the task in start_gc_msgs_task() may fail due to the task executing in an old world age. Add an invokelatest() to prevent this problem. (cherry picked from commit a05bcb2436b1600b89f267683c7c7a840e906e14) 26 November 2021, 12:48:17 UTC
eae365c Unbreak source distribution tarball construction. (#43096) Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit d958c8c23af18c7cbafc08f655cc7244ec14f6d6) 26 November 2021, 12:48:17 UTC
fa51d23 fix atomic fences (#43093) Previously, we were disallowing the opposite of the orders that we intended to disallow. (cherry picked from commit 28c49cea5b5898aa5713776a1d68e1e29fc38f14) 26 November 2021, 12:48:07 UTC
5dba096 backport fix float16(::Union{Float64,BigFloat}) (#43092) 16 November 2021, 11:15:15 UTC
ee261dc Make profiling more robust with many tasks (#42978) This patch includes two sets of changes. (1) `jl_thread_suspend_and_get_state` uses `pthread_cond_timedwait` to recover from the case where the request is not received by the signal handler. This is required because `usr2_handler` contains some paths for the case where it is not possible to obtain `ptls`. (2) `ctx_switch` now makes sure to null out `ptls` of the last task (`lastt->ptls = NULL`) after changing the current task by updating pgcstack (`jl_set_pgcstack(&t->gcstack)`). This closes the gap in which `usr2_handler` can observe the null `ptls`. Co-authored-by: Jameson Nash <vtjnash@gmail.com> (cherry picked from commit 81315807a5bb0c581d85d4fbaa4f09cf5dccfca4) 15 November 2021, 09:50:55 UTC
07d6734 Stop stripping git, github, and CI config files from source distributions. (cherry picked from commit 780ebea4ea21932509f824650a79e63c398d2614) 15 November 2021, 09:50:54 UTC
ae4035a Symlink 7z when USE_SYSTEM_P7ZIP (#43005) * Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit 5e2894ba97d69a08f15365d4e38f2d3cdacc0c2c) 15 November 2021, 09:50:53 UTC
976a79e codegen: add missing initialization for PhiC nodes (#43029) Our Phi handling assumes that it can references undefined memory, and get back legal results, but our PhiC nodes were not initialized, so the Phi node might see uninitialized results, and then cause the GC to crash. This was observed in PkgEval on the PoreMatMod.jl package to occur in recent Julia versions and master. (cherry picked from commit ec3ec0206d9d2bdf87b6427e70a968e63b8bef2c) 15 November 2021, 09:50:53 UTC
5adcb4b ranges: fix empty length for smallints (#43042) Fixes #29801 (cherry picked from commit b71330de9847e46ea7033a8267c5a56025ffefdb) 15 November 2021, 09:50:52 UTC
3348de4 release-1.7: set VERSION to 1.7-rc3 (#43070) 15 November 2021, 08:22:49 UTC
dc2f781 Merge pull request #42765 from JuliaLang/backports-release-1.7 release-1.7: Backports for 1.7.0/1.7.0-rc3 13 November 2021, 17:37:34 UTC
5da2e44 Print symbols in `Tuple{:sym}` type with colons (#42999) Use `show` instead of `print` or `join`. (cherry picked from commit 6fbfc4f1b7e0b6b215a26907304a89d83d23a746) 13 November 2021, 13:00:42 UTC
9132a40 disallow unbalanced bidirectional formatting in strings and comments (#42918) (cherry picked from commit 2cfebad7a9e6cf48d036c7a4893c845431707834) 13 November 2021, 13:00:29 UTC
8597a4b Allow system versions of libwhich and libblastrampoline (#43000) (cherry picked from commit ee4bcab59290daf7d3e93db75af19625feffbdc2) 10 November 2021, 10:26:47 UTC
9e11179 CI (Buildkite): use a `TMPDIR` that is backed by real storage (#42995) (cherry picked from commit f317d576bf186e58abf69033a0d7f092179b879d) 10 November 2021, 10:21:58 UTC
40dca0f `file` tests: in the `"tempname with parent"` test, temporarily unset the `TMPDIR` environment variable while running the test (#43012) (cherry picked from commit ac2ee4dca3b528895f041c30b809026c904ba5f2) 10 November 2021, 10:21:57 UTC
7617229 Add missing type parameter to TakeWhile (#42958) Without this `TakeWhile` has `eltype` of `Any` (cherry picked from commit ab0c6dd56752c1860fa8d97471f0eafaac671a85) 10 November 2021, 10:21:57 UTC
82af540 Add missing USE_SYSTEM_LIBWHICH initialization (#43014) (cherry picked from commit f458b07613357fbdf7b8deae79b78924659fe830) 10 November 2021, 10:21:56 UTC
4c2229a Timer: handle timeout correctly (#42854) I am not sure why we ever used round+1 instead of ceil+1, as this is simply strictly more correct. (cherry picked from commit d6f59fa1826eb2db1ac1980af71cb6fcc4c7a978) 10 November 2021, 10:21:56 UTC
118344d Fix segfault while profiling task switching (#42973) (cherry picked from commit 12b9bec0399215e64074dbb7670d519fefa9023a) 10 November 2021, 10:21:55 UTC
52f36b8 CI (Buildkite): increase the timeout of the code coverage job (#42994) (cherry picked from commit d39b2c0d147d4fdf09b66f63c23027ed9f10a7d1) 10 November 2021, 10:21:54 UTC
15e822c bump to latest Pkg release-1.7 10 November 2021, 09:54:16 UTC
1dca956 choosetests: move testnames array at top-level (#40182) This allows scripts loading this file to know the list of tests. (cherry picked from commit 82784feebe0c0332281d653c9e0e56e9c8701dd0) 09 November 2021, 09:30:23 UTC
41f4756 choosetests: return a namedtuple (instead of a tuple) (#42723) to make it easier to add more information in the future (cherry picked from commit 9e3cfc06edde6b99d7716063139db7e810e5277c) 09 November 2021, 08:44:57 UTC
3479d89 Running `make testall` should run all of the tests (#42904) (cherry picked from commit 36304bacc739bae2aa6c8cba915edd3b3c4b2b4f) 09 November 2021, 08:44:29 UTC
1679ea1 `choosetests`: add the `--force-net` option, which will throw an error if networking is unavailable (#42889) (cherry picked from commit 31b9fd2d5960d1e24348235bb2a8d36e6d194612) 09 November 2021, 08:44:29 UTC
87000f3 tests: add help and reflection abilities to choosetests option parser (#42462) (cherry picked from commit 091594ea8ed0fb4ace31dc1b54ada9e912faa149) 09 November 2021, 08:44:29 UTC
e8caa27 inference: relax type_more_complex for Type If the object is not a potential Type{...}, we can allow greater flexibility in recursion. (cherry picked from commit 1daaf473d1c268ce8b54f47bd7b30c2f74d66b99) 08 November 2021, 09:17:51 UTC
643fef7 inference: eliminate more potential `widenconst(::TypeofVararg)` cases (#42971) Follows #42583. The missing case within `const_prop_function_heuristic` was originally reported from RerationalAI's test suite. I added the other two cases by some code review. (cherry picked from commit 71d57d9696502693c733dabd26d464391e9cfbff) 08 November 2021, 09:16:43 UTC
2a4d14f eliminate unbound `TypeVar`s on `argtypes` construction This commit eliminates unbound `TypeVar`s from `argtypes` in order to make the analysis much easier down the road. At runtime, only `Type{...}::DataType` can contain invalid type parameters, but we may have arbitrary malformed user-constructed type arguments given at inference entries. So we will replace only the malformed `Type{...}::DataType` with `Type` and simply replace other possibilities with `Any`. The replacement might not be that accurate, but an unbound `TypeVar` is really invalid in anyway. Like the change added on `arrayref_tfunc`, now we may be able to remove some `isa(x, TypeVar)`/`has_free_typevars` predicates used in various places, but it is left as an exercise for the reader. (cherry picked from commit 36cc1c197b0194c69b79bec4b3146ccb368dbd41) 08 November 2021, 09:15:10 UTC
bbe91db inference: improve `TypeVar`/`Vararg` handling During working on the incoming lattice overhaul, I found it's quite confusing that `TypeVar` and `Vararg` can appear in the same context as valid `Type` objects as well as extended lattice elements. Since it usually needs special cases to operate on `TypeVar` and `Vararg` (e.g. they can not be used in subtyping as an obvious example), I believe it would be great avoid bugs and catch logic errors in the future development if we separate contexts where they can appear from ones where `Type` objects and extended lattice elements are expected. So this commit: - tries to separate their context, e.g. now `TypeVar` and `Vararg` should not be used in `_limit_type_size`, which is supposed to return `Type`, but they should be handled its helper function `__limit_type_size` - makes sure `tfunc`s don't return `TypeVar`s and `TypeVar` never spills into the abstract state - makes sure `widenconst` are not called on `TypeVar` and `Vararg`, and now `widenconst` is ensured to return `Type` always - and does other general refactors (cherry picked from commit d60f92cd3a92cd12cae55893e55e6d9e14b0052e) 08 November 2021, 09:15:05 UTC
9723f82 Keep expected crash in misc test from producing a core dump (#42990) Currently the test in `test/misc.jl` that tests that a particular kind of read fault crashes has two issues: 1. It works for the wrong reason. It's testing for `!success` when evaluating code interpolated directly into the `Cmd`, but it isn't quoting the code, so the subprocess fails with a syntax error instead of the type of crash the test is expecting. 2. On some platforms (such as our good ol' pal FreeBSD), this kind of read fault produces a core dump. This a bit annoying because it means that the repo state becomes dirty after running the tests and it may overwrite an existing core dump that was left behind by an earlier issue we'd like to diagnose. To fix these, we can wrap the code passed to the subprocess in single quotes and on Unix-like systems wrap the subprocess in `ulimit -c 0` to avoid producing a core dump. (cherry picked from commit fa6dcb0e61166e6af2dcf4b78ef922d3f191c2fb) 08 November 2021, 08:45:20 UTC
ee25032 Fix libunwind segfaults from JIT frames on FreeBSD (#42970) This adds libunwind PR 308 as a patch and updates LibUnwind_jll to use a version with that patch included. (cherry picked from commit 96a99c268a96ee61f6ff8fe4c2d53208f0cb042a) 07 November 2021, 19:27:02 UTC
d74571f Remove some other uses of the unauthenticated `git://` protocol in Git URLs (#42907) (cherry picked from commit e03ead07e9ce8fdae09dbbc45e891aa93ab03ee5) 07 November 2021, 19:14:33 UTC
f5954c1 External stdlibs: Move `*_URL` stdlib definitions into `.version` files Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit dfcd63f14be030fca7a5fe071cb97bdd8bb91cd0) 07 November 2021, 19:09:50 UTC
bf1f998 Partially revert #42919 (#42969) * Partially revert #42919 The change to RPATH setting for macOS seems to have improved the situation for users on Monterey, but the other changes in #42919 that affect other platforms seem to have caused regressions on musl Linux (#42940) and FreeBSD (#42944). The easiest thing to do here is to keep the changes from #42919 as they apply to macOS but revert the others. * Un-revert the `RPATH_LIB` definition (cherry picked from commit 653cad3a276ec699ea8cac36fd84717d2a61826b) 07 November 2021, 19:00:44 UTC
f8ae06f Cleanup `RPATH` settings (#42919) Previously, we needed to provide both `usr/lib` and `usr/lib/julia` as elements on the `RPATH`, because `libjulia` lived in `usr/lib`, and needed to be able to find dependent libraries both within a build tree (when most libraries live in `usr/lib`) and within an install tree (when most libraries live in `usr/lib/julia`). Nowadays, everything is either in `usr/lib` or in `usr/lib/julia` with the exception of `libjulia`, but since it's really `libjulia-internal` that does all the `dlopen()`'ing, we can simply use `$$ORIGIN` (or the equivalent `@loader_path/` on macOS) and completely ignore the rest of the RPATH shenanigans we do. (cherry picked from commit 236523ffc2b0493e8e519a721ec030b7c3a64f83) 07 November 2021, 19:00:31 UTC
242d851 CI (Buildkite): fix another bug in the once-daily scheduled Buildkite job (#42983) (cherry picked from commit 4304c51f961c39bb95b388fe3e6acd22917d5661) 07 November 2021, 18:44:17 UTC
back to top