swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40

sort by:
Revision Author Date Message Commit Date
15b590b Docs formatting (#50049) 12 August 2023, 03:47:17 UTC
0eb13d7 Add default method for setmodifiers! (#50822) Fixes #50690 11 August 2023, 19:20:48 UTC
3838dab Fix big(1)^big(-1) (#50821) This PR gives BigInt exponentiation the same edge-case behavior as other integer exponentiation. The normal integer exponentiation checks if `x` is `1` or `-1` before erroring if the power is negative. https://github.com/JuliaLang/julia/blob/9f9e989f241fad1ae03c3920c20a93d8017a5b8f/base/intfuncs.jl#L283-L287 With this PR `big(1)^big(-1) == 1`, `big(-1)^big(-1) == -1` and `big(-1)^big(-2) == 1` --------- Co-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com> 11 August 2023, 19:19:16 UTC
eb4416b Restrict COFF to a single thread when symbol count is high (#50874) 11 August 2023, 14:15:23 UTC
2c0e1d8 Use imaging mode generated code only (#50847) 11 August 2023, 14:14:09 UTC
555cd23 Add a `threadpool` parameter to `Channel` constructor (#50858) Without this, the task created by a `Channel` will run in the threadpool of the creating task; in the REPL, this could be the interactive threadpool. On 1.8, without threadpools: ```julia % julia +1.8 -t 8 _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.8.5 (2023-01-08) _/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release |__/ | julia> for _ in 1:10 Channel{Int}(1; spawn=true) do _ Core.print("threadid=$(Threads.threadid())\n") end end threadid=2 threadid=5 threadid=2 threadid=2 threadid=1 threadid=6 threadid=7 threadid=8 threadid=3 threadid=4 ``` On 1.9, with no interactive threads: ```julia % julia +1.9 -t 8 _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.9.2 (2023-07-05) _/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release |__/ | julia> for _ in 1:10 Channel{Int}(1; spawn=true) do _ Core.print("threadid=$(Threads.threadid())\n") end end threadid=4 threadid=4 threadid=4 threadid=2 threadid=3 threadid=1 threadid=7 threadid=5 threadid=8 threadid=6 ``` On 1.9, with an interactive thread: ```julia % julia +1.9 -t 7,1 _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.9.2 (2023-07-05) _/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release |__/ | julia> for _ in 1:10 Channel{Int}(1; spawn=true) do _ Core.print("threadid=$(Threads.threadid())\n") end end threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 ``` With this PR, the `:default` threadpool is used instead. ```julia % julia +master -t7,1 _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.11.0-DEV.244 (2023-08-09) _/ |\__'_|_|_|\__'_| | Commit d99f2496ff* (0 days old master) |__/ | julia> for _ in 1:10 Channel{Int}(1; spawn=true) do _ Core.print("threadid=$(Threads.threadid())\n") end end threadid=7 threadid=6 threadid=7 threadid=7 threadid=6 threadid=3 threadid=5 threadid=2 threadid=4 threadid=8 ``` And, the behavior can be overridden. ```julia % julia +master -t7,1 _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 1.11.0-DEV.244 (2023-08-09) _/ |\__'_|_|_|\__'_| | Commit d99f2496ff* (0 days old master) |__/ | julia> for _ in 1:10 Channel{Int}(1; spawn=true, threadpool=:interactive) do _ Core.print("threadid=$(Threads.threadid())\n") end end threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 threadid=1 ``` --------- Co-authored-by: Nathan Daly <NHDaly@gmail.com> 11 August 2023, 13:29:07 UTC
cda570e macOS: Don't inspect dead threadtls during exception handling. (#50871) Otherwise we may end up with the state of a dead thread, as the system IDs can alias. This can lead to an early return from the exception handler, resulting in e.g. safepoint exceptions being actually delivered to user code. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Cody Tapscott <topolarity@tapscott.me> 11 August 2023, 07:41:31 UTC
5db443a test: remove SparseArrays dependency from hashing test (#50751) These tests now belong in SparseArrays, since it is removed from Base. Since SparseArrays does some piracy, that can break or distort later tests. Refs #50550 10 August 2023, 21:20:39 UTC
517ad06 compiler: Rename :inst -> :stmt (#50868) As discussed in #49057, this renames the :inst field of `Instruction` to `:stmt` (`:inst` is still allowed for the moment to ease transition for out-of-tree users). I'm hoping to get through some more compiler datastructure cleanup in the 1.11 timeframe, but this is probably one of the larger ones in terms of number of lines affected. 10 August 2023, 19:12:55 UTC
cbd3c89 Avoid race conditions with recursive rm (#50842) If two processes attempt to recursively delete a directory at the same time, then we can end up in a state where the initial `isdir` is `true`, but by the time it actually deletes the directory it is already gone. e.g. - https://buildkite.com/clima/climacore-ci/builds/2460#0189d254-76a9-474b-ad25-e5b16440d629/140-142 which is triggered by https://github.com/cjdoris/PackageExtensionCompat.jl/blob/636eb5a14ddf9134d004c93f598515903af26443/src/PackageExtensionCompat.jl#L59 - https://buildkite.com/clima/climacore-ci/builds/2457#0189c7fe-8872-40c5-9106-da2e621ff55a/139-150 which is triggered by https://github.com/JuliaGPU/GPUCompiler.jl/blob/06e670657d7ceebc1845d7c9534a8352c33490de/src/rtlib.jl#L152 I've been conservative and only applied this when `force=true`, but perhaps it should apply generally? 10 August 2023, 16:25:44 UTC
2d24155 Initialize gvars with their pointer values in create_native (#50838) GPUCompiler won't have access to the runtime pointers for global variables emitted from `jl_create_native`, so we need to provide them here. 10 August 2023, 14:20:26 UTC
64c5292 Update stable version in README.md (#50866) Perhaps this may be automated using something like https://github.com/MathieuSoysal/file-updater-for-release 10 August 2023, 13:06:47 UTC
2f03072 Makes IntrusiveLinkedListSynchronized mutable to avoid allocation on poptask (#50802) Currently `poptask` is allocating every time it calls into `jl_task_get_next` due to `StickyWorkqueue` (`IntrusiveLinkedListSynchronized`) being immutable and requiring an allocation to be used as `Any` on the `ccall`. The allocations can be seen in the following snippet: ``` function work() done = 0.0 l = Threads.SpinLock() Threads.@sync for _ in 1:(Threads.nthreads() / 2) Threads.@spawn begin v = 1.0 for i in 1:(1<<33) v *= 1.0001 if i % (1 << 13) == 0 yield() end end Base.@lock_nofail l done += v end end return done end julia> @time work() 15.758794 seconds (5.03 M allocations: 153.523 MiB, 0.35% gc time) ``` Which after the change becomes: ``` julia> @time work() 15.907513 seconds (67 allocations: 4.719 KiB) ``` 10 August 2023, 11:07:57 UTC
b991397 Disallow non-index Integer types in isassigned (#50594) Extend #50587 to more general `AbstractArray`s. This is mainly to disallow `Bool` as an index in `isassigned`, as this isn't supported by `getindex`. After this ```julia julia> isassigned(rand(2,2), 1, true) ERROR: ArgumentError: invalid index: true of type Bool ``` which matches the behavior on v1.9. 10 August 2023, 09:28:14 UTC
d1759bc Add `Base.get_extension` to docs/API (#50860) The documentation of `Pkg.jl` is instructing developers to rely on the existence of this function, and there doesn't seem to be any alternative which is a part of the API that developers can use instead on to guarantee forward compatibility for the same behavior. `Base.get_extension` is [referred to explicitly](https://pkgdocs.julialang.org/v1.9/creating-packages/#Backwards-compatibility) in the `Pkg.jl` docs to conditionally use package extensions vs `Requires.jl`. The `Pkg.jl` docs suggest ```julia if !isdefined(Base, :get_extension) include("../ext/PlottingContourExt.jl") end ``` to transition from "normal dependency to extension," which will break and automatically load the extension in future versions should `Base.get_extension` go away. `Base.get_extension` is the only way (that I know of) to directly access the module associated with a package extension, which can be a useful utility as well. 10 August 2023, 08:55:45 UTC
ebae716 Subtype: bug fix for bounds with deeper covariant var (#50832) fix #50716. 10 August 2023, 00:23:14 UTC
744aa79 fix #50438, use default pool for at-threads (#50845) 09 August 2023, 20:45:28 UTC
9889caf fix #48889, bug in capturing variable declared outside `while` (#50742) 09 August 2023, 20:43:17 UTC
a889575 Clarify that you can document something before it is defined (#50728) 09 August 2023, 18:07:51 UTC
43b2c44 Highlight extra required methods for iterators (#50069) 09 August 2023, 18:00:12 UTC
440eb24 Remove non-existent `exclude_tags` kwarg from `triplet` docstring (#50656) Fixes #50389 09 August 2023, 17:53:43 UTC
5e51fbe Update dependency builds (#50826) This bumps the build numbers for stdlib and binary dependency JLLs, updates libssh2 to 1.11.0, libgit2 to 1.6.4, and objconv to 2.53. Julia's FreeBSD CI has been running on FreeBSD 13.2 for a while, but until more recently, Yggdrasil was still building FreeBSD binaries using the 12.2 sysroot. The sysroot was updated to 13.2 and I went through and rebuilt the dependencies that Julia uses. The updated build numbers correspond to these rebuilt but otherwise unchanged binaries. The actual version updates are because libssh2 in Yggdrasil was at 1.11.0 so I left it there (its [release notes](https://github.com/libssh2/libssh2/releases/tag/libssh2-1.11.0) suggest it's a safe update), libgit2 had a newer patch version available and needed to be fixed anyway since the Windows build was broken, and objconv needed its Yggdrasil build recipe fixed but Elliot's GitHub mirror of objconv was at 2.53 so I updated to use that. 09 August 2023, 16:50:37 UTC
d99f249 🤖 [master] Bump the Pkg stdlib from 2c04d5a98 to b044bf6a2 (#50851) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 09 August 2023, 03:55:01 UTC
275a2a9 Small refactorings, make imaging_mode easier to grep for (#50840) 09 August 2023, 02:26:22 UTC
626f687 Bump OpenBLAS binaries to use the new GEMM multithreading threshold (#50844) Detailed discussion and benchmarks by @oscardssmith in https://github.com/JuliaPackaging/Yggdrasil/pull/7189 09 August 2023, 01:45:48 UTC
aca081d Remove libm from versioninfo(). (#50841) We don't really use anything meaningful from libm for this to matter much. 08 August 2023, 18:42:53 UTC
153e669 Call all-underscore identifiers write-only (#50830) Followup to #45964, #46506, and https://discourse.julialang.org/t/class-of-variables/83892. The error ``` julia> println(_) ERROR: syntax: all-underscore identifier used as rvalue ``` is hard to interpret if you are not familiar with the term `rvalue`, which is not used in any other context in Julia, and as discussed previously the use here is not clearly matching the wikipedia page referred to in the documentation either. This PR does away with the term `rvalue` by changing the error to ``` ERROR: syntax: all-underscore identifiers are write-only and their values cannot be used in expressions ``` and updates the documentation accordingly. 08 August 2023, 14:40:49 UTC
c40ecd3 Test that we emit names properly in code_llvm (#50818) 08 August 2023, 03:06:44 UTC
8b8da91 Make symbols internal in jl_create_native, and only externalize them when partitioning (#50791) 08 August 2023, 01:11:56 UTC
958da95 print feature flags used for matching pkgimage (#50172) ``` julia> @ccall jl_dump_host_cpu()::Cvoid CPU: znver2 Features: sse3, pclmul, ssse3, fma, cx16, sse4.1, sse4.2, movbe, popcnt, aes, xsave, avx, f16c, rdrnd, fsgsbase, bmi, avx2, bmi2, rdseed, adx, clflushopt, clwb, sha, rdpid, sahf, lzcnt, sse4a, prfchw, mwaitx, xsaveopt, xsavec, xsaves, clzero, wbnoinvd julia> target = only(Base.current_image_targets()) znver2; flags=0; features_en=(sse3, pclmul, ssse3, fma, cx16, sse4.1, sse4.2, movbe, popcnt, aes, xsave, avx, f16c, fsgsbase, bmi, avx2, bmi2, adx, clflushopt, clwb, sha, rdpid, sahf, lzcnt, sse4a, prfchw, mwaitx, xsavec, xsaves, clzero, wbnoinvd) ``` Co-authored-by: Prem Chintalapudi <prem.chintalapudi@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 07 August 2023, 21:48:25 UTC
8b5e3e9 add warning to `Iterators.filter` about assumptions on predicate (#50497) addresses #50440 07 August 2023, 18:40:48 UTC
9f9e989 Move `round(T::Type, x)` docstring above `round(z::Complex, ...)` docstring (#50775) 06 August 2023, 04:35:03 UTC
3e04129 fix `bit_map!` with aliasing (#50781) fixes #50780 caused by #47013. 05 August 2023, 21:10:15 UTC
117ef2e inference: continue const-prop' when concrete-eval returns non-inlineable (#50618) 05 August 2023, 03:15:02 UTC
ab94fad Add fallback if we have make a weird GC decision. (#50682) If something odd happens during GC (the PC goes to sleep) or a very big transient the heuristics might make a bad decision. What this PR implements is if we try to make our target more than double the one we had before we fallback to a more conservative method. This fixes the new issue @vtjnash found in https://github.com/JuliaLang/julia/issues/40644 for me. 05 August 2023, 00:29:42 UTC
67d600c Model :consistent for compilerbarrier (#50793) 04 August 2023, 23:19:58 UTC
2c45e3b Clarify that `trunc`/`ceil`/`floor` are allowed to round without throwing `InexactError`. (#50777) 04 August 2023, 00:35:53 UTC
f337c3d Minor refactor to image generation (#50779) 04 August 2023, 00:09:17 UTC
6dd763b re-allow non-string values in ENV `get!` (#50771) fixes #50472 03 August 2023, 20:18:56 UTC
a2f3d77 optimizer: move inlineable constants into argument position during `compact!`-ion (#50767) In code like below ```julia Base.@assume_effects :nothrow function erase_before_inlining(x, y) z = sin(y) if x return "julia" end return z end let y::Float64 length(erase_before_inlining(true, y)) end ``` the constant prop' can figure out the constant return type of `erase_before_inlining(true, y)` while it is profitable not to inline expand it since otherwise we left some `!:nothrow` callees there (xref: https://github.com/JuliaLang/julia/pull/47305). In order to workaround this problem, this commit makes `compact!`move inlineable constants into argument positions so that the such "inlineable, but safe as a whole" calls to be erased during compaction. This should give us general compile-time performance improvement too as we no longer need to expand the IR for those calls. Requires: - #50764 - #50765 - #50768 03 August 2023, 18:03:42 UTC
c03a346 Optimize PLT and jl_load_and_lookup calls (#50745) 03 August 2023, 16:40:38 UTC
881e08b Support rounding `Irrational`s (#45598) 03 August 2023, 15:50:41 UTC
b3e8bd0 ssair: `compact!` constant `PiNode` (#50768) Currently the `compact!`-ion pass fails to fold constant `PiNode` like `PiNode(0.0, Const(0.0))`. This commit fixes it up. 03 August 2023, 15:36:54 UTC
1b9eeca docs: fix wrong description (#50774) The descriptions had `i <= 5` while the code block had `i <=3`. 03 August 2023, 13:24:09 UTC
c62f4ea Add command line option for short banner (#50726) ``` o | Version 1.10.0-beta1 (2023-07-25) o o | Official https://julialang.org/ release ``` --------- Co-authored-by: Claire Foster <aka.c42f@gmail.com> 03 August 2023, 11:42:07 UTC
2a8eca3 irinterp: refine `:nothrow` only when it is not proved yet (#50764) This makes irinterp not override `:nothrow=true` that are assumed by `Base.@assume_effects`. 03 August 2023, 10:56:24 UTC
cbc72d5 test: make sure cachecompile does not combine modules in one file (#50750) 03 August 2023, 03:08:03 UTC
7d0da58 Fix log1p(z) for extremely small |z|. (#50769) If |z| is extremely small (e.g. `1e-200+5e-175im`), the expression `log(u)*z/(u-1)` (where `u` is `1 + z`) evaluates to 0, because the product `log(u)*z` is approximately `z.im*z` when |z| is very small, and that product underflows to 0. By adding parentheses so that the expression is `log(u)*(z/(u-1))`, `z/(u - 1)` is evaluated first and the underflow is avoided. 03 August 2023, 01:41:16 UTC
6b4d519 effects: fix `:nothrow` modeling of `getglobal` (#50765) 02 August 2023, 23:22:32 UTC
bea8c44 Don't partition alwaysinline functions (#50766) 02 August 2023, 21:51:31 UTC
d64d336 AbstractIntepreter: revert `invokecall` to a positional argument (#50763) In #50739, `invokecall` argument of `concrete_eval_call` was changed to a keyword argument. However, this was an unintentional change that imposes unnecessary changes to be required on packages using external `AbstractInterpreter`. This commit simply restores it to positional argument as before. 02 August 2023, 19:36:18 UTC
3eddd17 follow up "[NFC] minor refactorings on gf.c & codegen.cpp (#50645)" (#50748) This follows up commit https://github.com/JuliaLang/julia/commit/19f6926d2109df35ae51a45f587f4d61e81a1d50. As discussed in PR, the changes in gf.c were not NFC and may lead to performance problems, so should be reverted. Also added more detailed comments on the codegen.cpp change. 02 August 2023, 15:45:09 UTC
bb4929d Fix outdated usage of scrubbing for log test failures (#50759) Fixes #50755. 02 August 2023, 15:42:29 UTC
edff86a cat: remove unused promote_eltype methods that confuse inference (#50753) These cannot be reached, but they would imply this function might return Bottom, which it cannot. Fix #50550 02 August 2023, 15:41:19 UTC
202a64c 🤖 [master] Bump the Pkg stdlib from 80e64bcd3 to 2c04d5a98 (#50760) 02 August 2023, 15:33:10 UTC
3c64bc3 fix O(n^2) `length` calls in compact-ir lowering step (#50756) This can be a problem for very long function bodies. 02 August 2023, 03:34:16 UTC
33e3d9f inference: permit recursive type traits (#50694) We had a special case for Type that disallowed type trait recursion in favor of a pattern that almost never appears in code (only once in the compiler by accident where it doesn't matter). This was unnecessarily confusing and unexpected to predict what can infer, and made traits harder than necessary (such as Broadcast.ndims since 70fc3cdc11b). Fix #43296 Fix #43368 02 August 2023, 03:32:13 UTC
3708229 Add alignment to constant globals (#50738) 02 August 2023, 00:25:09 UTC
f00957b Refactor final-gc-lowering (#50741) 01 August 2023, 22:05:05 UTC
8066c29 AbstractInterpreter: add a hook to customize bestguess calculation (#50744) Currently, the code that updates `bestguess` using `ReturnNode` information includes hardcodes that relate to `Conditional` and `LimitedAccuracy`. These behaviors are actually lattice-dependent and therefore should be overloadable by `AbstractInterpreter`. Additionally, particularly in Diffractor, a clever strategy is required to update return types in a way that it takes into account information from both the original method and its rule method (xref: JuliaDiff/Diffractor.jl#202). This also requires such an overload to exist. In response to these needs, this commit introduces an implementation of a hook named `update_bestguess!`. 01 August 2023, 20:54:41 UTC
9822257 only limit types in stack traces in the REPL (#50598) fixes #50575 Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 01 August 2023, 19:29:33 UTC
7b587ac irinterp: fix semi-concrete evaluation of overlay methods (#50739) This commit introduces several fixes related to the overlay method and its semi-concrete evaluation. When `f` is being overlayed, semi-concrete interpretation is performed on `f`. While this isn't problematic in itself, the issue arises since there is no overlay check within concrete evaluation in the semi-concrete interpretation (`concrete_eval_invoke`), potentially leading to mis-compilation. This commit makes adjustments to allow semi-concrete interpretation for overlay methods, while preventing the concretization of overlay methods within `concrete_eval_invoke`. Note: Confirmed GPUCompiler test suite passes with this patch after https://github.com/JuliaGPU/GPUCompiler.jl/pull/488. 01 August 2023, 14:59:37 UTC
9808035 Respect linkage type in jl_merge_module (#50678) We shouldn't merge non-external definitions in `jl_merge_module`, so that we can freely emit internal globals without relying on a global counter. Depends on #50650 01 August 2023, 14:46:47 UTC
ec8df3d Print out module in more places when we abort (#50723) 31 July 2023, 19:24:34 UTC
382ba35 Support `convert(LineNumberNode, ::LineInfoNode)` (#50676) xref https://github.com/timholy/CodeTracking.jl/pull/113. It looks like that method might not even be important anymore for CodeTracking and the Revise stack, but because we have lots of packages that dive into internals, having this seems to make sense. 31 July 2023, 18:10:23 UTC
441fcb1 Merge opaque closure modules with the rest of the workqueue (#50724) This sticks the compiled opaque closure module into the `compiled_functions` list of modules that we have compiled for the particular `jl_codegen_params_t`. We probably should manage that vector in codegen_params, since it lets us see if a particular codeinst has already been compiled but not yet emitted. 31 July 2023, 17:58:04 UTC
f4cb8bc fix `CyclePadding(::DataType)` (#50719) We probably want to add a test for this code path. 31 July 2023, 16:40:41 UTC
6f0a9e5 broadcast: simplify ndims (#50695) The extra dispatch was inconsistently used, which seemed unnecessary. Also make sure T is captured as a Type parameter in the closure (fast), instead of a value (potentially slow). Very small difference measured (probably just noise): broadcast (1) | 115.68 | 0.78 | 0.7 | 4245.13 | 849.62 before broadcast (1) | 109.73 | 0.80 | 0.7 | 4243.89 | 788.25 after 31 July 2023, 16:27:18 UTC
a712455 doc: fix typo in tempname docstring (#50734) 31 July 2023, 12:02:51 UTC
21ac3c5 Allocation Profiler: Types for all allocations (#50337) Pass the types to the allocator functions. ------- Before this PR, we were missing the types for allocations in two cases: 1. allocations from codegen 2. allocations in `gc_managed_realloc_` The second one is easy: those are always used for buffers, right? For the first one: we extend the allocation functions called from codegen, to take the type as a parameter, and set the tag there. I kept the old interfaces around, since I think that they cannot be removed due to supporting legacy code? ------ An example of the generated code: ```julia %ptls_field6 = getelementptr inbounds {}**, {}*** %4, i64 2 %13 = bitcast {}*** %ptls_field6 to i8** %ptls_load78 = load i8*, i8** %13, align 8 %box = call noalias nonnull dereferenceable(32) {}* @ijl_gc_pool_alloc_typed(i8* %ptls_load78, i32 1184, i32 32, i64 4366152144) #7 ``` Fixes #43688. Fixes #45268. Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> 31 July 2023, 02:27:11 UTC
210c5b5 Fix rdiv of complex lhs by real factorizations (#50671) Co-authored-by: Martin Holters <martin@holters.name> 29 July 2023, 16:59:04 UTC
c664a57 Fix link in TOML docs (#50715) 29 July 2023, 16:54:58 UTC
5c69561 Attach `tanpi` docstring to method (#50689) 29 July 2023, 16:39:50 UTC
4825a0c A legendary tale of why we should make pmap default to using CachingPool (#33892) Once upon a time, there was a young julia user first getting started with parallelism. And she found it fearsomely slow. And so she did investigate, and she did illuminate upon her issue. Her closures, they were being reserialized again and again. And so this young woman, she openned an issue #16345. Lo and behold, a noble soul did come and resolve it, by making the glorious `CachingPool()` in #16808. 3 long years a later this julia user did bravely return to the world of parallism, with many battle worn scars. and once more she did face the demon that is `pmap` over closures. But to her folly, she felt no fear, for she believed the demon to be crippled and chained by the glorious `CachingPool`. Fearlessly, she threw his closure over 2GB of data into the maw of the demon `pmap`. But alas, alas indeed, she was wrong. The demon remained unbound, and it slew her, and slew her again. 100 times did it slay her for 101 items was the user iterating upon. For the glorious chains of the the `CachingPool()` remains unused, left aside in the users tool chest, forgotten. 28 July 2023, 23:57:12 UTC
503d5b4 Revert "Remove number / vector (#44358)" (#49915) 28 July 2023, 21:25:23 UTC
62605cc include `--pkgimage=no` caches for stdlibs (#50666) 27 July 2023, 17:35:04 UTC
943db02 Restructure JIT to have more extension points and more logical control flow (#50650) Rather than forking the optimize and compile layers into individual layers per optlevel, each optimize and compile layer will switch on the requested optlevel of the module, which reduces the complexity of tracing a module's path through the JIT. In addition, this lets us move some of the `addModule` code to happen post-optimization, which makes the optimization pipeline not see literal pointers except those generated by codegen. 27 July 2023, 15:17:04 UTC
da19bc1 document Libc.FILE (#49908) Adds some missing documentation for `Libc.FILE`, which is already exported. 27 July 2023, 15:10:00 UTC
dc06468 Make reinterpret specialize fully. (#50670) Fixes https://github.com/JuliaLang/julia/issues/50612 The issue here was the reinterpret change made a bunch of operations like `Core.bitcast(UInt64,24)` not fold, even though they are fully known at compile time. That made `UInt32(Char)` not inline which then caused the regression. 27 July 2023, 11:09:58 UTC
4fd68e8 Add `Libdl.LazyLibrary` (#50074) This provides an in-base mechanism to handle chained library dependencies. In essence, the `LazyLibrary` object can be used anywhere a pointer to a library can be used (`dlopen`, `dlsym`, `ccall`, etc...) but it delays loading the library (and its recursive dependencies) until it is actually needed. This is the foundational piece needed to upgrade JLLs to lazily-load their libraries. In this new scheme, JLLs would generally lose all executable code and consist of nothing more than `LazyLibrary` definitions. 27 July 2023, 11:07:56 UTC
43a14f8 Base.MPFR: implement `signbit` in Julia without a `ccall` (#50675) This accesses MPFR's internals, but it should be stable. 27 July 2023, 00:57:10 UTC
4cdd8cd Properly isolate `sysimg` bootstrap environment (#50683) The stdlib environment should be isolated from the global environment while it is bootstrapping; it should only load from the stdlib directory. 26 July 2023, 23:36:13 UTC
c43e5a1 `versioninfo()`: include build info and unofficial warning (#50635) 26 July 2023, 19:40:55 UTC
ff14eaf Reuse incremental JIT compilation for --image-codegen (#50649) We don't need to merge all of the workqueue modules when performing compilation with `--image-codegen` set, we just need the global variable initializers to be defined before they're used in one of the modules. Therefore we can do this by compiling all of the global variable initializers upfront, so that later references will link them properly. 26 July 2023, 13:34:54 UTC
8c3452f Clean up various naming aspects of codegen (#50638) Most of the changes are changing from `const std::string &` to `const Twine &`, which lets us be lazier about computing string values efficiently. We also make the plt function private linkage since it's only referred to by the plt global. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 26 July 2023, 13:32:34 UTC
9c6efd6 remove extraneous using .Libdl in Libc (#50672) From f9351253124 --------- Co-authored-by: Elliot Saba <staticfloat@gmail.com> 26 July 2023, 12:46:37 UTC
c777c71 fix hashing regression. (#50655) This fixes 2 bugs introduced by #49996 and #50041. Closes #50628. 26 July 2023, 10:21:19 UTC
a87b164 fix 32 bit tests 26 July 2023, 01:48:37 UTC
7ca0f0d codegen: Remove literal_static_pointer_val from literal_pointer_val implementation (#50632) This eliminates most of the literal pointers outside of ccalls and directly JIT-ted code, except instead of adding names we instead just use imaging mode and fix up the visualization in `jl_get_llvmf_defn`. 25 July 2023, 19:54:44 UTC
207c09a Avoid generic call in most cases for getproperty (#50523) More generic than https://github.com/JuliaLang/julia/pull/50444. Should we keep the boundscheck on the getfield since we got the index from the runtime itself? 25 July 2023, 19:31:27 UTC
9124234 print `@time` msg into print buffer (#50665) 25 July 2023, 15:59:28 UTC
6f6439e Don't use integer division for cong (#50427) 24 July 2023, 20:04:20 UTC
c57d33a Remove SparseArrays legacy code (#50637) 24 July 2023, 17:22:47 UTC
1f2b5e0 Update base/float.jl Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 24 July 2023, 16:07:38 UTC
3cc0590 `Array(::AbstractRange)` should return an `Array` (#50568) Currently, `Array(r::AbstractRange)` falls back to `vcat(r)`, but certain ranges may choose to specialize `vcat(r::AbstractRange)` to not return an `Array`. This PR ensures that `Array(r)` always returns an `Array`. At present, there's some code overlap with `vcat` (just above the `Array` method added in this PR). Perhaps some of these may be replaced by `unsafe_copyto!`, but the tests for ranges include some special cases that don't support `getindex`, which complicates things a bit. I've not done this for now. In any case, the common bit of code is pretty simple, so perhaps the duplication is harmless. 24 July 2023, 16:03:22 UTC
0fcac7a Update base/float.jl Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 24 July 2023, 15:47:20 UTC
08fdf0a Update base/float.jl Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 24 July 2023, 15:43:13 UTC
eaffc71 Update base/float.jl Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> 24 July 2023, 15:43:06 UTC
760c8be typo 24 July 2023, 15:40:39 UTC
0d4b2a1 add comments 24 July 2023, 15:13:33 UTC
back to top