swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40

sort by:
Revision Author Date Message Commit Date
923efb9 Give a deprecation warning 22 January 2024, 15:43:51 UTC
acccf39 Support deleting methods during precompilation for stdlib excision (#51641) The problem with the `delete_method` in `__init__` approach is that we invalidate the method-table, after we have performed all of the caching work. A package dependent on `Random`, will still see the stub method in Base and thus when we delete the stub, we may invalidate useful work. Instead we delete the methods when Random is being loaded, thus a dependent package only ever sees the method table with all the methods in Random, and non of the stubs methods. The only invalidation that thus may happen are calls to `rand` and `randn` without first doing an `import Random`. 22 January 2024, 15:43:51 UTC
fe836c8 Excise Random from the system image 22 January 2024, 15:43:51 UTC
47d31ac refactor the optimization flags set and utilities (#52998) 22 January 2024, 09:46:23 UTC
188cc93 move `REPL.REPLCompletions.UndefVarError_hint` to `REPL` module (#52990) Since `UndefVarError_hint` is an interactive feature and isn't directly related to completion, it seems more appropriate to place it within `REPL` module rather than its `REPLCompletions` submodule. 22 January 2024, 02:02:13 UTC
9c78420 reduce contention on page metadata lists during the sweeping phase (#52943) **EDIT**: fixes https://github.com/JuliaLang/julia/issues/52937 by decreasing the contention on the page lists and only waking GC threads up if we have a sufficiently large number of pages. Seems to address the regression from the MWE of https://github.com/JuliaLang/julia/issues/52937: - master: ``` ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=1 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 24841 │ 818 │ 78 │ 740 │ 44 │ 10088 │ 96 │ 3 │ │ median │ 24881 │ 834 │ 83 │ 751 │ 45 │ 10738 │ 97 │ 3 │ │ maximum │ 25002 │ 891 │ 87 │ 803 │ 48 │ 11074 │ 112 │ 4 │ │ stdev │ 78 │ 29 │ 4 │ 26 │ 1 │ 393 │ 7 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=8 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 29113 │ 5200 │ 68 │ 5130 │ 12 │ 9724 │ 95 │ 18 │ │ median │ 29354 │ 5274 │ 69 │ 5204 │ 12 │ 10456 │ 96 │ 18 │ │ maximum │ 29472 │ 5333 │ 70 │ 5264 │ 14 │ 11913 │ 97 │ 18 │ │ stdev │ 138 │ 54 │ 1 │ 55 │ 1 │ 937 │ 1 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` - PR: ``` ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=1 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 24475 │ 761 │ 77 │ 681 │ 40 │ 9499 │ 94 │ 3 │ │ median │ 24845 │ 775 │ 80 │ 698 │ 43 │ 10793 │ 97 │ 3 │ │ maximum │ 25128 │ 811 │ 85 │ 726 │ 47 │ 12820 │ 113 │ 3 │ │ stdev │ 240 │ 22 │ 3 │ 21 │ 3 │ 1236 │ 8 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl serial obj_arrays issue-52937 -n5 --gcthreads=8 bench = "issue-52937.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 24709 │ 679 │ 70 │ 609 │ 11 │ 9981 │ 95 │ 3 │ │ median │ 24869 │ 702 │ 70 │ 631 │ 12 │ 10705 │ 96 │ 3 │ │ maximum │ 24911 │ 708 │ 72 │ 638 │ 13 │ 10820 │ 98 │ 3 │ │ stdev │ 79 │ 12 │ 1 │ 12 │ 1 │ 401 │ 1 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` Also, performance on `objarray.jl` (an example of benchmark in which sweeping parallelizes well with the current implementation) seems fine: - master: ``` ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=1 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 19301 │ 10792 │ 7485 │ 3307 │ 1651 │ 196 │ 4519 │ 56 │ │ median │ 21415 │ 12646 │ 9094 │ 3551 │ 1985 │ 241 │ 6576 │ 59 │ │ maximum │ 21873 │ 13118 │ 9353 │ 3765 │ 2781 │ 330 │ 8793 │ 60 │ │ stdev │ 1009 │ 932 │ 757 │ 190 │ 449 │ 50 │ 1537 │ 2 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=8 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 13135 │ 4377 │ 3350 │ 1007 │ 491 │ 231 │ 6062 │ 33 │ │ median │ 13164 │ 4540 │ 3370 │ 1177 │ 669 │ 256 │ 6383 │ 35 │ │ maximum │ 13525 │ 4859 │ 3675 │ 1184 │ 748 │ 320 │ 7528 │ 36 │ │ stdev │ 183 │ 189 │ 146 │ 77 │ 129 │ 42 │ 584 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` - PR: ``` ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=1 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 19642 │ 10931 │ 7566 │ 3365 │ 1653 │ 204 │ 5688 │ 56 │ │ median │ 21441 │ 12717 │ 8948 │ 3770 │ 1796 │ 217 │ 6972 │ 59 │ │ maximum │ 23494 │ 14643 │ 10576 │ 4067 │ 2513 │ 248 │ 8229 │ 62 │ │ stdev │ 1408 │ 1339 │ 1079 │ 267 │ 393 │ 19 │ 965 │ 2 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ../julia-master/julia --project=. run_benchmarks.jl multithreaded bigarrays -n5 --gcthreads=8 bench = "objarray.jl" ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 13365 │ 4544 │ 3389 │ 1104 │ 516 │ 255 │ 6349 │ 34 │ │ median │ 13445 │ 4624 │ 3404 │ 1233 │ 578 │ 275 │ 6385 │ 34 │ │ maximum │ 14413 │ 5278 │ 3837 │ 1441 │ 753 │ 300 │ 7547 │ 37 │ │ stdev │ 442 │ 303 │ 194 │ 121 │ 89 │ 18 │ 522 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` 21 January 2024, 19:57:20 UTC
a9e2bd4 Add general fallback for rem2pi (#52955) **Overview:** - This PR fixes #44715 by adding a general fallback. **Testing:** - Tested the updated code. - Verified that other functionalities remain unaffected. **Dependencies:** - No dependencies on other pull requests. **CC:** - @N5N3 --------- Signed-off-by: 11happy <soni5happy@gmail.com> Co-authored-by: N5N3 <2642243996@qq.com> 21 January 2024, 11:16:12 UTC
1f111e1 aotcompile: remove most offset code (#52865) Use absolute addresses for fvars, to avoid needing some of the copies and complexity around them, and the buggy-ness of LLVM linker features with doing this. This may replace https://github.com/JuliaLang/llvm-project/commit/a5ccdfbba7e54ea4792ff4bd61e163d209af36e1 20 January 2024, 19:02:52 UTC
8bb0109 Add note to `names` docstring about not implying isdefined (#51593) 20 January 2024, 18:18:28 UTC
32534dd implement `@time` and `@timev` in terms of `@timed` (#52889) closes https://github.com/JuliaLang/julia/issues/47056 I suspect there was some reason this wasn't done in the first place, but I figured opening a PR could be a way to discuss that. ~~Needs tests still for the new `@timed` fields.~~ --------- Co-authored-by: inky <git@wo-class.cn> 20 January 2024, 16:00:29 UTC
690a87e check for ptls == NULL in a few places in the GC codebase (#52984) Also add a few `assert(ptls != NULL)` where necessary. 20 January 2024, 15:29:56 UTC
ce82696 Add detection for zen 4 cpus in processor_x86 (#52944) 20 January 2024, 10:50:10 UTC
6246074 Remove debug `@show`s in tests (#52983) Ref: https://github.com/JuliaLang/julia/pull/52750#discussion_r1457756113 20 January 2024, 10:44:31 UTC
63188d5 Effects-tune PersitentDict (#52954) To in particular allow elimination of dead PersistentDict constructions. 19 January 2024, 23:30:03 UTC
fb2d946 ensure a few GC verify functions conform with the new page metadata layout (#52975) Fix https://github.com/JuliaLang/julia/issues/52973. 19 January 2024, 15:22:51 UTC
d384a36 Add detection for apple m2 and m3 cpus, and cleanup code (#52396) This only makes a difference with LLVM 16 19 January 2024, 13:39:33 UTC
48ef5e9 NFC: move memory pressure callback declaration to julia_gcext.h (#52962) It should probably be in `julia_gcext.h` together with the other callbacks for consistency. 19 January 2024, 13:10:50 UTC
eb26d63 add missing docstrings for Base.Sys (#52777) Part of #52725 19 January 2024, 02:49:39 UTC
a1be59a Sys.SC_CLK_TCK value on windows (#52936) I noticed in #52777 that `Sys.SC_CLK_TCK` is set to `0` on Windows, which is treated as an unknown clock-tick unit. This undocumented global variable is *only* used by `Sys` to display CPU load times from the `CPUInfo` data structure, which until #52777 was completely undocumented and only seems to be used by `versioninfo(verbose=true)`. On POSIX systems it is set to a `> 0` value, and is used to convert the CPU times into seconds. On Windows, it is set to `0`, which is treated as an unknown unit, so the CPU times are displayed without units. Since it is only used for CPU times, we can look at the [`uv_cpu_info` implementation](https://github.com/libuv/libuv/blob/3b6a1a14caeeeaf5510f2939a8e28ed9ba0ad968/src/win/util.c#L531-L653) to see how libuv computes these values on Windows. This function calls `pNtQuerySystemInformation`, which returns times in ["100ns intervals"](https://learn.microsoft.com/en-us/windows/win32/api/winternl/nf-winternl-ntquerysysteminformation#system_processor_performance_information), i.e. in units of 10⁻⁷ seconds. However, `uv_cpu_info` then divides these values by `10000`, which converts them to units of milliseconds. So, I believe that the correct value of `Sys.SC_CLK_TCK` on Windows is `1000`. Basically this just means that `versioninfo(verbose=true)` output on Windows will get units of seconds when printing CPU loads. As far as I can tell, no external package is using these (undocumented until now) timing values — the few packages that call `Sys.cpu_info()` only do so to get the `model` (string) field. 19 January 2024, 02:46:55 UTC
ca1e519 Documentation for "Printf" Module (#52791) Part of https://github.com/JuliaLang/julia/issues/52725 --------- Co-authored-by: RichieWilynnton <richiewilynton@gmail.com> 19 January 2024, 02:33:16 UTC
ab9573f Add option to disable vector pipeline (#52544) This will allow tools like Enzyme to use the internal julia pass pipeline, rather than having their own version. 19 January 2024, 01:47:11 UTC
a0d55cd [REPLCompletions] enable completions for `using Module.Inner|` (#52952) 18 January 2024, 23:13:58 UTC
3a63f25 fixup! #52953, follow up the refactor on REPLCompletions.jl (#52959) 18 January 2024, 23:10:57 UTC
607b2b9 Bump SparseArrays to latest master at f37477 (#52968) @DilumAluthge BumpStdlibs did not work: https://github.com/JuliaLang/BumpStdlibs.jl/actions/runs/7574895316/job/20630289750 18 January 2024, 19:51:44 UTC
877c05e Bump to SuiteSparse 7.5.1 (#52960) 18 January 2024, 19:10:52 UTC
a28e553 Remove single-argument methods for `map`, `foreach`, `Iterators.map` (#52631) In the case of `map` and `foreach`, this removes awkward functionality. `Iterators.map(::Any)`, on the other hand, already threw. 18 January 2024, 15:49:40 UTC
8c49e5e Fix eachslice docstring typo (#52926) 18 January 2024, 14:41:29 UTC
8562af5 minor refactors on REPLCompletions.jl (#52953) Those I found while working on #52952. 18 January 2024, 11:01:17 UTC
8f2f178 Make `hasdoc` public (#52708) Making `Docs.hasdoc` `public` per @LilithHafner https://github.com/JuliaLang/julia/pull/52139#issuecomment-1874748877. --------- Co-authored-by: Steven G. Johnson <stevenj@mit.edu> Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 18 January 2024, 04:17:24 UTC
8274088 irinterp: don't add backedges to top-level thunks (#52916) irinterp utilizes `store_backedges(::MethodInstance, edges)`, but it doesn't check to prevent adding backedges to top-level thunks. This is no issue in native compilation, however, it can become problematic when an external `AbstractInterpreter` that does irinterp on top-level thunks tries precompilation (this could, for instance, trigger [this assert](https://github.com/JuliaLang/julia/blob/b058146cafec8405aa07f9647642fd485ea3b5d7/src/staticdata_utils.c#L450)). This commit tries to resolve this issue by performing the top-level thunk check within `store_backedges(::MethodInstance, edges)` instead of `store_backedges(::InferenceResult, edges)` 18 January 2024, 03:21:13 UTC
94db364 replace the `depwarn` special case with the recent compiler annotations (#52918) The special handling for `depwarn`, originating from JuliaLang/julia#27918 in 2018, is now set to be replaced by the more recent compiler annotations, esp. `@nospecializeinfer`. Assessing potential regressions from this change might be challenging, but I confirmed this only has a minimal impact on image sizes at least. 18 January 2024, 03:18:17 UTC
0b0e3bf doc: fix typos, Markdown, language in the Manual section on `Main.main` (#52939) 18 January 2024, 03:17:17 UTC
3ed49fd absint: merge `const_prop_enabled` into `bail_out_const_call` (#52921) Both of these interfaces have nearly identical roles. Considering the simplicity in the codebase and the possible overloads by external abstract interpreters, it seems more sensible to unify them into one interface. Also tweaks remarks a bit. 17 January 2024, 06:57:37 UTC
b4f7263 make `Base.remove_linenums!` public (#52911) 17 January 2024, 02:21:10 UTC
313cd79 Update sys.c: whoops 17 January 2024, 01:51:49 UTC
45b1839 Sys.SC_CLK_TCK value on windows 17 January 2024, 01:38:01 UTC
d4e3a3d Update test/sysinfo.jl 17 January 2024, 01:26:47 UTC
b1c4fbf Fix `widen_diagonal` bug for nested `UnionAll` (#52924) Fix #52919. 17 January 2024, 01:25:25 UTC
6fa896d [OpenBLAS_jll] Use new build compiled with GCC 11 (#52928) This enables SVE kernels on aarch64, and sapphire rapids kernels on x86_64. For the record, corresponding PR in Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/pull/7952. 16 January 2024, 23:23:57 UTC
a327a95 Insert hardcoded backlinks to stdlib doc pages (#51375) This is #48814 times 23. It solves most of but not all of #50035. 16 January 2024, 23:09:30 UTC
a391a4e Formatted the code Signed-off-by: 11happy <soni5happy@gmail.com> 16 January 2024, 16:17:35 UTC
adbf6b0 Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 16:08:09 UTC
718740e Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 14:25:56 UTC
6cf7d26 Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 14:25:35 UTC
06f5a4c Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 14:25:18 UTC
5e2cdbd Update test/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 14:24:43 UTC
3309d86 Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 16 January 2024, 14:24:13 UTC
143169d resolved merge conflict Signed-off-by: 11happy <soni5happy@gmail.com> 16 January 2024, 04:45:49 UTC
b058146 add `:import`/`:using`/`:export` heads to `VALID_EXPR_HEADS` (#52906) Typically, top-level thunks that include these exprs aren't compiled. However, in certain `AbstractInterpreter`s such as JET, there's a need to perform inference on arbitrary top-level thunks for analysis purposes. So this commit updates the IR validator so that it does not raise errors on these exprs. 16 January 2024, 01:18:01 UTC
d479660 inference: always bail out const-prop' with non-const result limited (#52836) Investigating into #52763, I've found that `AbstractInterpreters` which enables the `aggressive_constprop` option, such as `REPLInterpreter`, might perform const-prop' even if the result of a non-const call is `LimitedAccuracy`. This can lead to an unintended infinite loop with a custom aggressive const-prop' implementation. This commit restricts const-prop' for such cases where the non-const call result is limited to avoid the issue. This fix is conservative, but given that accurate inference is mostly impossible when there are unresolvable cycles (which is indicated by limited result), aggressive const-prop' isn't necessary for such cases, and I don't anticipate this leading to any obvious regression. fix #52763 16 January 2024, 01:15:22 UTC
89710bf Add docstring for TOML stdlib module (#52834) 15 January 2024, 20:32:31 UTC
8d92a49 removed export of Sys.JIT,Sys.CPU_NAME,Sys.cpu_summary,Sys.cpu_info Signed-off-by: 11happy <soni5happy@gmail.com> 15 January 2024, 18:03:30 UTC
fc6295d 🤖 [master] Bump the Pkg stdlib from 3c86ba27e to ba4955e2e (#52903) 15 January 2024, 05:47:28 UTC
25c4166 add tests for undocumented symbols (#52723) Following #52413 by @jariji and the discussion in #51174, this adds tests to ensure that there are no undocumented *(= lacking docstrings)* public symbols in any documented module. Many of the tests are broken — we have a lot of undocumented exports. In such cases I added both a `@test_broken` and a `@test` to ensure that there are no additional regressions added in the future. ~~(This PR may have to be updated when https://github.com/JuliaLang/julia/pull/52413#discussion_r1441068405 is fixed, i.e. when ~~#52727~~ #52743 is merged.)~~ Has been updated. --------- Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 14 January 2024, 23:00:41 UTC
681816c [WIP] Specialize `chklapackerror` to improve error messages (#51645) This is an attempt at resolving https://github.com/JuliaLang/julia/issues/46636. Since each LAPACK function generally has a specific meaning attached to a positive error code, this PR tries to specialize `chklapackerror` for the caller to throw a more informative error instead of a `LAPACKException`. For example: ```julia julia> U = UpperTriangular([1 2; 0 0]) 2×2 UpperTriangular{Int64, Matrix{Int64}}: 1 2 ⋅ 0 julia> inv(U) ERROR: SingularException(2) [...] ``` Currently, I've only specialized it for `trtrs!`, but if this seems reasonable, I'll add others. Functions to be implemented: - [ ] `gbtrf` - [ ] `gbtrs` - [ ] `gebal!` - [ ] `gebak!` - [ ] `gebrd!` - [ ] `gelqf!` - [ ] `geqlf!` - [ ] `geqp3!` - [ ] `geqrt!` - [ ] `geqrt3!` - [ ] `geqrf!` - [ ] `gerqf!` - [ ] `getrf!` - [ ] `tzrzf!` - [ ] `ormrz!` - [ ] `gels!` - [ ] `gesv!` - [ ] `getrs!` - [ ] `getri!` - [ ] `gesvx!` - [ ] `gelsd!` - [ ] `gelsy!` - [ ] `gglse!` - [ ] `geev!` - [ ] `gesdd!` - [ ] `gesvd!` - [ ] `ggsvd!` - [ ] `ggsvd3!` - [ ] `geevx!` - [ ] `ggev!` - [ ] `ggev3!` - [ ] `gtsv!` - [ ] `gttrf!` - [ ] `gttrs!` - [ ] `orglq!` - [ ] `orgqr!` - [ ] `orgql!` - [ ] `orgrq!` - [ ] `ormlq!` - [ ] `ormqr!` - [ ] `ormql!` - [ ] `ormrq!` - [ ] `gemqrt!` - [ ] `potrs!` - [ ] `ptsv!` - [ ] `pttrf!` - [ ] `pttrs!` - [ ] `trtri!` - [x] `trtrs!` - [ ] `trcon!` - [ ] `trevc!` - [ ] `trrfs!` - [ ] `stev!` - [ ] `stebz!` - [ ] `stegr!` - [ ] `stein!` - [ ] `syconv!` - [ ] `sytrs!` - [ ] `sytrs_rook!` - [ ] `syconvf_rook!` - [ ] `hesv!` - [ ] `hetri!` - [ ] `hetrs!` - [ ] `hesv_rook!` - [ ] `hetri_rook!` - [ ] `hetrs_rook!` - [ ] `sytri!` - [ ] `sytri_rook!` - [ ] `syconvf_rook!` - [ ] `syev!` - [ ] `syevr!` - [ ] `syevd!` - [ ] `bdsqr!` - [ ] `bdsdc!` - [ ] `gecon!` - [ ] `gehrd!` - [ ] `orghr!` - [ ] `ormhr!` - [ ] `hseqr!` - [ ] `hetrd!` - [ ] `ormtr!` - [ ] `gees!` - [ ] `gges!` - [ ] `gges3!` - [ ] `trexc!` - [ ] `trsen!` - [ ] `tgsen!` - [ ] `trsyl!` 14 January 2024, 15:03:44 UTC
eadec43 REPLCompletions: PATH caching tweaks (#52893) 14 January 2024, 13:50:36 UTC
77652fd Validate more on assertion builds, and abort on errors (#52830) This PR add a `jl_is_assertsbuild` function (cfr. `jl_is_debugbuild`) for checking if this is an assertions build. It's used in two places: 1. to enable additional validation, which currently often requires`-g2` 2. to make internal compiler errors fatal Both these changes are intended to help PkgEval in detecting more issues (invalid Julia IR) and make for more robust detection (a fatal signal instead of having to grep logs for `Internal error`, which leads to false positives). 14 January 2024, 11:28:37 UTC
a034aa1 domtree: Optimize `DFS!` allocations (#52880) Since `DFS!` is a decent fraction of the work for updating the domtree, this should be a noticeable improvement to semi-concrete eval for very large functions. Profiling downstream shows a lot of time spent `push!`ing into the worklist and creating temporary arrays. 14 January 2024, 08:42:02 UTC
8a69745 Add compat note to @lock (#52894) Fixes #52879. CC @IanButterworth 14 January 2024, 08:39:14 UTC
46e6f23 Revert inlined method signature stacktrace lookup code (#52754) The fallback code that was written for #41099 is causing unintended issues with some inlined stack frames (one previous #51405, new #52709), since the main piece, linetable storage and lookup, was removed in #50546. Probably better to strip it all back to how it was previously, until it can all be revisited more fully. Should be backported to 1.10. 14 January 2024, 02:54:05 UTC
cd4f44d Use `similar` in `empty` (#49958) After this, ```julia julia> S = StructArray{Complex{Int}}(([1,2], [3,4])) 2-element StructArray(::Vector{Int64}, ::Vector{Int64}) with eltype Complex{Int64}: 1 + 3im 2 + 4im julia> empty(S) 0-element StructArray(::Vector{Int64}, ::Vector{Int64}) with eltype Complex{Int64} ``` instead of ```julia julia> empty(S) Complex{Int64}[] ``` This behavior matches the docstring now: "Create an empty vector similar to `v`". Often, `similar` will fall back to creating a `Vector`, so the current behavior will be preserved. ~I'm unsure about what test to add for this, so suggestions are welcome.~ Test added for a `StructArray` through a new test helper 14 January 2024, 02:23:21 UTC
c3836e1 Do not hide libssp.dll.a (Windows import library) in private library dir (#52820) Fix #51740 Since we are providing libssp.dll on Windows and we want to dynamically link to it, exposing libssp.dll.a is necessary. The inconsistency is that libjulia-codegen.so looks in build_libdir and build_private_libdir while standard library precompilation looks in build_shlibdir and build_private_dir. 14 January 2024, 00:24:35 UTC
8f84372 added cpu_summary method Signed-off-by: 11happy <soni5happy@gmail.com> 13 January 2024, 15:54:09 UTC
4d670fb 🤖 [master] Bump the Downloads stdlib from 8a614d5 to a9d274f (#52885) Stdlib: Downloads URL: https://github.com/JuliaLang/Downloads.jl.git Stdlib branch: master Julia branch: master Old commit: 8a614d5 New commit: a9d274f Julia version: 1.11.0-DEV Downloads version: 1.6.0(It's okay that it doesn't match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Downloads.jl/compare/8a614d592810b15d17885838dec61da244a12e09...a9d274ff6588cc5dbfa90e908ee34c2408bab84a ``` $ git log --oneline 8a614d5..a9d274f a9d274f Close Multi timers atexit. Add 1.6 CI (#234) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 13 January 2024, 14:37:45 UTC
537ea4b doc: fix latex formatting in cis docstring (#52845) 13 January 2024, 12:44:09 UTC
6dc0da4 show UUID as Base.UUID(...) when not imported (#52881) Fixes the problem identified in https://github.com/JuliaLang/julia/pull/52795#issuecomment-1884000786 thanks to @IanButterworth — currently, a `UUID` displays as: ```jl julia> Base.UUID("30b93cbd-6b28-44ea-8d3f-42a2b647d023") UUID("30b93cbd-6b28-44ea-8d3f-42a2b647d023") ``` even if the `UUID` symbol has not been imported. It should display as a qualified name `Base.UUID` unless `UUID` is imported (e.g. by doing `using UUIDs`). That is, after this PR you will get ```jl julia> Base.UUID("30b93cbd-6b28-44ea-8d3f-42a2b647d023") Base.UUID("30b93cbd-6b28-44ea-8d3f-42a2b647d023") ``` This is a tiny patch that just uses the standard type-printing machinery to decide how to display the `UUID` type name. 13 January 2024, 10:30:07 UTC
e3a64e8 lowering: remove `QuoteNode` wrapping for captured variables (#52878) Issues like #52531 were more broadly fixed by #52856. This commit partially reverts #52596, while leaving the added tests. 13 January 2024, 08:48:12 UTC
4b3722a minor fixes Signed-off-by: 11happy <soni5happy@gmail.com> 13 January 2024, 06:57:20 UTC
fc3d652 Update test/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 13 January 2024, 06:50:59 UTC
60fdb2f Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 13 January 2024, 06:50:21 UTC
231fda3 REPL: Fix precompilation and add tests (#52783) 13 January 2024, 04:48:30 UTC
893e720 REPLCompletions: async cache PATH scan (#52833) 13 January 2024, 02:56:22 UTC
f14bf29 sroa: Fix affinity of inserted undef check (#52864) There is a bit of complexity here making sure that this instruction ends up in the correct basic block because there's a fair number of corner cases (e.g. whether we're deleting the first instruction of a basic block or the last or both). Side-step all that by never doing the delete-then-insert dance and instead doing regular instruction replacement if necessary. Fixes #52857. 13 January 2024, 01:57:08 UTC
6f73806 Improve comment in toplevel.c [NFC] (#52810) 12 January 2024, 20:41:42 UTC
5b6a94d docs: Clarify that `donotdelete` does not affect unreachable code (#52869) In generally accepted compiler terminology, dead code is all code that if removed does not affect the observable behavior of the program. However, people sometimes use the phrase dead code to mean *unreachable* code, which is a subset of dead code (being dead because it is never semantically executed). If one assumes that definition, the docstring for `donotdelete` may be confusing, as it may in fact be deleted from the code if it is unreachable (existence or non-existence in the IR is not ever semantically observable in Julia, so there could not be such an intrinsic, but of course knowing that requires a deep understanding of Julia semantics). Add an extra note to the docs to clarify this point. 12 January 2024, 14:20:44 UTC
270ea64 sroa: Relax scope assertion (#52866) It's possible for this assertion to be violated if there's dead code in the middle of the function. I think the best thing to do here is just to relax the assertion to allow this particular case. Fixes #52819. 12 January 2024, 14:19:07 UTC
314d40f ir: Don't accidentally consider pending statements from previous block (#52863) When IncremetnalCompact deletes and edge between blocks, it needs to go to the target and delete any reference to the edge from the PhiNodes therein. What happened in #52858, is that we had a situtation like: ``` # Block n-1 %a Expr(...) Expr(...) # <- This node is pending at the start of compaction # Block n %b PhiNode ``` To do the deletion, we use `CompactPeekIterator`, which gets a list of original statements and iterates over all the statements inside the range, including pending ones. However, there is a semantic confusion about whether to include all all statements since the previous statement (%a above), or only those statements that are actually attached to the first instruction (%b above). This of course doesn't really matter usually unless you're at a BasicBlock boundary. For the present case, we really do not want the instructions in the previous basic block - the iteration of PhiNodes terminates if it seems a stmt that cannot be in the phi block, so mistakenly seeing one of those instructions causes it to fail to fix a PhiNode that it should have, causing #52858. We fix #52858 by giving the CompactPeekIterator a flag to only return stmts in the correct basic block. While we're at it, also fix the condition for what kinds of statements are allowed in the phi block, as that was clarified more recently than this code was written. 12 January 2024, 14:18:39 UTC
9836f2d staticdata: Some refactors for clarity (#52852) I was reading this code as part of looking into #52797. To recap, when we serialize objects for package images, we classify each method as either internal or external, depending on whether the method extends a function in the ambient set of modules ( system image, other previously loaded package images, etc) or whether it is private to the module we're currently serializing (in which case we call it internal). One of my primary confusions in reading this code was that the `new_specializations` object holds only external code instances in most of the code, but towards the end of loading, we used to also add any internal code instances that had dependencies on other external method instances in order to share the code instance validation code between the two cases. I don't think this design is that great. Conceptually, internal CodeInstances are already in the CI cache at the point that validation happens (their max_world is just set to 1, so they're not eligible to run). We do guard the cache insertion by a check whether a code instance already exists, which also catches this case, but I think it's cleaner to just not add any internal code instances to the list and instead simply re-activate the code instance in situ. Another issue with the old code that I didn't observe, but I think is possible in theory is that any CodeInstances that are not part of the cache hierarchy (e.g. because they were created by external abstract interpreters) should not accidentally get added to the cache hierarchy by this code path. I think this was possible in the old code, but I didn't observe it. With this change, `new_specializations` now always only holds external cis, so rename it appropriately. While we're at it, also do some other clarity changes. 12 January 2024, 14:18:08 UTC
526ac1e Public CPUinfo,Added Tests for show Signed-off-by: 11happy <soni5happy@gmail.com> 12 January 2024, 06:36:44 UTC
0fdd55b Fix inconsistency between exct and nothrow effect (#52853) Fixes #52846. Different unreachability checks use different definitions for this and were inconsistenct, causing the assertion. Since the exct modeling isn't fully plubmed through all corners of the compiler yet, also change the caller code to force the nothrow effect to be authoritative for the time being. 12 January 2024, 03:04:19 UTC
cf44b53 effects: fix #52843, account for mutable values directly embedded to IR (#52856) Fixes another variant of #52531. 11 January 2024, 18:55:42 UTC
403a80a Precision of language in `names` docstring (#52744) 11 January 2024, 18:48:52 UTC
a41c271 Merge branch 'FourthPR' of https://github.com/11happy/julia into FourthPR 11 January 2024, 18:20:21 UTC
f35cb86 suggested changed Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 18:19:43 UTC
88e6fae Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 11 January 2024, 18:14:37 UTC
3f6bec7 Update base/sysinfo.jl Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 11 January 2024, 18:14:27 UTC
eaf73a8 Added Proper Indent Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 14:46:52 UTC
e11dfd9 Added Space Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 14:40:25 UTC
0a3cf6f Removed WhiteSpace Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 14:34:40 UTC
3f38416 Fixed/Added Suggested Changes Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 14:30:26 UTC
c5d7b87 Fix variable name in scaling an `AbstractTriangular` with zero alpha (#52855) There is no `C` defined in these methods, so this branch used to error. 11 January 2024, 13:26:23 UTC
3e63af5 Formatted the code Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 10:17:30 UTC
2096423 Added show function Signed-off-by: 11happy <soni5happy@gmail.com> 11 January 2024, 10:10:50 UTC
3dcc07c effects: fix #52843, account for mutable values directly embedded to IR Fixes another variant of #52531. 11 January 2024, 10:01:23 UTC
73cdfd8 Code validation and IR verification improvements (#52844) 11 January 2024, 08:43:57 UTC
0f7b598 BinaryPlatforms: prevent creating an identical regex every time a `Platform` is parsed (#52829) Pkg likes to call `HostPlatform()` a bit too often for its own good which shows up in some profiles. This makes `HostPlatform()` go from 250 us to 150 us with a quite trivial code change so should be fairly uncontroversial. (Pkg should probably also be fixed, alt. `HostPlatform` should be cached in Base.) 10 January 2024, 20:11:41 UTC
2afc20c Disambiguate mul! for matvec and matmat through indirection (#52837) This forwards `mul!` for matrix-matrix and matrix-vector multiplications to the internal `_mul!`, which is then specialized for the various array types. With this, packages would not encounter any method ambiguity when they define ```julia mul!(::AbstractMatrix, ::MyMatrix, ::AbstractMatrix, alpha::Number, beta::Number) ``` This should reduce the number of methods that packages need to define to work around ambiguities with `LinearAlgebra`. There was already an existing internal function named `_mul!`, but the new methods don't clash with the existing ones, and since both sets of methods usually forward structured multiplications to specialized functions, it's fitting for them to have the same name. 10 January 2024, 16:38:49 UTC
124ce94 Add indirection to inplace matrix scaling (#52840) 10 January 2024, 14:48:28 UTC
bf13a56 Remove 3-term mul! methods involving AbstractTriangular (#52826) The multiplication can be handled by the 5-term methods, and constant propagation should eliminate the branch. This should reduce some potential method ambiguities. 10 January 2024, 04:38:04 UTC
8e4221f Bump Julia to LLVM 16 (#51720) Current Status: - [x] Self test of Julia-GCChecker :: `MissingRoots.c` - [x] ASAN: `error: <unknown>:0: Cannot represent a difference across sections` - [x] x86_64-apple-darwin fails in ranges - [x] llvmpasses --------- Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Tim Besard <tim.besard@gmail.com> 10 January 2024, 02:47:02 UTC
back to top