668a674 | Keno Fischer | 28 December 2022, 23:07:06 UTC | RFC: Less aggressive recursion limiting Our recusion heuristic works by detection recursion of edges of methods (N.B.: Methods, not specializations). This works reasonably well, but there are some pathological cases that defeat it. One common one is to have a wrapper function that calls an internal function, e.g. ``` mymap(f, x) = _mymap(f, x) ``` If a higher order function is written with such a pattern, it is quite easy to run into the recursion limit even in legitimate cases. For example, with the above definition, a fuction like: ``` f(x) = mymap(x) do t mymap(sin, t) end ``` will fail to get precise inference. There's various other patterns that cause similar issues, e.g. optional arguments and keyword arguments and is one of the more common causes of inference suboptimalities. This PR attempts to relax this criterion significantly. It is still based on methods, but considers the entire recursion path rather than just a single edge. So for example, in our current heuristic, we would limit: E -> A -> B -> C -> A -> B immediately, but with the proposed heuristic we would not limit it until we reach: E -> A -> B -> C -> A -> B -> C And in particular, we would not limit E -> A -> B -> C -> A -> B -> D -> A -> B -> E even though the `A->B` edge repeats frequently. This is intentional to allow code that has a central dispatch function (e.g. Diffractor has code patterns like that). If this turns out to be not aggressive enough, we could consider imposing additional limitations on the intermediate edges, but I think this is worth a try. | 31 December 2022, 17:27:32 UTC |
4d206c9 | Jeremie Knuesel | 30 December 2022, 15:07:56 UTC | Fix typo in ComposedFunction docstring (#48044) | 30 December 2022, 15:07:56 UTC |
a8adb39 | Kristoffer Carlsson | 29 December 2022, 21:12:19 UTC | Merge pull request #47983 from petvana/pv/parallel-repl-statements-v2 Parallelize precompiles generation | 29 December 2022, 21:12:19 UTC |
0c28433 | Ian Butterworth | 29 December 2022, 20:07:13 UTC | Merge branch 'master' into pv/parallel-repl-statements-v2 | 29 December 2022, 20:07:13 UTC |
6740224 | Keno Fischer | 29 December 2022, 18:13:15 UTC | 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. | 29 December 2022, 18:13:15 UTC |
a1ee9af | Ian Butterworth | 29 December 2022, 17:27:58 UTC | don't report skipped comments as failures (and only show failed when > 0) | 29 December 2022, 17:33:46 UTC |
8c5e490 | Petr Vana | 29 December 2022, 15:30:27 UTC | Remove redundant chatch | 29 December 2022, 15:30:27 UTC |
f1ec0cd | Petr Vana | 29 December 2022, 15:08:33 UTC | Use try-catch not to loose cursor | 29 December 2022, 15:08:33 UTC |
338b562 | Petr Vana | 29 December 2022, 14:10:35 UTC | White spinner + disable cursor | 29 December 2022, 14:10:35 UTC |
86ae9e9 | Petr Vana | 29 December 2022, 13:50:54 UTC | Fix to stdout | 29 December 2022, 13:50:54 UTC |
f0daa0d | Petr Vana | 29 December 2022, 13:39:13 UTC | Detect if stdout is TTY or CI | 29 December 2022, 13:39:13 UTC |
5c1b99a | Petr Vana | 29 December 2022, 12:41:49 UTC | Improve wording based on the review | 29 December 2022, 12:41:49 UTC |
c0f7635 | Petr Vana | 29 December 2022, 12:30:27 UTC | Fix spacing | 29 December 2022, 12:30:27 UTC |
5083d8e | Petr Vana | 29 December 2022, 12:22:42 UTC | Make clock spinning | 29 December 2022, 12:22:42 UTC |
f49f537 | Petr Vana | 29 December 2022, 12:08:52 UTC | Fancy printing | 29 December 2022, 12:08:52 UTC |
9ded051 | Keno Fischer | 29 December 2022, 10:05:45 UTC | Add remarks for more cases of failed method lookup (#48023) * Add remarks for more cases of failed method lookup * Update base/compiler/typeinfer.jl Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> | 29 December 2022, 10:05:45 UTC |
0f2665f | Mosè Giordano | 29 December 2022, 07:30:43 UTC | [CompilerSupportLibraries_jll] Add libssp for more platforms (#48027) | 29 December 2022, 07:30:43 UTC |
1fda4bb | pchintalapudi | 29 December 2022, 06:52:10 UTC | Don't double-count inference time (#48033) * Use the same timing reentrancy counter for both inference and codegen * Add some timing tests * Add macro-based timer test | 29 December 2022, 06:52:10 UTC |
6ac5159 | Lilith Orion Hafner | 28 December 2022, 19:47:15 UTC | Replace dynamic dispatch with runtime branch on `rev` keyword in sortperm (#47966) | 28 December 2022, 19:47:15 UTC |
58d9c87 | Gabriel Baraldi | 28 December 2022, 17:52:46 UTC | Change permissions of stdlib pkgimgs (#48019) * Change permissions of pkgimgs * Update base/loading.jl Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> | 28 December 2022, 17:52:46 UTC |
82fbf54 | Mosè Giordano | 28 December 2022, 16:19:51 UTC | [CompilerSupportLibraries_jll] Add `libssp` as product on Windows (#48012) | 28 December 2022, 16:19:51 UTC |
b838067 | Gabriel Baraldi | 28 December 2022, 16:19:24 UTC | Add dereferenceable LLVM attribute to some GC functions (#46256) | 28 December 2022, 16:19:24 UTC |
8324512 | Nathan Daly | 28 December 2022, 15:34:41 UTC | Add option to `jl_print_task_backtraces(bool)` to control whether or not to print DONE tasks (#47933) Add option to `jl_print_task_backtraces(bool)` to control whether or not to print DONE tasks This lets you print all live tasks, with less noise in the logs, in case it's been a while since the last GC. In some cases, we are seeing many thousands of DONE Tasks, which greatly increase the noise in the logs, and can overwhelm the DataDog logging. The API now takes a bool, which can allow us to control this setting, letting us print the DONE tasks if the user wants to, but also hide them if desired. | 28 December 2022, 15:34:41 UTC |
6ea5ad5 | Steven G. Johnson | 28 December 2022, 14:49:11 UTC | replace broken NFC link in manual (#48017) | 28 December 2022, 14:49:11 UTC |
02492f6 | TacHawkes | 28 December 2022, 14:12:33 UTC | Update README.md (#48018) Fixed the version number of the current stable release | 28 December 2022, 14:12:33 UTC |
9a7a80c | Petr Vana | 28 December 2022, 12:16:08 UTC | Merge branch 'master' into pv/parallel-repl-statements-v2 | 28 December 2022, 12:16:08 UTC |
03b9cc6 | Petr Vana | 28 December 2022, 10:00:56 UTC | Use fetch instead of errormonitor | 28 December 2022, 10:00:56 UTC |
68d4ee3 | Petr Vana | 28 December 2022, 08:29:58 UTC | Use istaskfailed instead of errormonitor | 28 December 2022, 08:29:58 UTC |
dd8d58e | Sukera | 28 December 2022, 08:07:01 UTC | Fix doc comment in internal `__convert_digit` (#47997) Co-authored-by: Sukera <Seelengrab@users.noreply.github.com> | 28 December 2022, 08:07:01 UTC |
fc4c666 | Jan Weidner | 28 December 2022, 08:05:46 UTC | Update calling-c-and-fortran-code.md (#47976) * Update calling-c-and-fortran-code.md Co-authored-by: Alex Arslan <ararslan@comcast.net> | 28 December 2022, 08:05:46 UTC |
8b2b7f5 | Shuhei Kadowaki | 28 December 2022, 02:11:08 UTC | minor fixes on `[getfield|setfield!]_tfunc`s (#48009) | 28 December 2022, 02:11:08 UTC |
9448c89 | Shuhei Kadowaki | 28 December 2022, 00:22:40 UTC | minor NFC improvements on abstractlattice.jl (#48008) | 28 December 2022, 00:22:40 UTC |
79bee80 | Petr Vana | 27 December 2022, 22:39:17 UTC | Disable errormonitor temporarily | 27 December 2022, 22:39:17 UTC |
a40e24e | Adrian Hill | 27 December 2022, 21:01:05 UTC | Fix zero-length Markdown headers (#47725) * Fix zero-length Markdown headers * Add test on empty header | 27 December 2022, 21:01:05 UTC |
4c018c9 | Petr Vana | 27 December 2022, 20:32:09 UTC | Merge branch 'master' into pv/parallel-repl-statements-v2 | 27 December 2022, 20:32:09 UTC |
4c2a431 | Gabriel Baraldi | 27 December 2022, 20:00:22 UTC | Initialize the rng of external threads (#47956) * Initialize the rng of external threads with uv_random | 27 December 2022, 20:00:22 UTC |
a815192 | Petr Vana | 27 December 2022, 19:07:41 UTC | Wait for both steps | 27 December 2022, 19:07:41 UTC |
1794d64 | Petr Vana | 27 December 2022, 18:43:09 UTC | Make printing thread-safe | 27 December 2022, 18:43:09 UTC |
1fb6ec8 | Petr Vana | 27 December 2022, 15:51:56 UTC | Fix printing | 27 December 2022, 15:51:56 UTC |
a2db90f | Valentin Churavy | 27 December 2022, 13:46:24 UTC | Implement support for object caching through pkgimages (#47184) This implements caching native code in "package images" (pkgimages). We now write two serialization files, one ending in `*.ji` and the other with the platform dynamic library extension (e.g., `*.so`). The `*.ji` contains "extended" header information (include the source-code dump for Revise), whereas the dynamic library includes the Julia objects, including LLVM-generated native code. Native code is compiled once during precompilation and then a second time to build a "clean" module. When we find an edge to an external function (already cached in anloaded pkgimage), we emit a global variable which we will patch during loading with the address of the function to call. This allows us to leverage the standard multiversioning capabilities. Co-authored-by: Tim Holy <tim.holy@gmail.com> Co-authored-by: Kristoffer Carlsson <kristoffer.carlsson@chalmers.se> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> Co-authored-by: Max Horn <max@quendi.de> Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com> Co-authored-by: Alex Ames <alexander.m.ames@gmail.com> | 27 December 2022, 13:46:24 UTC |
03bdf15 | Shuhei Kadowaki | 27 December 2022, 13:23:28 UTC | Merge pull request #47994 from JuliaLang/avi/improve-semi-concrete-accuracy Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making the codegen system recognize extended lattice information such as `Const` and `PartialStruct` and not-widening those information from `src::CodeInfo` when caching. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. | 27 December 2022, 13:23:28 UTC |
6979ff3 | Petr Vana | 27 December 2022, 12:37:44 UTC | Improve printing, add errormonitor, and enable serial run for debug | 27 December 2022, 12:37:44 UTC |
7ace688 | Shuhei Kadowaki | 26 December 2022, 00:02:02 UTC | improve semi-concrete interpretation accuracy, take 2 Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making the codegen system recognize extended lattice information such as `Const` and `PartialStruct` and not-widening those information from `src::CodeInfo` when caching. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. | 27 December 2022, 11:36:38 UTC |
b7e3da6 | Shuhei Kadowaki | 25 December 2022, 23:56:13 UTC | Revert "improve semi-concrete interpretation accuracy" This reverts commit 67d9dc57709b37c8fe17d817c109efd8e2c8188c. | 27 December 2022, 11:36:38 UTC |
a2ead37 | Shuhei Kadowaki | 25 December 2022, 10:00:07 UTC | improve semi-concrete interpretation accuracy, take 1 Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making `CodeInstance` keep extended lattice information of `SSAValue`s that are widened and allowing semi-concrete interpretation to override `src.ssavaluetypes` when it uncompressed `src` from `CodeInstance`. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. | 27 December 2022, 11:35:58 UTC |
a9e0545 | Keno Fischer | 27 December 2022, 11:16:34 UTC | compiler: Use correct method to construct empty NamedTuple (#48005) The `NamedTuple(())` method is not available in the inference world age. Empty named tuples needs to be constructed with `NamedTuple()`. This was causing the Diffractor tests to error. | 27 December 2022, 11:16:34 UTC |
3ff7186 | Chris Elrod | 27 December 2022, 10:26:37 UTC | Define `gt_fast` and `ge_fast` (#47972) The important thing here is that `>` is used in `max_fast`, `min_fast`, and `minmax_fast`. These functions did not SIMD in reductions because `>` didn't have an associated fast op. This PR fixes that. | 27 December 2022, 10:26:37 UTC |
2d0b640 | Shuhei Kadowaki | 27 December 2022, 07:03:53 UTC | allow external `AbstractLattice` to customize intrinsic tfuncs (#48000) This would be useful for `AbstractInterpreter`-based static analyzers that use custom `AbstractLattice`. | 27 December 2022, 07:03:53 UTC |
5c493c5 | CodeReclaimers | 26 December 2022, 16:58:00 UTC | Fix reference to the wrong parse function (#48002) Reference linked to Base.parse instead of Meta.parse | 26 December 2022, 16:58:00 UTC |
5bd0160 | Shuhei Kadowaki | 26 December 2022, 11:45:37 UTC | minor lattice fix on `egal_tfunc` (#47998) | 26 December 2022, 11:45:37 UTC |
f5eeba3 | Dilum Aluthge | 26 December 2022, 08:40:51 UTC | Testsystem: allow skipping tests that require Internet with `--skip internet_required` (#47914) | 26 December 2022, 08:40:51 UTC |
162ee48 | Keno Fischer | 25 December 2022, 12:36:55 UTC | lattice: Don't forget to pass down lattice in Conditional tmerge (#47992) Also add some extra cases that before were taken care of by the tmerge_fast_path at the entry to the tmerge code. I briefly considered splitting an extra slow path function to avoid the one `===` in the ConstsLattice, but in the non-equality case that check should be quite fast, so it didn't seem worth it. | 25 December 2022, 12:36:55 UTC |
21529a9 | Keno Fischer | 25 December 2022, 10:05:05 UTC | irinterp: Add missing widenconst into tmeet (#47993) The `fixup_slot!` code in slot2ssa.jl indiscrimnately moves lattice elements into `PiNode` `typ` fields. As a result, we cannot assume that we have `typ::Type`, so we must widenconst in irinterp to avoid errors. | 25 December 2022, 10:05:05 UTC |
ea13810 | Antonio Rojas | 24 December 2022, 23:57:00 UTC | Restore libgcc_s symlinkin in !macOS (#47986) Commit c8b72e2bf49046e8daca64214765694377277947 completely removed libgcc_s symlinking (I assume unintentionally) in !macOS. | 24 December 2022, 23:57:00 UTC |
3add4cd | Keno Fischer | 24 December 2022, 23:17:54 UTC | lattice: Don't short-circuit layers between PartialStruct and Type (#47988) This catches a corner case I missed in #46881. In particular, when both arguments are `Const`, it is legal for intermediate lattice layers between the PartialsLattice and the ConstLattice to do something other than give the merged type. The current code in the PartialsLattice was short-circuiting this, leading to inference imprecision. I think technically, we'd be ok to do the short-circuiting when both are known to be PartialStruct (since we know that they widenlattice to a type), but it doesn't seem worth the extra effort to check. | 24 December 2022, 23:17:54 UTC |
b540315 | David Anthoff | 24 December 2022, 04:45:00 UTC | Add Juliaup and versions.json to release proc instr (#47984) | 24 December 2022, 04:45:00 UTC |
c28a71e | Petr Vana | 23 December 2022, 22:47:36 UTC | Merge branch 'master' into pv/parallel-repl-statements-v2 | 23 December 2022, 22:47:36 UTC |
0f9186a | Petr Vana | 23 December 2022, 22:42:02 UTC | Clean the code | 23 December 2022, 22:42:02 UTC |
7481dcc | Petr Vana | 23 December 2022, 22:10:18 UTC | Parallelize precompilation script | 23 December 2022, 22:10:18 UTC |
ebeda7a | Stefan Karpinski | 22 December 2022, 23:02:47 UTC | move regex tests to test/; make more precise (#47959) These tests aren't specific to PCRE; no matter how Regex matching is implemented, these tests should pass, so I'm moving them into test/regex.jl. I'm also making them more precise and testing that the match is not only something, but also that it is the exact substring that should match. Might catch some future PCRE regression. | 22 December 2022, 23:02:47 UTC |
3930ce1 | Elliot Saba | 22 December 2022, 22:49:52 UTC | Add NEWS entry for #47804 (#47969) | 22 December 2022, 22:49:52 UTC |
8d943c1 | Elliot Saba | 22 December 2022, 18:36:56 UTC | Merge pull request #47804 from JuliaLang/sf/broken_test_nonboolean Change `@test ex broken=true` to error if `ex` evaluates to non-boolean | 22 December 2022, 18:36:56 UTC |
12e679c | Lilith Orion Hafner | 22 December 2022, 11:44:35 UTC | Apply `InitialOptimizations` more consistently in sorting & fix dispatch bug (#47946) * Apply InitialOptimizations by default in several cases when it was previously present * fixup for MissingOptimization * fix stability in the sortperm union with missing case | 22 December 2022, 11:44:35 UTC |
a074d06 | Shuhei Kadowaki | 22 December 2022, 11:30:28 UTC | inference: mark flag for effect-free `:call`s during abstractinterpret (#47689) So that they can be deleted during the first `compact!`-ion. This allows us to delete an inlineable and effect-free, but unused call. This is essentially an alternative of #47305, but doesn't introduce a problem like #47374. | 22 December 2022, 11:30:28 UTC |
181328c | Shuhei Kadowaki | 22 December 2022, 10:15:44 UTC | reland refinement on instantiation of partially-known empty `NamedTuple` (#47961) This is a re-land of #47481. This commit improves inference accuracy of instantiation of partially-known, empty NamedTuple. Note that we can't do the same for inference of `apply_type` call as pointed at #47481. ```julia @test Base.return_types((Any,)) do Tpl T = NamedTuple{(),Tpl} nt = T(()) values(nt) end === Tuple{} ``` | 22 December 2022, 10:15:44 UTC |
2568160 | Shuhei Kadowaki | 22 December 2022, 09:18:27 UTC | add test case for "fix incorrect inference of `NamedTuple{(), <:Any}` (#47962) Co-Authored-By: Martin Holters <martin.holters@hsu-hh.de> Co-authored-by: Martin Holters <martin.holters@hsu-hh.de> | 22 December 2022, 09:18:27 UTC |
915dd8e | Shuhei Kadowaki | 22 December 2022, 09:18:04 UTC | use parameterized lattice in various optimization passes (#47948) We may want to parameterize our optimization passes with `AbstractInterpreter` in the future, but this commit adds minimum changes to parameterize them with `AbstractInterpreter` maintained by `InliningState`. | 22 December 2022, 09:18:04 UTC |
43d9352 | Shuhei Kadowaki | 22 December 2022, 05:46:09 UTC | fix incorrect inference of `NamedTuple{(), <:Any}` (#47947) closes #47481 | 22 December 2022, 05:46:09 UTC |
b050b5d | DilumAluthgeBot | 21 December 2022, 22:53:07 UTC | 🤖 Bump the NetworkOptions stdlib from 791fa05 to f7bbeb6 (#47954) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 21 December 2022, 22:53:07 UTC |
b5ae2ff | DilumAluthgeBot | 21 December 2022, 22:46:55 UTC | 🤖 Bump the Statistics stdlib from 20fbe57 to e9ac70b (#47955) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 21 December 2022, 22:46:55 UTC |
e4c064b | Elliot Saba | 21 December 2022, 21:45:53 UTC | Modify `@test_broken` on `cfunction` platform support failure This `@test_broken` is meant to just register a "broken" result for these platforms, so let's ensure the test always results in a `false`. | 21 December 2022, 21:45:53 UTC |
b89d017 | DilumAluthgeBot | 21 December 2022, 21:30:36 UTC | 🤖 Bump the Downloads stdlib from 11b6bb7 to 030cfb3 (#47953) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 21 December 2022, 21:30:36 UTC |
5c5e490 | Ian Butterworth | 21 December 2022, 21:29:44 UTC | add `get_bool_env` for parsing bool-like env vars (#47436) | 21 December 2022, 21:29:44 UTC |
508bb92 | Elliot Saba | 21 December 2022, 20:57:30 UTC | Fix `@test_broken` to actually assert type intersection result This test is still valid, but it was not actually asserting anything due to not returning a boolean value. | 21 December 2022, 21:03:51 UTC |
b33d7c7 | Elliot Saba | 21 December 2022, 20:56:15 UTC | Remove wrong `@test_broken @inferred` test This test does not fail on any Julia version I've tested going all the way back to v0.7 when it was first introduced. My assumption is that it broke on an RC version, and we didn't noticed when it was fixed because `@test_broken` ignored tests that returned non-boolean values. | 21 December 2022, 21:03:51 UTC |
6d4132b | Ian Butterworth | 21 December 2022, 20:52:42 UTC | Format extensions with parent in `@time_imports` report (#47945) | 21 December 2022, 20:52:42 UTC |
0773140 | Jameson Nash | 21 December 2022, 18:55:40 UTC | subtype: fix merge_env innervars getting copied to itself (#47941) | 21 December 2022, 18:55:40 UTC |
cf2176f | Ian Butterworth | 21 December 2022, 17:02:49 UTC | tweak extension header in manual for search-ability (#47951) | 21 December 2022, 17:02:49 UTC |
ee77ebe | DilumAluthgeBot | 21 December 2022, 14:26:17 UTC | 🤖 Bump the Pkg stdlib from a8a8e224e to a8ae3c580 (#47950) | 21 December 2022, 14:26:17 UTC |
1c7cdd5 | Kristoffer Carlsson | 21 December 2022, 09:16:34 UTC | Merge pull request #47940 from Seelengrab/bump_pcre [PCRE2_jll] Upgrade to 10.42 | 21 December 2022, 09:16:34 UTC |
30236cf | Sukera | 20 December 2022, 22:06:05 UTC | Add regression tests | 20 December 2022, 22:09:53 UTC |
ac77be9 | Sukera | 20 December 2022, 20:00:19 UTC | [PCRE2_jll] Upgrade to 10.42 | 20 December 2022, 21:45:35 UTC |
8cdb17b | Lilith Orion Hafner | 20 December 2022, 16:07:55 UTC | put back the old QuickSort, PartialQuickSort, and MergeSort algorithms... (#47788) ...as they were in 1.8 and rename the new PartialQuickSort to QuickerSort Also improve the documentation and API for constructing QuickerSort and test the API Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> | 20 December 2022, 16:07:55 UTC |
a3ba757 | Ronan Arraes Jardim Chagas | 20 December 2022, 15:53:37 UTC | [Markdown] use textwidth to compute string width (#47761) | 20 December 2022, 15:53:37 UTC |
4341b96 | Jameson Nash | 20 December 2022, 15:42:36 UTC | compute env for typeintersect better (#47925) Avoid discarding intermediate information sooner than we must (e.g. at return). | 20 December 2022, 15:42:36 UTC |
d7363d8 | Michael Abbott | 20 December 2022, 15:09:18 UTC | add bounds check to Slices indexing (#47622) Co-authored-by: Simon Byrne <simonbyrne@gmail.com> | 20 December 2022, 15:09:18 UTC |
1f0700a | Tim Holy | 20 December 2022, 14:30:20 UTC | Precompile cache: always add worklist CIs (#47924) We cache only those external CodeInstances that link back to the package being precompiled. Formerly we required a backedge; this PRs adds any whose `specTypes` could only link back to the package. This scoops up a few runtime-dispatched CodeInstances and their callees. | 20 December 2022, 14:30:20 UTC |
70c1e45 | Jameson Nash | 20 December 2022, 09:31:52 UTC | add missing innervars handling to merge_env (#47877) Otherwise, we would write NULL here immediately when handling intersect_all, and may fail to restore this array correctly. | 20 December 2022, 09:31:52 UTC |
61afe7b | 2005m | 20 December 2022, 08:29:38 UTC | Remove DelimitedFiles checksums (#47931) | 20 December 2022, 08:29:38 UTC |
e976206 | Shuhei Kadowaki | 20 December 2022, 07:33:09 UTC | allow external lattice to provide its own field-merge implementation (#47910) When merging `PartialStruct`, we are currently merging their fields a bit aggressively (#44404) in order to accelerate (or rather, guarantee) convergence. However, when `PartialStruct` wraps external lattice elements, this can be too aggressive since it does not use `tmerge(𝕃, fields...)` recursively and thus the external lattice elements are not merged as expected. This commit adds an additional lattice hook, `tmerge_field`, inside `tmerge(::PartialsLattice)` so that external lattice implementation can provide its own field-merge strategies. | 20 December 2022, 07:33:09 UTC |
9be3c85 | Kristoffer Carlsson | 19 December 2022, 21:17:13 UTC | only load extensions once dependencies have finished loading (#47927) | 19 December 2022, 21:17:13 UTC |
427432e | Kristoffer Carlsson | 19 December 2022, 11:53:55 UTC | revert promotions of abstract arrays inside other arrays (#47893) | 19 December 2022, 11:53:55 UTC |
eb57a77 | Alberto Mercurio | 18 December 2022, 11:31:23 UTC | Added hseqr! LAPACK function (#47872) * Added hseqr LAPACK function * Added API documentation * Added schur function and test * Added test with Int matrix Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 18 December 2022, 11:31:23 UTC |
c1a322f | DilumAluthgeBot | 16 December 2022, 22:28:14 UTC | 🤖 Bump the Pkg stdlib from 5d8b9ddb8 to a8a8e224e (#47915) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 16 December 2022, 22:28:14 UTC |
b6f32bc | Jeff Bezanson | 16 December 2022, 01:26:25 UTC | make Ctrl-C during sleeping work better (#47901) fixes #46635 co-authored-by: Jameson Nash <vtjnash@gmail.com> | 16 December 2022, 01:26:25 UTC |
26a7dbb | Jameson Nash | 16 December 2022, 01:25:50 UTC | intersect: fix a minor soundness issue with supertypes (#47813) When doing intersection, we might end up with a value in `env` (as the only possible *value* for that parameter) without properly considering that the parameter might be a TypeVar. | 16 December 2022, 01:25:50 UTC |
847cdde | Sukera | 15 December 2022, 21:53:30 UTC | Fix an impossible-to-reach `InexactError` in `parse(Int, ::String)` (#47900) * Fix an impossible-to-reach `InexactError` in `parse(Int, ::String)` Previously, even though everything was bounded by checks earlier, this function would have an error path about an `InexactError` that makes it through LLVM and into assembly. By converting to `UInt32` before the call, the inner conversion will always succeed. This is safe, since we know 2 <= `base` <= 62 from the checks at the start of `tryparse_internal`. * Add type restriction to `__convert_digit` Co-authored-by: Sukera <Seelengrab@users.noreply.github.com> | 15 December 2022, 21:53:30 UTC |
cbcae07 | Knut Andreas Meyer | 15 December 2022, 18:58:24 UTC | doc: correct example norm -> mynorm (#47904) | 15 December 2022, 18:58:24 UTC |
e84634e | Tim Holy | 15 December 2022, 09:39:58 UTC | Reduce invalidations when loading JuliaData packages (#47889) | 15 December 2022, 09:39:58 UTC |
7b10d5f | Kristoffer Carlsson | 14 December 2022, 19:15:15 UTC | add back wordaround for `Slot objects should not occur in an AST` in Ipython mode (#47878) | 14 December 2022, 19:15:15 UTC |