fdb2f91 | Viral B. Shah | 09 July 2024, 13:54:26 UTC | Update base/essentials.jl Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 09 July 2024, 13:54:26 UTC |
b071872 | Shuhei Kadowaki | 13 June 2023, 18:13:57 UTC | improve docs for `@inbounds` and `Base.@propagate_inbounds` Despite the widespread use of these macros, there's a lack of detailed explanation about their behaviors. In particular, it's not very clear how the latter macro can be employed. This commit aims to improve their documentation, supplementing it with examples. | 13 June 2023, 18:13:57 UTC |
9d839f9 | Keno Fischer | 13 June 2023, 17:25:12 UTC | Refactor irinterp refinement logic (#50155) This continues the refactoring begun by #49340 to have irinterp consume the IR_FLAG_REFINED flag. This essentially has the same effect as the extra_reprocess bitset that irinterp takes, so we can remove that. However, there is a related issue where we would like to inform irinterp that we have *already* refined the type of a particular statement (likely using information not available to the irinterp) and would like it to just propagate that if possible. So bring back that extra bitset with a new name and these new semantics to make that possible. While I was working on this, I also noticed that the control hook I added in #48199 wasn't quite working as advertised. I don't currently need it, so rather than trying to work through an API without a concrete consumer, just nuke that hook for now. I do still think it'll be required at some point, but we can always add it back. | 13 June 2023, 17:25:12 UTC |
320e00d | Jameson Nash | 13 June 2023, 14:33:57 UTC | lowering: try to ignore special metadata nodes in tail position (#49963) A number of packages are relying on lowering removing or ignoring line number nodes that they place in incorrect position in the AST. Accommodate those packages accordingly. Fix #49920 | 13 June 2023, 14:33:57 UTC |
0d89d8b | Shuhei Kadowaki | 13 June 2023, 10:50:10 UTC | Test: support multiple assignments for `@testset let` (#50151) Nested `ContextTestset` is supported, so we can stack it when there are multiple assignments in a given `let` block. ```julia julia> @testset let logi = log(im), op = !iszero @test imag(logi) == π/2 @test op(real(logi)) end Test Failed at none:3 Expression: !(iszero(real(logi))) Context: logi = 0.0 + 1.5707963267948966im op = !iszero ERROR: There was an error during testing ``` | 13 June 2023, 10:50:10 UTC |
f007c01 | Shuhei Kadowaki | 13 June 2023, 10:46:51 UTC | fix `array_builtin_common_nothrow` for `arrayref` (#50152) | 13 June 2023, 10:46:51 UTC |
7cd7a1b | Mosè Giordano | 13 June 2023, 06:54:21 UTC | Enable JITLink in aarch64 linux. (#49745) * Enable JITLink in aarch64 linux. * Simplify logic to enable JITLink * Do not enable JITLink on Aarch64 Linux with LLVM < 15 * Add NEWS entry and mention JITLink memory bug in ARM devdocs --------- Co-authored-by: Sunho Kim <ksunhokim123@gmail.com> | 13 June 2023, 06:54:21 UTC |
061401e | Elliot Saba | 13 June 2023, 04:27:13 UTC | Merge pull request #50150 from JuliaLang/kf/refkillissues Fix various refcount violations | 13 June 2023, 04:27:13 UTC |
0083a04 | Keno Fischer | 13 June 2023, 01:24:42 UTC | Fix refcount violations in new ifelse sroa lifting Fixes a refcount violation in #49882. Unlike PhiNodes, the code for ifelse was referencing the old arguments in the newly inserted nodes, so they were getting counted. However, it did not update the count when replacing these arguments later. Fix this by aligning with PhiNode and leaving the arguments unset, pushing them in later. | 13 June 2023, 01:27:16 UTC |
c3cd3eb | Keno Fischer | 13 June 2023, 01:23:20 UTC | Fix refcount violation for pending_nodes These nodes get passed through renaming, but with SSAValues already renamed. Due to a long-standing bug, we were failing to refcount those SSAValues on insertion. Fix that bug. | 13 June 2023, 01:27:16 UTC |
970941c | Shuhei Kadowaki | 12 June 2023, 22:38:40 UTC | effects: allow concrete-eval when `--check-bounds=no` if proven "safe" (#50107) From version 1.9 onwards, when `--check-bounds=no` is used, concrete-eval is completely disabled. However, it appears `--check-bounds=no` is still being used within the community, causing issues like the one reported in JuliaArrays/StaticArrays.jl#1155. Although we should move forward to a direction of eliminating the flag in the future (#48245), for the time being, there are many requests to carry out a certain level of compiler optimization, even when this flag is enabled. This commit aims to allow concrete-eval "safely" even under `--check-bounds=no`. Specifically, when the method call being analyzed is `:nothrow`, it should be predominantly safe to concrete-eval it under this flag. Technically, however, even `:nothrow` methods could trigger undefined behavior, since `:nothrow` isn't a strict constraint and it's possible for users to annotate potentially risky methods with `Base.@assume_effects :nothrow`. Nonetheless, since this possibility is acknowledged in `Base.@assume_effects` documentation, I feel it's fair to relegate it to user responsibility. | 12 June 2023, 22:38:40 UTC |
bf9bbb2 | Sheehan Olver | 12 June 2023, 19:07:25 UTC | Add doc string for reflectorApply! (#50081) | 12 June 2023, 19:07:25 UTC |
d69b1a2 | Christopher Rackauckas | 12 June 2023, 14:26:22 UTC | Add check call to getrf! (#50134) * Add check call to getrf! `lu!(A; check=false)` is supposed to disable the checking and leave it to the user: > When check = true, an error is thrown if the decomposition fails. When check = false, responsibility for checking the decomposition's validity (via issuccess) lies with the user. However, this is not quite true since `lu!` calls `getrf!` which internally does a check for `chkfinite` which does throw an error. This updates the `getrf!` function to have a `check` argument which is then used by `lu!` to fully disable the error throwing checks. * Update lapack.jl | 12 June 2023, 14:26:22 UTC |
75bda64 | Jeff Bezanson | 12 June 2023, 07:13:48 UTC | speed up expansion and lowering of ccall macro (#50077) | 12 June 2023, 07:13:48 UTC |
a81398f | Mosè Giordano | 11 June 2023, 20:47:32 UTC | [CompilerSupportLibraries_jll] Upgrade to v1.0.5 (#50135) This build includes a fix from GCC 12.2 for a bug in libgomp 12.1 which was causing frequent crashes on Windows in third-party libraries. | 11 June 2023, 20:47:32 UTC |
c58e508 | Martin Kunz | 10 June 2023, 16:12:48 UTC | fix(docs): typo in code-loading (#50123) | 10 June 2023, 16:12:48 UTC |
a31c8ef | Shuhei Kadowaki | 10 June 2023, 04:12:00 UTC | inlining: fix the `joint_effects` calculation (#50117) There are cases when `joint_effects` already has `:nothrow` tainted while the matches are fully covered. | 10 June 2023, 04:12:00 UTC |
0919cba | Chris Hodapp | 09 June 2023, 20:30:51 UTC | Fix typo in calling-c-and-fortran-code.md (#50121) | 09 June 2023, 20:30:51 UTC |
59bf9e8 | Kristoffer Carlsson | 09 June 2023, 19:24:52 UTC | use a fixed world for code loading (#49525) | 09 June 2023, 19:24:52 UTC |
feaea22 | Kristoffer Carlsson | 09 June 2023, 19:23:54 UTC | print the skipping bytes notification when skipping printing parts of a string in color (#50096) | 09 June 2023, 19:23:54 UTC |
f8827f1 | Jishnu Bhattacharya | 09 June 2023, 14:46:41 UTC | Structured display for adjoint/transpose (#49979) * Structured display for adjoint/transpose * structured display for Symmetric/Hermitian * tests with Symmetric and Transpose | 09 June 2023, 14:46:41 UTC |
2584b59 | Jishnu Bhattacharya | 09 June 2023, 13:17:47 UTC | Fill zeros only if necessary in `Matrix(::Diagonal)` and friends (#50008) * delay filling zeros while convering (sym)tridiag to matrix * conditional zero fill for bidiagonal/diagonal | 09 June 2023, 13:17:47 UTC |
43d7f88 | Shuhei Kadowaki | 09 June 2023, 04:28:41 UTC | effects: audit `EFFECTS_UNKNOWN` usages (#50106) | 09 June 2023, 04:28:41 UTC |
d041162 | Viral B. Shah | 09 June 2023, 01:42:26 UTC | Update mailmap (#50116) | 09 June 2023, 01:42:26 UTC |
7ceea13 | Erik Schnetter | 09 June 2023, 01:39:18 UTC | Update Unicode.jl (#50087) Correct confusing typo in documentation | 09 June 2023, 01:39:18 UTC |
746a15b | Lilith Orion Hafner | 08 June 2023, 21:52:57 UTC | Fail gracefully when attempting pair destructuring (#49368) `a => b = x` was interpreted as a function definition. Now it's an error unless you `import Base: =>` | 08 June 2023, 21:52:57 UTC |
c4d162e | Max Horn | 08 June 2023, 15:55:41 UTC | mkpidlock: clarify that stale_age is given in seconds (#50014) | 08 June 2023, 15:55:41 UTC |
0a2d6fc | Gabriel Baraldi | 08 June 2023, 15:28:34 UTC | Don't use exchange in the hot path of the GC (#50021) * Don't use exchange in the hot path of the GC and save one extra load | 08 June 2023, 15:28:34 UTC |
2c80455 | Lars Göttgens | 08 June 2023, 14:54:42 UTC | Revert "allow artifact string macro to take an explicit path to the artifact file (#46755)" (#50036) This reverts commit 1720a54011f7520f30ae69088e5c1b6f9643b35e. | 08 June 2023, 14:54:42 UTC |
4200aa9 | pchintalapudi | 07 June 2023, 21:15:19 UTC | Unify and split the pass pipeline (#49798) Unify and split the pass pipeline | 07 June 2023, 21:15:19 UTC |
2e76fc4 | Jishnu Bhattacharya | 07 June 2023, 19:27:36 UTC | Update return type in collect(::Dict) docs (#50056) | 07 June 2023, 19:27:36 UTC |
1f174a6 | Lilith Orion Hafner | 07 June 2023, 19:14:20 UTC | Fix typo in CONTRIBUTING.md (#50104) | 07 June 2023, 19:14:20 UTC |
d7d7ffa | pchintalapudi | 07 June 2023, 16:46:41 UTC | Invoke the passbuilder's extension point callbacks when possible (#50095) Invoke the passbuilder's extension point callbacks when possible | 07 June 2023, 16:46:41 UTC |
13e40af | Lilith Orion Hafner | 07 June 2023, 14:01:12 UTC | Skip flakey tests in CI (#50071) | 07 June 2023, 14:01:12 UTC |
36c5953 | Oscar Smith | 07 June 2023, 13:26:17 UTC | More `hash` optimization (#50041) * speed up hash of Float32/Float16 since they never are big numbers, and hash of arbitrary real types by not hashing the denominator when it is one | 07 June 2023, 13:26:17 UTC |
dbd82a4 | pchintalapudi | 07 June 2023, 04:40:07 UTC | Update newpm pass pipeline (#49747) Co-authored-by: Gabriel Baraldi <baraldigabriel@gmail.com> | 07 June 2023, 04:40:07 UTC |
0b47546 | Shuhei Kadowaki | 07 June 2023, 01:04:05 UTC | array: make `DimensionMismatch` lazy-string friendly (#50079) At the moment, the `msg` field of `DimensionMismatch` is typed as `String`. This means lazy strings passed to `DimensionMismatch` are instantly instantiated, defeating the whole purpose of using `LazyString`. This commit tweaks the field type to `AbstractString`. This way, lazy strings get instantiated during the exception handling later on. | 07 June 2023, 01:04:05 UTC |
e111c01 | Valentin Churavy | 06 June 2023, 23:34:53 UTC | add default order for atomics to docstring (#50086) | 06 June 2023, 23:34:53 UTC |
bbbe8c3 | Shuhei Kadowaki | 06 June 2023, 22:08:30 UTC | missing: improve effects for some missing operations (#50080) | 06 June 2023, 22:08:30 UTC |
c3ea5dc | Oscar Smith | 06 June 2023, 17:26:20 UTC | fix `hash(::BigInt)` on 32 bit systems (#50076) * don't define hash(::BigInt) on 32 bit systems | 06 June 2023, 17:26:20 UTC |
4d2f35e | Mike Boyle | 06 June 2023, 16:23:45 UTC | Update URL for "lexical scoping" (#50085) | 06 June 2023, 16:23:45 UTC |
53bcb39 | Lilith Orion Hafner | 06 June 2023, 13:25:00 UTC | Fixup `hash(::Real)` broken by #49996 (#50067) * fixup for 49996 and add test from 50065 --------- Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> | 06 June 2023, 13:25:00 UTC |
1bb3d26 | DilumAluthgeBot | 06 June 2023, 11:39:36 UTC | 🤖 [master] Bump the Pkg stdlib from 9c01707a2 to 4de1826bc (#50078) | 06 June 2023, 11:39:36 UTC |
112554e | Mosè Giordano | 06 June 2023, 00:01:44 UTC | [test] Automatically install `llvm-tools` when runnning `llvmpasses` (#49985) | 06 June 2023, 00:01:44 UTC |
c16891d | Zachary P Christensen | 05 June 2023, 23:20:47 UTC | Atomic pointer operations APIs (#49811) This provides and interface to `Intrinsics.atomic_pointerref` and `Intrinsics.atomic_pointerset` through `unsafe_load` and `unsafe_store!`. Added the following atomic pointer operations: unsafe_modify! unsafe_replace! unsafe_swap! elsize(::Type{<:Ptr}) Tests previously using the explicit intrinsic method here are replaced by the new user facing variants. Add notes about atomic implementation and refs to relevant field and property method docs. Move general atomic doc strings to kw doc and ref in multi-threading. Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com> | 05 June 2023, 23:20:47 UTC |
32e2986 | pchintalapudi | 05 June 2023, 22:44:49 UTC | Add LLVMExtra stubs for newpm (#50042) | 05 June 2023, 22:44:49 UTC |
3051f47 | Takafumi Arakaki | 05 June 2023, 18:29:23 UTC | Use xchg to swap boxed values (#45147) * Use xchg to swap boxed values * Update src/cgutils.cpp Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> * Update src/cgutils.cpp Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> | 05 June 2023, 18:29:23 UTC |
270a1d8 | Fons van der Plas | 05 June 2023, 18:26:51 UTC | Docs: simple docstring for `write(filename::AbstractString, x)` (#49835) * Docs: simple docstring for `write(filename::AbstractString, x)` * use `content` instead of `x` * Update base/io.jl Co-authored-by: Jameson Nash <vtjnash@gmail.com> * Update base/io.jl --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 05 June 2023, 18:26:51 UTC |
3c29942 | Nathan Daly | 05 June 2023, 17:18:44 UTC | Remove printlns from test/atexit.jl (#50066) | 05 June 2023, 17:18:44 UTC |
f407a4c | Shuhei Kadowaki | 04 June 2023, 03:20:02 UTC | inlining: allow callsite inlining with cached results (#50048) In some rare cases with callsite inlining, we try to inline an inferred result from a local cache (`inf_result::InferenceResult`), whose source has been transformed by `transform_result_for_cache`. At present, `inf_result.src` stays to be `OptimizationState` in such cases, causing `inlining_policy` to handle the callsite inlining. This commit adjusts `transform_result_for_cache` so that it stores the transformed source in `inf_result.src`, letting the callsite inliner use it. Down the line, we might revisit this change to align it with 532125d51d23f22c3fd117fe8a37c158fe16ac62, which isn't enabled yet. | 04 June 2023, 03:20:02 UTC |
ff23b37 | Ian Butterworth | 04 June 2023, 01:27:33 UTC | add docs on task migration (#50047) | 04 June 2023, 01:27:33 UTC |
0c774c7 | Alexander Plavin | 03 June 2023, 05:13:14 UTC | fix empty string error in Printf (#50011) * fix empty string error in Printf * Update runtests.jl * Update runtests.jl | 03 June 2023, 05:13:14 UTC |
c3d70e8 | Colin Caine | 03 June 2023, 05:02:18 UTC | Update Printf.jl reference link (#50029) The old link described %g inaccurately. The new one is better (tho it mentions %n, which we don't support). | 03 June 2023, 05:02:18 UTC |
f4a264a | pchintalapudi | 02 June 2023, 23:31:22 UTC | Rename LLVM passes to be suffixed with Pass (#50043) | 02 June 2023, 23:31:22 UTC |
1961019 | Lilith Orion Hafner | 02 June 2023, 14:45:38 UTC | Optimize top_set_bit(::BigInt) and hash(::Real) (#49996) * implement top_set_bit in Julia for increased performance * simplify and optimize hash(::Real) --------- Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> | 02 June 2023, 14:45:38 UTC |
f09e46d | Steve Kelly | 02 June 2023, 13:27:26 UTC | add Compiler diagram (#49893) This is inspired by the diagram presented by Lionel Zoubritzky in his 2018 JuliaCon talk. This gives a visual overview of what is happening in the compiler. | 02 June 2023, 13:27:26 UTC |
0efb7c5 | Steve Kelly | 02 June 2023, 13:26:41 UTC | add docs for `Base.shred!` (#50032) It was mentioned in `Base.SecretBuffer`. | 02 June 2023, 13:26:41 UTC |
be2c35a | Steve Kelly | 02 June 2023, 13:26:11 UTC | mention `Cmd(::Vector{String})` in `Cmd` docstring (#49684) * mention `Cmd(::Vector{String})` in `Cmd` docstring This seems like a cyclical definition without it, and naively `Cmd` and `String` seem on the surface to be similar so it can be surprising that `Cmd("a string")` does not work. Adding this signature in the docstring should obviate the issues for first time users that read the docstring without having reviewed the manual. We also clarify the behavior of `exec` and command literals. --------- Co-authored-by: Steven G. Johnson <stevenj@mit.edu> | 02 June 2023, 13:26:11 UTC |
a35e53d | Cody Tapscott | 02 June 2023, 03:25:46 UTC | Merge pull request #49901 from topolarity/julia-side-timing Allocate timing counts on-the-fly + support dynamic events | 02 June 2023, 03:25:46 UTC |
3c915f3 | Cody Tapscott | 26 May 2023, 02:30:52 UTC | Sort jl_timing counts events before printing | 01 June 2023, 19:38:42 UTC |
3b90d5e | Cody Tapscott | 26 May 2023, 00:49:51 UTC | Use `jl_timing_set_enable` instead of `DISABLE_SUBSYSTEM` | 01 June 2023, 19:38:41 UTC |
5850227 | Cody Tapscott | 25 May 2023, 16:11:45 UTC | Add timing event locks + de-duplicate ITTAPI events | 01 June 2023, 19:37:48 UTC |
cb0537f | Cody Tapscott | 19 May 2023, 07:46:07 UTC | timing: Allocate all timing events dynamically This paves the way for a Julia-side API that can create new events on-the-fly without having to modify timing.h The core of the change is to introduce two different structs: - An "event" stores all of the statically-determined attributes of a profiler event (typically, zone name and source location info) - A "timing block" stores the dynamic information relevant to a particular span/measurement in the timing run Events and timing blocks have a one-to-many relationship. The intended pattern for a Julia-side API is to construct an event once at parse-time using `jl_timing_event_create` (since this is relatively expensive due to profiler traffic and allocations) and then to create its own timing block on-the-fly for each block entry/exit. This also re-factors the API a bit to hopefully be more consistently named | 01 June 2023, 19:37:46 UTC |
f61bbfb | Stefan Karpinski | 01 June 2023, 12:45:04 UTC | Some mailmap updates (#49997) | 01 June 2023, 12:45:04 UTC |
e0761b3 | Shuhei Kadowaki | 01 June 2023, 04:37:51 UTC | inlining: some refactoring on the inlining code (#50016) - clean up the edge tracking: * removed `valid_worlds` tracking since it is never updated * removed `EdgeTracker` object and make `InliningEdgeTracker` update inlining edges always - clean up dead `OptimizationParams` arguments | 01 June 2023, 04:37:51 UTC |
304e9a0 | Kiran | 31 May 2023, 20:16:01 UTC | Add GC metric `last_full_sweep` (#50018) Records the time that the last full sweep ran. | 31 May 2023, 20:16:01 UTC |
e4cf096 | Kristoffer Carlsson | 31 May 2023, 18:50:46 UTC | Merge pull request #50010 from JuliaLang/kc/profiling_changes Minor tweaks to the runtime profiling | 31 May 2023, 18:50:46 UTC |
28630ee | Elliot Saba | 31 May 2023, 18:39:13 UTC | Merge pull request #50002 from topolarity/clangsa-gcc-error Makefile: Use Clang CFLAGS when running `analyzegc` | 31 May 2023, 18:39:13 UTC |
dd44113 | Shuhei Kadowaki | 31 May 2023, 17:25:03 UTC | add `@inline` annotation to `Core.Compiler.specialize_method` (#50015) Since the return type of `Core.Compiler.specialize_method` relies on the boolean keyword argument `preexisting`, it is profitable to constant propagate it to get better inferrability. | 31 May 2023, 17:25:03 UTC |
9b27a8f | Shuhei Kadowaki | 31 May 2023, 15:49:36 UTC | errorshow: simplify printing of keyword argument types using a new macro format (#49959) In Julia, keyword arguments are represented as `Base.Pairs` objects. However, the object type often appears unnecessarily complex, especially when printed in a stack trace. This commit aims to simplify the printing of stack traces that involve keyword method calls, while still allowing us to reconstruct the actual method signature types from the printed signature types. The approach is similar to #49117: this commit introduces a new macro called `Base.@Kwargs`. It follows the same syntax as `@NamedTuple` and returns a `Base.Pairs` type that is used for keyword method calls. We use this syntax when printing keyword argument types. Here's an example of a stack trace: ```diff diff --git a/b.jl b/a.jl index 91dd6f0464..b804ae4be5 100644 --- a/b.jl +++ b/a.jl @@ -22,12 +22,11 @@ Stacktrace: @ Base ./reduce.jl:44 [inlined] [6] mapfoldl(f::typeof(identity), op::typeof(Base.add_sum), itr::String; init::Int64) @ Base ./reduce.jl:175 [inlined] - [7] mapreduce(f::typeof(identity), op::typeof(Base.add_sum), itr::String; kw::Base.Pairs{…}) + [7] mapreduce(f::typeof(identity), op::typeof(Base.add_sum), itr::String; kw::@Kwargs{init::Int64}) @ Base ./reduce.jl:307 [inlined] - [8] sum(f::typeof(identity), a::String; kw::Base.Pairs{Symbol, Int64, Tuple{Symbol}, @NamedTuple{init::Int64}}) + [8] sum(f::typeof(identity), a::String; kw::@Kwargs{init::Int64}) @ Base ./reduce.jl:535 [inlined] - [9] sum(a::String; kw::Base.Pairs{Symbol, Int64, Tuple{Symbol}, @NamedTuple{init::Int64}}) + [9] sum(a::String; kw::@Kwargs{init::Int64}) @ Base ./reduce.jl:564 [inlined] [10] top-level scope ``` --- * RFC: errorshow: simplify printing of keyword argument types using a new macro format * export and document `Base.@Kwargs` and further simplify the stack trace view * use the `@Kwargs` syntax only when printing kwmethod signature within stack trace view And add tests. * add news entry * more type stability * Apply suggestions from code review * enable the type-repr simplification unconditionally in the stack trace Since keyword pairs can appear within positional arguments, it can be confusing if we print the same type with different representations. * omit type annotation for splat keyword argument * add test for `@Kwargs` * clean up test/errorshow.jl | 31 May 2023, 15:49:36 UTC |
d3d09c1 | Kristoffer Carlsson | 31 May 2023, 14:04:41 UTC | add a timing zone for `call_require` (#49723) | 31 May 2023, 14:04:41 UTC |
d5145de | Lilith Orion Hafner | 31 May 2023, 13:44:55 UTC | fix and test sorting arrays with >1 dimension and custom `similar` (#49392) * fix and test sorting arrays with >1 dimension and custom `similar` * add PR number --------- Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> | 31 May 2023, 13:44:55 UTC |
faca5bd | KristofferC | 31 May 2023, 10:18:36 UTC | disable `TYPE_CACHE_INSERT` profile zone by default This one tend to be very fast, produce many entries and it tends to be not very interesting in most cases | 31 May 2023, 11:16:15 UTC |
b050ca9 | KristofferC | 31 May 2023, 10:17:45 UTC | only add an entry for `METHOD_MATCH` if it does some work | 31 May 2023, 11:16:15 UTC |
da98f54 | KristofferC | 31 May 2023, 10:17:23 UTC | move `jl_timing_apply_env` to a later place where it uses initialized data Also, move it after `DISABLE_SUBSYSTEM` to avoid it clobbering the results. | 31 May 2023, 11:15:40 UTC |
ca3270b | Jameson Nash | 31 May 2023, 09:33:03 UTC | lowering: apply let hygiene in let environment (#49999) Not just a regression, since this test also fails on old versions, but #49897 applied the wrong environment to make this hygiene correct which broke it worse. Fix #49984 | 31 May 2023, 09:33:03 UTC |
7e25ebf | DilumAluthgeBot | 31 May 2023, 09:32:18 UTC | 🤖 [master] Bump the Pkg stdlib from daf02a458 to 9c01707a2 (#50005) * 🤖 [master] Bump the Pkg stdlib from daf02a458 to 9c01707a2 * remove Pkg.LazilyInitializedFields from docs --------- Co-authored-by: Dilum Aluthge <dilum@aluthge.com> Co-authored-by: Ian <i.r.butterworth@gmail.com> | 31 May 2023, 09:32:18 UTC |
c3a08fe | Cody Tapscott | 30 May 2023, 20:13:57 UTC | Makefile: For gcanalyze, use Clang's CFLAGS not GCC's It's supported to build the analysis plugin with GCC, but the flags we actually run it with need to match Clang. | 31 May 2023, 02:47:09 UTC |
84bf67c | Lilith Orion Hafner | 30 May 2023, 19:55:28 UTC | Support sorting iterators (#46104) * widen sort's type signature * throw on AbstractString * Throw on infinite iterator * make sort(::NTuple) return a tuple (use vector internally for sorting for large tuples) | 30 May 2023, 19:55:28 UTC |
d912d85 | Fons van der Plas | 30 May 2023, 19:32:58 UTC | doc: simple docstring for `read(filename::AbstractString)` (#49836) | 30 May 2023, 19:32:58 UTC |
318f0ea | Fons van der Plas | 30 May 2023, 19:29:25 UTC | docs: first describe simple `read` and `write` without streaming (#49834) | 30 May 2023, 19:29:25 UTC |
c63feee | Fabian Zickgraf | 30 May 2023, 19:25:24 UTC | show: fix printing of "function (x...) end" (#49874) Previously, the parentheses were missing. | 30 May 2023, 19:25:24 UTC |
bd5e6da | Jameson Nash | 30 May 2023, 19:11:00 UTC | fix atomic intrinsics implementation issues (#49967) * jltypes: add missing GC root for cmpswap_type Tuple. This is called with a fieldtype, which might not even be a DataType. * support Ptr{Union{}} and Ptr{Cvoid} better | 30 May 2023, 19:11:00 UTC |
f6f637a | Jameson Nash | 30 May 2023, 19:09:40 UTC | cleanup: some fixes from effort to break up monolithic sysimg build (#49953) From #38119 | 30 May 2023, 19:09:40 UTC |
20752db | Nathan Daly | 30 May 2023, 16:23:39 UTC | thread safety: lock around atexit_hooks global (#49868) Ensure the lock is precise, so that we are allowed to register new atexit hooks from inside an atexit hook. But then disable `atexit()` when shutting down after it finishes running. Add tests that cover all the cases: 1. registering a hook from inside a hook 2. registering a hook from another thread while hooks are running 3. attempting to register a hook after all hooks have finished (disallowed) Fixes #49841 Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 30 May 2023, 16:23:39 UTC |
ed5bd4c | Shuhei Kadowaki | 30 May 2023, 06:09:08 UTC | Revert "Use `top_set_bit` to optimize `hash(Real)` (#49986)" (#49993) This reverts commit 18d02c249a90a7c2d25ac5a99a14cf7a414a3295. | 30 May 2023, 06:09:08 UTC |
18d02c2 | Lilith Orion Hafner | 29 May 2023, 23:23:15 UTC | Use `top_set_bit` to optimize `hash(Real)` (#49986) | 29 May 2023, 23:23:15 UTC |
957972e | Gabriel Baraldi | 29 May 2023, 19:21:26 UTC | Expose the Julia JIT with a C API (#49858) | 29 May 2023, 19:21:26 UTC |
1cc10a6 | Shuhei Kadowaki | 29 May 2023, 09:20:39 UTC | refactor `Base.StackTraces.show_spec_linfo` (#49951) This commit separates the `MethodInstance` handling of `Base.StackTraces.show_spec_linfo` into `Base.StackTraces.show_spec_sig`, which can be generally useful for external code inspection tools or debuggers (like JET.jl). | 29 May 2023, 09:20:39 UTC |
0d5bd2f | Navid C. Constantinou | 29 May 2023, 09:16:17 UTC | Add missing code formatting (#49983) | 29 May 2023, 09:16:17 UTC |
248ceda | Lilith Orion Hafner | 27 May 2023, 13:39:33 UTC | Abbreviate varinfo signature and re-order for consistency (#48860) | 27 May 2023, 13:39:33 UTC |
e727afb | Lilith Orion Hafner | 27 May 2023, 11:36:10 UTC | Move reflection documentation from devdocs to base (#47800) | 27 May 2023, 11:36:10 UTC |
fb3df69 | romaindegivry | 26 May 2023, 22:56:56 UTC | Improve error when indexing is interpreted as a typed comprehension (#49939) * Improve errors for typed_hcat by adding a special error for indexing that gets resolved as a typed comprehension. * Add a test for issue #49676 | 26 May 2023, 22:56:56 UTC |
ba2aa30 | Stephan Hilb | 26 May 2023, 21:44:37 UTC | Enum: fix stackoverflow in `hash` for custom enum subtypes introduced in #49777 (#49964) | 26 May 2023, 21:44:37 UTC |
f8dd16e | Zachary P Christensen | 26 May 2023, 18:53:31 UTC | Add Libc methods for memmove/memcpy/memset/memcmp (#49550) These are used in many places (and are actually LLVM compiler intrinsics), so it probably makes more sense to define them one and export them to users. The Libc module contains some code that we might not care to have as part of bootstrapping. However, the C-memory methods are directly called throughout bootstrapping so these are now defined in a seperate "cmem.jl" file that is defined in Base then imported into `Libc` for the public interface. Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 26 May 2023, 18:53:31 UTC |
ba1391a | Jameson Nash | 26 May 2023, 18:51:09 UTC | some minor hygiene fixes (#49897) This code does a bad job handling `(escape symbol)` in a lot of places. This attempts to fix some of them by peeking through it more. | 26 May 2023, 18:51:09 UTC |
23e0b2d | Tim Besard | 26 May 2023, 17:09:12 UTC | Hide safepoint prologue and CFI instructions from reflection. (#49948) | 26 May 2023, 17:09:12 UTC |
666d325 | Thomas Graham | 26 May 2023, 12:53:34 UTC | Fix conversion of infinities to integers (#49624) Fixes #49422 | 26 May 2023, 12:53:34 UTC |
4ef9fb1 | Tim Besard | 26 May 2023, 12:25:37 UTC | When adopting a thread, spin until GC isn't running. (#49934) Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> | 26 May 2023, 12:25:37 UTC |
91cd521 | Cody Tapscott | 26 May 2023, 01:55:35 UTC | Extend comparison lifting to `Core.ifelse` (#49882) This change extends our existing transformation for: φ(a,b) === Const(c) => φ(a === c, b === c) to perform the analogous transformation for `Core.ifelse`: Core.ifelse(cond, a, b) === Const(c) => Core.ifelse(cond, a === c, b === c) | 26 May 2023, 01:55:35 UTC |