https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
5954572 Handle 32-bit Int 30 September 2023, 15:02:59 UTC
36e7848 nothing is not a boolean 30 September 2023, 15:02:59 UTC
7b98af3 Add missing % 30 September 2023, 15:02:58 UTC
daaa20d Escape ssa names 30 September 2023, 15:02:58 UTC
d247782 Fixup doctests and tests 30 September 2023, 15:02:58 UTC
e462fad Add arguments to codeinfo printing, prefix with % 30 September 2023, 15:02:58 UTC
d988f8f [REPLCompletions] suppress false positive field completions (#51502) Field completions can be wrong when `getproperty` and `propertynames` are overloaded for a target object type, since a custom `getproperty` does not necessarily accept field names. This commit simply suppresses field completions in such cases. Fixes the second part of #51499. 30 September 2023, 06:44:19 UTC
0a4bea6 compiler: remove unused `:noinbounds` argument (#51506) 30 September 2023, 04:36:37 UTC
ab992b9 MersenneTwister: hash seeds like for `Xoshiro` (#51436) This addresses a part of #37165: > It's common that sequential seeds for RNGs are not as independent as one might like. This clears out this problem for `MersenneTwister`, and makes it easy to add the same feature to other RNGs via a new `hash_seed` function, which replaces `make_seed`. This is an alternative to #37766. 29 September 2023, 20:06:36 UTC
3a85776 fix out of place entry in NEWS.md (#51459) `pmap` is part of the Distributed std lib 29 September 2023, 19:28:59 UTC
8436f68 add rand dispatch for tuple types (#50251) as suggested by https://github.com/JuliaLang/julia/issues/50236 29 September 2023, 15:24:10 UTC
8ab635d Random: allow negative seeds (#51416) Alternative to #46190, see that PR for background. There isn't a strong use-case for accepting negative seeds, but probably many people tried something like `seed = rand(Int); seed!(rng, seed)` and saw it failing. As it's easy to support, let's do it. This might "break" some random streams, those for which the upper bit of `make_seed(seed)[end]` was set, so it's rare. 29 September 2023, 10:52:59 UTC
b74daf5 define `Random.GLOBAL_RNG = TaskLocalRNG()` (#51388) `GLOBAL_RNG` is a relic from pre-v1.3 when our global RNG was not thread-safe: ``` const GLOBAL_RNG = MersenneTwister() ``` `GLOBAL_RNG` was never really specified, but was referred to in docstrings (of `rand` etc.), and people had to use it in packages in order to provide a default RNG to their functions. So we have to keep defining `Random.GLOBAL_RNG` for the time being. In v1.3, we didn't have anymore a unique global RNG, but instead one per thread; in order to keep code using `GLOBAL_RNG` working, we got this new definition as a clever hack: ``` struct _GLOBAL_RNG <: AbstractRNG end const GLOBAL_RNG = _GLOBAL_RNG() ``` I.e. `GLOBAL_RNG` is just a "handle", which refers to the actual threaded-RNG when passed to `rand` functions. This entails defining most functions taking a `default_rng()` to also accept `_GLOBAL_RNG`. See #41123, and #41235 which is not even merged. But since v1.7, we have `Random.default_rng()` (our now official way to refer to the default RNG) returning `TaskLocalRNG()`, which is itself a "handle" (singleton). So we can as well redefine `GLOBAL_RNG` to be `TaskLocalRNG()` instead of `_GLOBAL_RNG()`, with the advantage that all the relevant methods are already defined for `TaskLocalRNG`. The only expected difference in behavior is `seed!(GLOBAL_RNG, seed)`, which previously would update `Random.GLOBAL_SEED` (a hack used by `@testset`), but now is equivalent to `seed!(TaskLocalRNG(), seed)`, which doesn't update this global seed. This precise behavior was never documented (`GLOBAL_SEED` is purely internal), so this should be fine. 29 September 2023, 08:30:58 UTC
29f2b2f Random: reorganize some tests (#51480) This groups some toplevel tests together, and removes hardcoded random values generated by `MersenneTwister` for a given seed. 29 September 2023, 08:08:16 UTC
c099639 More tests for replace with AbstractDict (#50902) Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> 29 September 2023, 07:31:11 UTC
d3fb3b6 Update public keyword compat note (#51496) Co-authored-by: @IanButterworth Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 29 September 2023, 03:37:08 UTC
66fe51f Throw clearer ArgumentError for strip with two string args (#51491) 28 September 2023, 19:57:19 UTC
2d93567 Add jump functions (`jump`, `long_jump`) for `Xoshiro` (#47743) Straightforward implementations given https://xoshiro.di.unimi.it/xoshiro256plusplus.c This is useful functionality which does not interfere with any existing code. Utility aside, it is arguable that the jump functions are necessary to complete the implementation of `xoshiro256++` tooling. In essence, given that the `xoshiro` family supports jump functions, we would be remiss to neglect this capability. For most users, I expect that the existing `TaskLocalRNG` is more than sufficient (hence, why I propose that this not be exported, just like `seed!`). However, if/when one does want to total control, jump functions are a requirement. Use cases arise when one wishes to utilize a single seed (with state advanced sufficiently far as to give non-overlapping subsequences) as the basis for a parallel computation. The alternative is manual seeding, which lacks the flexibility required for testing (imagine a program which requires a variable number of sub-sequences, one for each parallel portion). If further justification is needed, [good precedent](https://docs.rs/rand_xoshiro/latest/rand_xoshiro/struct.Xoshiro256PlusPlus.html) exists. 28 September 2023, 13:49:16 UTC
ed891d6 Remove fallback that assigns a module to inlined frames. (#51405) The work I did in #41099 introduced code which, if method information could not be found for an inlined frame, would fall back to use the module of the next-higher stack frame. This often worked there because the only frames that would not be assigned a module at this point would be e.g., `macro expansion` frames. However, due to the performance impact of the way method roots are currently encoded, the extra method roots were removed in #50546. The result is that inlined frames were being assigned a potentially incorrect module, rather than being left blank. Example: ``` julia> @btime plot([1 2 3], seriestype = :blah) ... [13] #invokelatest#2 @ BenchmarkTools ./essentials.jl:901 [inlined] [14] invokelatest @ BenchmarkTools ./essentials.jl:896 [inlined] ... ``` 28 September 2023, 13:47:25 UTC
bf3eb09 REPLCompletions: remove unnecessary copy of top-level `CodeInfo` (#51490) 28 September 2023, 13:04:21 UTC
daeb1b4 Random.default_rng: clarify and expand documentation (#51385) Co-authored-by: Nathan Zimmerberg <39104088+nhz2@users.noreply.github.com> 28 September 2023, 12:49:20 UTC
50146b2 Handle `AbstractQ` in concatenation (#51132) Handling `AbstractQ`s in concatenation got lost in the overhaul. This brings it back (though it seemed to not be used anywhere), and even better: pre-1.9 `Q`s where handled via `AbstractMatrix` fallbacks, so elementwise. Now, it first materializes the matrix, and then copies to the right place in the destination array. 27 September 2023, 19:57:54 UTC
5e8f8a9 codegen: add src alignment arg to emit_memcpy (#51152) This maybe allows for LLVM to optimize things a bit further since some passes check if both sides have correct/equal alignment Co-authored-by: Jameson Nash <vtjnash@gmail.com> 27 September 2023, 15:17:00 UTC
c105167 Bump libunwind JLL to include revert. (#51477) Alternative to https://github.com/JuliaLang/julia/pull/51472 27 September 2023, 15:00:57 UTC
b6a748f 🤖 [master] Bump the Pkg stdlib from cf0019fbb to 3960c692b (#51464) 27 September 2023, 13:23:50 UTC
7428d8a Correct stat docstring on blocks' blocksize (#51460) The block size when reporting `blocks` is _always_ 512, regardless of the filesystem, on all systems we currently know about and support, and in particular is typically not the same as blksize (which is commonly reported as 4096). Fixes #51447 27 September 2023, 11:03:49 UTC
cde964f Fix segfault if root task is NULL (#51471) In `jl_print_task_backtraces()`. Follow-on to https://github.com/JuliaLang/julia/pull/51430. 27 September 2023, 10:20:30 UTC
0a82b71 inference: avoid inferring unreachable code methods (#51317) 27 September 2023, 09:31:25 UTC
8de80bd inference: restrict type of type parameter from `Vararg` (#51449) Inference has been able to restrict type of `Vararg` type parameter `N` to `Int` for cases like `func(..., ::Vararg{T,N}) where {T,N}`, but this refinement was not available for signatures like `func(::Tuple{Vararg{T,N}}) where {T,N}`. This commit allows the later case to be inferred as well. Now the following kind of case will be inferred, e.g.: ```julia julia> function sub2ind_gen_fallback(dims::NTuple{N,Int}, I) where N # N is knonw to be ::Int ind = I[N] - 1 for i = (N - 1):-1:1 ind = I[i] - 1 + dims[i]*ind end return ind + 1 end; julia> only(Base.return_types(sub2ind_gen_fallback, (NTuple,Tuple{Vararg{Int}}))) Int64 ``` 26 September 2023, 13:55:08 UTC
95c1dc5 [REPLCompletions] use inference for dict completions too (#51453) This allows us to get dict completions through nested `getindex`. 26 September 2023, 13:52:34 UTC
54bae4a [REPLCompletions] get completions for `:toplevel`/`:tuple` expressions (#51454) This allows us to get completions for the following kind of cases: ```julia julia> some_issue36437 = Some(Issue36437(42)); julia> some_issue36437.value.a, some_issue36437.value. a b c julia> some_issue36437.value.a; some_issue36437.value. a b c ``` 26 September 2023, 13:50:07 UTC
1db6bbd add convenience entry for `typeinf_[code|ircode|frame]` (#51457) This change allows them to take `match::MethodMatch` and `mi::MethodInstance`, making debugging easier and reflection code a bit cleaner. 26 September 2023, 13:46:38 UTC
28d9f73 inference: make `throw` block deoptimization concrete-eval friendly (#49235) The deoptimization can sometimes destroy the effects analysis and disable [semi-]concrete evaluation that is otherwise possible. This is because the deoptimization was designed with the type domain profitability in mind (#35982), and hasn't been adequately considering the effects domain. This commit makes the deoptimization aware of the effects domain more and enables the `throw` block deoptimization only when the effects already known to be ineligible for concrete-evaluation. In our current effect system, `ALWAYS_FALSE`/`false` means that the effect can not be refined to `ALWAYS_TRUE`/`true` anymore (unless given user annotation later). Therefore we can enable the `throw` block deoptimization without hindering the chance of concrete-evaluation when any of the following conditions are met: - `effects.consistent === ALWAYS_FALSE` - `effects.effect_free === ALWAYS_FALSE` - `effects.terminates === false` - `effects.nonoverlayed === false` Here are some numbers: | Metric | master | this commit | #35982 reverted (set `unoptimize_throw_blocks=false`) | |-------------------------|-----------|-------------|--------------------------------------------| | Base (seconds) | 15.579300 | 15.206645 | 15.296319 | | Stdlibs (seconds) | 17.919013 | 17.667094 | 17.738128 | | Total (seconds) | 33.499279 | 32.874737 | 33.035448 | | Precompilation (seconds) | 49.967516 | 49.421121 | 49.999998 | | First time `plot(rand(10,3))` [^1] | `2.476678 seconds (11.74 M allocations)` | `2.430355 seconds (11.77 M allocations)` | `2.514874 seconds (11.64 M allocations)` | | First time `solve(prob, QNDF())(5.0)` [^2] | `4.469492 seconds (15.32 M allocations)` | `4.499217 seconds (15.41 M allocations)` | `4.470772 seconds (15.38 M allocations)` | [^1]: With disabling precompilation of Plots.jl. [^2]: With disabling precompilation of OrdinaryDiffEq. These numbers made me question if we are getting any actual benefit from the `throw` block deoptimization anymore. Since it is sometimes harmful for the effects analysis, we probably want to either merge this commit or remove the `throw` block deoptimization completely. 26 September 2023, 06:44:16 UTC
13d3efb Fix typo in `Base.setindex` documentation (#51446) ... I also used `t` instead of `x`, since that seems to be more prevalent when talking about tuples. (I could be wrong about that, though...) 25 September 2023, 17:19:12 UTC
0287a00 improve NTuple show and cleanup code for Vararg and NTuple type parameter construction (#51244) Various simplifications and improvements from investigating #51228. Improves the logic for showing of NTuple to handle constant lengths. Improves the logic for showing NTuple of bound length (e.g. NTuple itself). Also makes a choice to avoid showing non-types as NTuple, but instead try to write them out, to make it more visually obvious when the parameters have been swapped. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 25 September 2023, 16:41:48 UTC
b44a95b set `max_methods = 4` for `merge` (#51443) This enhances type/effects inference for calls of the `merge` function, especially when input types are known only as abstract `NamedTuple`. While we improved inference for the fallback `merge` path in JuliaLang/julia#48262, the enhancements have not been available to general cases as inference gives up attempts when there are ≥4 matching methods. This commit fixes it up. 25 September 2023, 13:40:26 UTC
3220565 reflection: remove the `func_for_method_checked` check (#51444) Introduced in 539224f, the `func_for_method_checked` check has been used for some of the reflection utilities like `code_typed`, but now it appears to be outdated. E.g. previously, when provided with abstract input types for optionally-generated functions, they would raise unnecessary errors, even though the inference would utilize the fallback code path. In such instances, the reflection utilities should present what the inference would perform, instead of raising errors. This commit simply removes the check. This works because all the reflection utilities now internally calls the `InferenceState()` constructor, where code generation occurs, and they gracefully handle cases when code generation fails. Now their behavior is more synced with the actual behavior of inference. 25 September 2023, 13:38:05 UTC
e5c6340 add support for async backtraces of Tasks on any thread (#51430) 25 September 2023, 11:20:19 UTC
66e83e7 remove "skipping mtime check..." debug output (#51441) This doesn't really serve any purpose to have and it gets very spammy. 25 September 2023, 10:34:25 UTC
f7d8bfb deal with remaining race conditions in these APIs The jl_live_tasks API now reports all threads, instead of only Tasks first started by the current thread. There is a new abstraction called mtarraylist with adds functionality to small_arraylist (it is layout-compatible). In particular, it makes it safe for another thread to observe the content of the list concurrently with any mutations. 24 September 2023, 17:28:56 UTC
1d9ebbc add support for async backtraces of Tasks on any thread 24 September 2023, 13:46:17 UTC
3c0d480 Fix error in comment [NFC] (#51181) 23 September 2023, 18:01:39 UTC
9bf2620 Add public keyword to NEWS.md (#51322) Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com> 23 September 2023, 18:01:14 UTC
ce86593 Public keyword documentation fixups (mostly adding compat entries) (#51333) 23 September 2023, 16:19:53 UTC
75b7826 Make LBT verbose when LBT_VERBOSE is set. (#51426) 23 September 2023, 09:20:03 UTC
5d44a37 Fixes and improvements for source builds (#51422) - A GMP patch was malformed; copy the corrected version from Yggdrasil - Always invoke `patch` with `-f` to avoid interactive prompts during build - Don't quote the path to `python`, or nghttp2's configure script fails with `error: Python interpreter is too old` (but `config.log` reveals `"/usr/bin/python": No such file or directory`) 23 September 2023, 09:19:51 UTC
6bb9111 Update libunwind to v1.7.2. (#51424) 23 September 2023, 09:19:36 UTC
6bca048 a bunch of minor fixes and improvements (#51421) - fixed the docstring of `ir_inline_unionsplit!` - simplify `show` for `SlotNumber` - tweak bootstrap.jl (it slightly improves bootstrapping time) 23 September 2023, 01:56:48 UTC
2defa57 Excise REPL and its dependencies from sysimg (#51399) 23 September 2023, 00:45:32 UTC
a127ab7 parallelize sweeping of object pools (#51282) Sweeping of object pools will either construct a free list through dead objects (if there is at least one live object in a given page) or return the page to the OS (if there are no live objects whatsoever). With this PR, we're basically constructing the free-lists for each GC page in parallel. 22 September 2023, 18:48:34 UTC
43f7538 add note to `Experimental.@sync` explaining difference to `@sync` (#51427) 22 September 2023, 18:13:22 UTC
8bc6c35 Fix precompilation of Pkg (#51425) Forgot this in https://github.com/JuliaLang/julia/pull/51368 22 September 2023, 15:33:39 UTC
bf03753 make `hash(::Xoshiro)` compatible with `==` (#51376) 22 September 2023, 13:57:37 UTC
c476d84 slot2ssa: consider liveness when inserting `PiNode`s (#51406) 22 September 2023, 05:02:33 UTC
9f0676c don't print task backtrace for GC threads (#51413) GC threads don't have tasks associated with them. 22 September 2023, 02:05:24 UTC
027fb37 Make sysimg only recompile when stdlibs that are contained within change (#51368) Otherwise changing a stdlib would trigger a recompilation of the sysimg. 22 September 2023, 01:43:04 UTC
9a08d15 EA: fix `escape_invoke!` (#51418) The previous index offset was just wrong. 21 September 2023, 23:17:39 UTC
57e70c1 inference: follow up the `Vararg` fix in `abstract_call_unionall` (#51403) 21 September 2023, 17:28:46 UTC
85c96b9 define `show` instead of `repr` in BinaryPlatforms (#51398) Co-authored-by: Keno Fischer <keno@juliacomputing.com> 21 September 2023, 09:07:11 UTC
5fc5556 move Pkg out of the sysimage (take 2) (#51189) Co-authored-by: Jonas Schulze <jonas.schulze@st.ovgu.de> Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> Co-authored-by: Tim Besard <tim.besard@gmail.com> 21 September 2023, 02:42:33 UTC
6023370 Clarify `searchsortedfirst`/`searchsortedlast` docstrings (#50941) 20 September 2023, 18:20:04 UTC
15f34aa [NFC] rng_split: some elaboration and clarification (#50680) I was rereading the comments I wrote about our approach to task splitting RNGs and had some clarifications and elaboration to add. --------- Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 20 September 2023, 15:54:56 UTC
8f95c6b Export num_stack_mappings to track the number of in-flight stack mappings and tasks in application (#51301) Julia already tracks the number of mapped stacks for Julia tasks in a local atomic. Exporting this atomic will allow applications to estimate the memory consumption by the stacks and also the number of in-flight tasks. --------- Co-authored-by: Nathan Daly <nathan.daly@relational.ai> 20 September 2023, 15:54:18 UTC
8d05a22 remove extra zero byte store in `jl_readuntil` (#51401) Since 3b1bbe30e53c487929c47d2a1facbc6173848e6c we no longer do this for arrays, only strings. Fixes a crash when using `readline`. 20 September 2023, 15:53:39 UTC
071d3ca Docs: Make all env var mentions link to their entry (#51363) 20 September 2023, 14:04:05 UTC
c22adc0 call Pkg precompile hook in latest world (#51397) Fixes https://github.com/JuliaLang/julia/issues/51280. 20 September 2023, 12:08:52 UTC
151ef23 EAUtils: make sure to always run analysis on entry frame (#51402) Otherwise we may hit error when analyzing the same function multiple times. 20 September 2023, 11:15:30 UTC
4923e95 EAUtils: clarify error message when optimization didn't happen for top-frame (#51396) 20 September 2023, 03:59:18 UTC
3290bd7 inference: handle `Vararg` in `abstract_call_unionall` for `argtypes` computed by `abstract_apply` (#51393) This commit adds special handling for `Vararg` types that may appear at the end of `argtypes`, as computed by `abstract_apply`. Even though PR #42583 has ensured that `Vararg` and `TypeVar` should never appear within the abstract state, they can still be part of `argtypes`. As a result, this kind of special handling is still necessary. It remains an open question whether we can refactor `abstract_apply` to prevent `Vararg`s from appearing in `argtypes` in the first place. 20 September 2023, 03:58:54 UTC
7d8ba92 Inline `_log` to avoid passing symbol argument. (#51232) This reduces callsite code from ```julia julia> foo(x) = log(x) foo (generic function with 1 method) julia> @code_native syntax=:intel debuginfo=:none foo(2.3) .text .file "foo" .globl julia_foo_2627 # -- Begin function julia_foo_2627 .p2align 4, 0x90 .type julia_foo_2627,@function julia_foo_2627: # @julia_foo_2627 ; Function Signature: foo(Float64) #DEBUG_VALUE: foo:x <- $xmm0 push rbp mov rbp, rsp movabs rdi, offset ".Ljl_sym#log#2632.jit" movabs rax, offset j__log_2631 call rax pop rbp ret ``` to ```julia julia> @code_native syntax=:intel debuginfo=:none foo(2.3) .text .file "foo" .globl julia_foo_10446 # -- Begin function julia_foo_10446 .p2align 4, 0x90 .type julia_foo_10446,@function julia_foo_10446: # @julia_foo_10446 ; Function Signature: foo(Float64) #DEBUG_VALUE: foo:x <- $xmm0 push rbp mov rbp, rsp movabs rax, offset j_log_10450 call rax pop rbp ret ``` Note that we no longer have ```asm movabs rdi, offset ".Ljl_sym#log#2632.jit"` ``` saving an instruction at every call site. 20 September 2023, 02:50:55 UTC
c2e53f1 update docs for `package_callbacks` (#51241) Fixes https://github.com/JuliaLang/julia/issues/51166 cc @oxinabox --------- Co-authored-by: Frames White <oxinabox@ucc.asn.au> 20 September 2023, 02:50:07 UTC
1282a65 Change 'nonnegative' to 'non-negative' (#51380) This is for consistency. I picked the one which was more often used. 20 September 2023, 02:49:50 UTC
53a00f3 Correct `logdet` docstring (#51387) 19 September 2023, 16:16:23 UTC
2a0c8c8 EA: remove no longer used `is_ipo_profitable` (#51391) 19 September 2023, 15:46:37 UTC
7f37e70 docs: fix up generated function examples in metaprogramming.md (#51386) The last example was untested and has been non-functional actually. 19 September 2023, 14:32:02 UTC
22a0276 Make Ctrl-D not hang in the fallback repl (#51384) 19 September 2023, 14:15:03 UTC
06432bc Make `cache_file_entry` more type stable (#51382) According to JET.jl, the type inference was not able to tell the type of `pkg.uuid` in the `pkg.uuid !== nothing` branch. Moving this to a local variable first should resolve that problem. 19 September 2023, 11:26:41 UTC
27c75a4 Add alloc-free in-place `Tridiagonal` solves and `lu!` (#50535) 19 September 2023, 09:57:45 UTC
1dcd644 Fix typo: " is is " (#51379) Closes #51373 19 September 2023, 03:29:36 UTC
e7290dc Add environment variable to force the use of the fallback repl (#51370) While working on moving REPL.jl out of base I noticed that the fallback repl hangs. In order to debug that and to test this code we should allow `JULIA_FALLBACK_REPL=1 julia` to load the fallback repl even if REPL.jl is available. 19 September 2023, 02:06:57 UTC
14119e0 factor out common code for `Xoshiro` and `TaskLocalRNG` (#51347) This makes more use of `setstate!`, and adds `getstate(rng)` which returns the 5-tuple `(s0, s1, s2, s3, s4)`. This is essentially "NFC", but it enables the useless `copy!(TaskLocalRNG(), TaskLocalRNG())`. 18 September 2023, 18:00:43 UTC
b189bed Move thread name after ptls field to avoid changing offsets (#51353) Makes it a bit easier to recompile with Tracy, the sysimg stays valid since we don't change the offset of the ptls field. 18 September 2023, 15:29:40 UTC
893fecc Fix debug level check and add types to allocations in the IR (#51338) 18 September 2023, 14:42:29 UTC
a811406 EA: minor updates on EA (#51365) - update outdated test code - add more comments on TODO items - use `MethodInstance` for better frame-identity check - minor cleanups on the inlining code 18 September 2023, 14:11:44 UTC
3e9e3be Update Condition() docs to highlight return value and error (#50688) 18 September 2023, 13:19:04 UTC
5a1c31c Test that replace throws Method error for Pair arguments (#50901) 18 September 2023, 13:05:48 UTC
4a311d6 A few libgit2 improvements/fixes (#51259) * 1.7.0 support. * A few more operations on remote. * Getting commit parents. 18 September 2023, 12:54:23 UTC
8e21b21 Remove boxing in pinv (#51351) As discussed in https://discourse.julialang.org/t/pinv-not-type-stable/103885/14, the `tol` variable is captured which leads to it being boxed, as suggested can be fixed by having two separate variables. 18 September 2023, 12:50:13 UTC
106e867 testdefs: make sure that if a test set changes the active project, they change it back when they're done (#51029) We already check the following for mutation by a test set: 1. DEPOT_PATH 2. LOAD_PATH 3. ENV So this PR just adds the active project to the list of things we check. Changing the active project during a test set can definitely have negative effects on subsequent test sets that are run on the same worker, so we want to make sure if a test set changes the active project, that they change it back when they're done. 18 September 2023, 02:15:27 UTC
e708c5e Add cross-references between codeview functions/macros (#51349) 17 September 2023, 21:15:13 UTC
28d0e1e TaskLocalRNG: test that `copy` handles the splitmix state (#51355) This adds a test for #51332. 17 September 2023, 15:43:49 UTC
ee371a1 mention `getindex()` shouldn't return a "view" (#47099) fix #47078 --------- Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> Co-authored-by: Tim Holy <tim.holy@gmail.com> 17 September 2023, 15:20:51 UTC
c932fb2 Precompile pidlocks: add to NEWS and docs (#50385) 17 September 2023, 14:08:37 UTC
a83186f Tweaks to repl tab complete hints - pt. 2 (#51339) 17 September 2023, 13:55:54 UTC
26ceebf Don't give public but unexported symbols as repl completions in an unqualified context (#51345) 17 September 2023, 12:25:50 UTC
ebe1a37 Upgradeable Statistics stdlib (#46501) 16 September 2023, 12:52:17 UTC
27c24f6 Scoped values (#50958) ScopedVariables are containers whose observed value depends the current dynamic scope. This implementation is inspired by https://openjdk.org/jeps/446 A scope is introduced with the `scoped` function that takes a lambda to execute within the new scope. The value of a `ScopedValue` is constant within that scope and can only be set upon introduction of a new scope. Scopes are propagated across tasks boundaries. Storage is implemented using a persistent dictionary. 16 September 2023, 12:51:14 UTC
6825abc EA: perform analysis once for post-optimization IR, and remove `IPO EA` (#51318) Following the discussions and changes in #50805, we now consider post-inlining IR as IPO-valid. Revisiting EA, I've realized that running EA twice—once for computing IPO-valid escape cache and once for local optimization analysis—is redundant. This commit streamlines the EA process to perform the analysis just once on post-optimization IR, and caches that result. This change also removes all interprocedural EA code, which had significant overlap with inlining code. --------- Co-authored-by: Julian Samaroo <jpsamaroo@jpsamaroo.me> 16 September 2023, 08:29:07 UTC
9ccf346 Improve help grammar for field hints (#51178) 16 September 2023, 02:57:37 UTC
b2dfa1d Deprecate `permute!!` and `invpermute!!` (#51337) 16 September 2023, 02:57:10 UTC
back to top