https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
3c5123d more conservative name demangling in stacktraces The motivation being here that I want to put whole method signatures into LineInfoNodes in inlined overdubs for better stacktraces, but currently those sometimes get cut off. This seems like a more accurate check here. 19 March 2021, 13:03:08 UTC
efad4e3 Restore moving GlobalRef out of argument position (#40101) This was dropped in #40066. I thought this was there because of the side-effect that we used to allow in GlobalRefs, but we also need to avoid inlining it into a PhiNode, and there are data race concerns as well, so put back the outlining. Fixes verifier complaints in `make debug` mode. 18 March 2021, 23:23:15 UTC
1006d5f Implement OC captures getfield elim (#40069) This was originally in #40005, but we switched the representation of accessing the OC captures from a sepcial intrinsic to inserting an additional `getfieled(oc, :captures)`, which I thought obviated the need for extra getfield elim support, but that's of course not true, since getfield elim knows nothing about :new_opaque_closure. Bring back that opimization and add a test, so we notice in the future. 18 March 2021, 21:35:39 UTC
f989b91 doc: add compat annotation for mapexpr argument to include(_string) (#39856) 18 March 2021, 21:11:55 UTC
561819b doc: add a missing word in "Trait-based dispatch" section (#40012) 18 March 2021, 21:07:52 UTC
30594c7 doc: fix some typos in faq.md (#40072) 18 March 2021, 21:04:42 UTC
ae0dc54 [automated] Bump the Pkg stdlib from 7a9d9654 to af7e41cd (#40087) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 18 March 2021, 18:44:55 UTC
8530aad Fix warnings in ast.c (#40091) 18 March 2021, 18:11:59 UTC
36e1839 Only compute effect_free once (#40066) This is a revival of #33753. While this is useful in itself, my real goal here is to be able to make use of the computed effect-freeness earlier to allow removal of calls that the compiler has shown to be effect-free, but are too large to inline. This moves in that direction, by making effect-freeness an SSA flag that an appropriate pass can then set and that it propagated appropriately by inlining (since unlike effect-freeness on builtins which is easy to compute, effect-freeness on generic function calls requires interprocedural information that we throw away after inlining into the outer function). While I'm at it, also refactor the instruction insertion interface, to make them all use a common type, rather than random assortments of subsets of the possible fields. 18 March 2021, 16:36:41 UTC
51591ff Fix typo in typelimits.jl (#40090) occurence -> occurrence 18 March 2021, 14:05:42 UTC
107901d Try to avoid julia becoming unkillable after fatal errors (#40056) - don't smash the alt-stack when already using it - handle jl_critical_error on the original stack, leaving our signal handling thread free to handle more signals (and helping lock corruption detection in some cases) - unblock signals when handling signals: some libc apparently like to block all signals, which can cause mild havoc, since we'd really like the user or bad data to be able to still kill the process (and not just be ignored or cause it to hang) - reset signals to SIG_DFL earlier (so we recurse less) - destroy some state from the Task we co-opted to run the exit handlers, so that it can't accidentally jump back into the running program after we've started tearing down the process, from an untimely ^C (previously ^C might cancel the exit) or a jlbacktrace call. - mark functions as leaf with CFI instead of (potentially) smashing the stack, and add a bit of red-zone if we are recursing (to keep pgcstack sensible) - support safe_restore for the mach catch_exception_raise (while we're trying to generate the backtrace) 18 March 2021, 04:35:43 UTC
6bdba43 Fix hashing for large arrays (#40083) * Fix hashing for large arrays caused by https://github.com/JuliaLang/julia/pull/39966#pullrequestreview-614659942 * add test * Revert to hashing key=>elt pairs. 17 March 2021, 23:20:39 UTC
5515893 build: avoid gtar race bug when managing Tar.jl files (#40063) Tar.jl omits the directory entry, but gtar has a race-condition where it gets the error code wrong when run in parallel when that is missing, resulting in failed builds. Probably it was a premature performance optimization. Fix that by running gtar twice. 17 March 2021, 18:47:50 UTC
7838e09 Revert "add 'ᵀ postfix operator for transpose (#38062)" (#40075) This reverts commit 665279aedb18501938c934d46aa593a26a506b3e. 17 March 2021, 17:07:39 UTC
b633c29 Add HISTORY.md entry for change noted in #39589 (#39784) * Add HISTORY.md entry for change noted in #39589 * Rephrase Following mbauman’s suggestion: https://github.com/JuliaLang/julia/pull/39784#discussion_r581033778 Co-authored-by: Matt Bauman <mbauman@gmail.com> 17 March 2021, 13:36:41 UTC
d7da2a4 minor follow ups for opaque closure works (#40052) 16 March 2021, 13:41:58 UTC
c700781 Use faster hash for short arrays. (#39966) * Use faster hash for AbstractArrays. Since the current code already hashes all elements of small arrays (<4096 elements), this is basically a fast-path that avoids a lot of the math. It also xors the hashes, which should allow the compiler to vectorize hashing. As a result, I'm measuring about a 4x speedup for hashing a 20x20 matrix, and have not found cases where this is slower. In addition, we can only hash the values for all arrays yielding to a 2x speedup. Co-authored-by: Matt Bauman <mbauman@juliacomputing.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 16 March 2021, 13:39:21 UTC
dca0850 add explanation about top-level compilation to timing macros [skip ci] (#39802) 16 March 2021, 11:01:48 UTC
da96fef Correct lyap definition for complex scalar arguments (#39901) 16 March 2021, 09:14:16 UTC
ae26fc6 Fix typo in CONTRIBUTING.md (#40053) 16 March 2021, 06:50:46 UTC
70b6afa Implement inlining for OpaqueClosure (#40005) Inlining works basically the same as for regular methods (except that the info is diffrent of course). One particular difference is that inlining replaces `getfield` by a new `getfield_closure_env` function that pierces through the opaqueness of the closure. The getfield elim pass is taught about this function and can eliminate it, but there is also a fallback implementation of it in Core. This is entirely intended to be a temporary implementation detail until we do something better for the opaque closure environment, so it's not supposed to have user facing semantics. 16 March 2021, 03:17:45 UTC
8fc5293 improve IdDict performance by 33% (#40008) This takes a couple common operations and ensures they are inlined, resulting in significant performance gains for task_local_storage. 15 March 2021, 19:42:51 UTC
3635f04 Check issimpleenoughtype before stripping off type parameters in tmerge (#39980) * Check issimpleenoughtype before stripping off type parameters * Avoid finalizer to be compiled during test_jl_dump_compiles_toplevel_thunks 15 March 2021, 19:28:21 UTC
11016bf Fix opaque closure codegen ABI (#40001) At the moment our ABI for specfun opaque closures is that the opaque closure itself remains a GC tracked pointer out of which the function itself implicitly loads the environment and the world age. In the future we may want to improve this ABI, but it seems fine for now. However, this ABI wasn't quite implemented correctly after we've started turning on inference of OpaqueClosure where the first argument of the MethodInstance's linfo actually stores the type of the closure environment rather than the closure itself. Fix this by manually forcing the signature determination code to just treat that argument as `Any`, though of course in the future we may want to do something fancier. 15 March 2021, 14:55:35 UTC
b20de6a fix indent of docstrings (#40023) 15 March 2021, 08:39:42 UTC
accce7f fix typo in symlink (#40026) 14 March 2021, 21:13:12 UTC
cc45b99 Prettier error for asin (#40010) Fonts with ligatures display `"asin(x) is not defined for |x|>1."` as `|x▷1`. The spaces fix this. For `acos` the message is already fine. 13 March 2021, 15:44:52 UTC
a43e01f Fix constprop inference for varargs OpaqueClosure (#39972) OpaqueClosure are marked as vararg (or not) at construction time rather than in the method. As a result, we need to chain this information through to the cache. We may want to refactor this code to deal with the vararg-ness (or not) of a particular definition one level above this. We already keep the cache in a form that represents the vararg tuple explicitly. However, for now this fixes things for now (and also prevents Cthulhu from getting confused upon encountering these). 12 March 2021, 23:26:39 UTC
ec78ac7 Fix a couple of likely typos in deps/p7zip.mk and deps/pcre.mk. (#40003) 12 March 2021, 23:26:14 UTC
0f7d183 Expand `Artifacts` tests for new platforms (#39829) We needed new artifacts for our new platforms, so steal `HelloWorldC` and stop using `c_simple_jll`, as it's not being updated anymore. 12 March 2021, 23:16:38 UTC
1edd306 Thread through method name for OpaqueClosures (#39970) Makes it easier for packages like diffractor to give names to opaque closures that may show up in backtraces to tell the user what's going on. 12 March 2021, 21:12:15 UTC
33e2f90 Fixes rendering of nested lists. (#39992) This change fixes the rendering of nested lists in the documentation by adding indentation. Previously, the items in the outer ordered list would both be labeled with "1." when rendered to html. This change adds a single space to the indentation of each item in the unordered lists, resulting in the correct labels "1." and "2." when rendered to html. 12 March 2021, 14:07:29 UTC
fa7d792 Improve Cholesky docstrings (#39964) 12 March 2021, 14:05:35 UTC
c9c1d3e make broadcasting into getproperty extensible (#39473) * make broadcasting into getproperty extensible Don't know if `dotgetproperty` is a good name for this, since as discussed in #36741, the way this works is a bit different from `dotview`. Right now, `dotproperty` returns a function which is used instead of `getproperty`, but not sure if that is a bit strange and we should just make it behave like `dotview` instead. fixes #36741 * make dotgetproperty call getproperty directly Co-authored-by: Jameson Nash <vtjnash@gmail.com> 12 March 2021, 08:03:58 UTC
d234931 Allow CartesianIndices with Bool argument (#39962) Follow up to the problem discussed in https://github.com/JuliaLang/julia/pull/31829#issuecomment-793030999. I came to the conclusion that `CartesianIndices((true,))` should be allowed as in this context `true` represents a dimension length not an index. 12 March 2021, 03:37:27 UTC
bf05fd1 doc: fix OurRational example for current gcd behavior (#39935) 12 March 2021, 03:18:46 UTC
135d7a0 Complex{<:OurRational} instead of Complex{OurRational} (#39934) 12 March 2021, 03:16:07 UTC
901d270 Support missing values in fpsort! (#27817) Use the fast algorithm for floating point even in the presence of missing values, adapting existing code to handle NaN. After sorting NaN and missing at the end, a second pass is made over these to put missing after NaN. 11 March 2021, 20:08:52 UTC
93b89b9 reduce precompile() failure severity to a warning (#39905) Many users (including Base) are calling `@assert`, despite that this is not what assert should be used to mark, for many reasons. This happened to also reveal a small number of errors, so also detect those (for fixing later). Refs: https://github.com/JuliaLang/julia/commit/c0f9666d0b94b213c7ff9e64a7b4e5268aa0e18b#commitcomment-47782674 11 March 2021, 19:36:57 UTC
3276c11 Restore StackOverflow error message for repeated frames (#39930) Fixes backtrace printing to display the number of times a frame is repeated, if there is a frame that's duplicated several times. ```julia julia> function foo() foo() end foo (generic function with 1 method) julia> foo() ERROR: StackOverflowError: Stacktrace: [1] foo() (repeats 79984 times) @ Main ./REPL[16]:1 ``` Fixes #37587. Co-authored-by: Nathan Daly <nhdaly@gmail.com> 11 March 2021, 18:20:02 UTC
53f328d inference: allows conditional object to propagate constraint multiple times (#39936) Currently we always `widenconditional` conditional var state, which makes us unable to propagate constraints from conditional object multiple times: ```julia @test Base.return_types((Union{Nothing,Int},)) do a b = a === nothing c = b ? 0 : a # c::Int d = !b ? a : 0 # d::Int ideally, but Union{Int,Nothing} c, d end == Any[Tuple{Int,Int}] # fail ``` This PR keeps conditional var state when the update is came from a conditional branching, and allows a conditional object to propagate constraint multiple times as far as the subject of condition doesn't change. AFAIU this is safe because the update from conditional branching doesn't change the condition itself. 11 March 2021, 16:42:22 UTC
bb5a013 Add a missing at-test (#39979) 11 March 2021, 02:38:52 UTC
caf10d7 Implement OpaqueClosure return type narrowing (#39917) Allows the optimizer to rewrite the return type parameter of the OpaqueClosure based on inference results of the partially specialized (i.e. specialized on the closure environment, but not on the argument types of the opaque closure). This helps by forcing an inference barrier to occur if the PartialOpaque-ness information gets lost, causing a re-infer with at least the rt information we have from inference. 10 March 2021, 22:45:58 UTC
abde2f1 Fix wrong := REPL documentation (#39975) 10 March 2021, 22:37:15 UTC
1f21f2d inference: enable constant propagation for union-split signatures (#39305) The inference precision of certain functions really relies on constant propagation, but currently constant prop' won't happen when a call signature is union split and so sometimes inference ends up looser return type: e.g. ```julia julia> Base.return_types((Union{Tuple{Int,Nothing},Tuple{Int,Missing}},)) do t a, b = t a # I expected a::Int, but a::Union{Missing,Nothing,Int} end |> first Union{Missing, Nothing, Int64} ``` This PR: - enables constant prop' for each union signatures, by calling `abstract_call_method_with_const_args` just after each `abstract_call_method` - refactor `abstract_call_method_with_const_args` into two separate parts, 1.) heuristics to decide whether to do constant prop', 2.) try constant propagation The added test cases will should showcase the cases where the inference result could be improved by that. --- I've not seen notable regression in latency with this PR. Here is a sample benchmark of the impact of this PR on latency, from which I guess this PR is acceptable ? > build time: master (caeacef) ```bash Sysimage built. Summary: Total ─────── 61.615938 seconds Base: ─────── 26.575732 seconds 43.1313% Stdlibs: ──── 35.038024 seconds 56.8652% JULIA usr/lib/julia/sys-o.a Generating REPL precompile statements... 30/30 Executing precompile statements... 1378/1378 Precompilation complete. Summary: Total ─────── 116.417013 seconds Generation ── 81.077365 seconds 69.6439% Execution ─── 35.339648 seconds 30.3561% LINK usr/lib/julia/sys.dylib ``` > build time: this PR ```bash Stdlibs total ──── 34.077962 seconds Sysimage built. Summary: Total ─────── 61.804573 seconds Base: ─────── 27.724077 seconds 44.8576% Stdlibs: ──── 34.077962 seconds 55.1383% JULIA usr/lib/julia/sys-o.a Generating REPL precompile statements... 30/30 Executing precompile statements... 1362/1362 Precompilation complete. Summary: Total ─────── 111.262672 seconds Generation ── 83.535305 seconds 75.0794% Execution ─── 27.727367 seconds 24.9206% LINK usr/lib/julia/sys.dylib ``` > first time to plot: master (caeacef) ```julia julia> using Plots; @time plot(rand(10,3)) 3.614168 seconds (5.47 M allocations: 324.564 MiB, 5.73% gc time, 53.02% compilation time) ``` > first time to plot: this PR ```julia julia> using Plots; @time plot(rand(10,3)) 3.557919 seconds (5.53 M allocations: 328.812 MiB, 2.89% gc time, 51.94% compilation time) ``` --- - fixes #37610 - some part of this code was taken from #37637 - this PR is originally supposed to be alternative and more generalized version of #39296 10 March 2021, 20:25:29 UTC
f8125c0 Export mmap from Mmap (#39816) Currently, one needs `Mmap.mmap`, which is unnecessarily redundant. 10 March 2021, 19:39:58 UTC
bc14059 ignore manifest of stdlibs (#39898) 10 March 2021, 18:57:37 UTC
f3c66b3 Don't make assumptions on the relationship of nargs and sig.parameters (#39971) We've been slowly cleaning up instances of this. OpaqueClosures can mess with this assumption now and in the future more compact tuple types might as well. 10 March 2021, 18:21:36 UTC
b2d66c9 Add Pkg checksums that should have been included in #39931 (#39969) 10 March 2021, 09:03:56 UTC
b4c79e7 Merge pull request #39956 from JuliaLang/jn/broken-makefiles fix missing dependency links in Makefiles 09 March 2021, 21:03:31 UTC
275d3de allow quoted ssa values and slots in ast (#39965) This should probably be allowed, since it is often useful to put a `QuoteNode` containing arbitrary Julia objects into an AST. Since it's quoted, I don't see any reason to disallow `SSAValue`s and `SlotNumber`s here. 09 March 2021, 20:49:15 UTC
913f79d fix behavior of JULIA_EXCLUSIVE to agree with documentation (#39961) 09 March 2021, 20:47:50 UTC
9dc9c2d fix #39948, stack overflow due to free typevar during `jl_type_intersection2` (#39959) 09 March 2021, 20:45:47 UTC
c950f90 refactor BasicBlock counting (#39945) 09 March 2021, 20:37:43 UTC
d9149b5 improve type stabilities where `_methods_by_ftype` is used (#39937) 09 March 2021, 20:36:31 UTC
cc66025 fix #39895, crash from deserialized closure using the shared method table (#39916) 09 March 2021, 20:31:05 UTC
a5628bf choosetests: add a couple missing tests (#39837) and fix test/filesystem.jl 09 March 2021, 16:11:51 UTC
faa3d41 Faster AbstractArray hashing with a static hash seed (#39950) Previously, the `object_id` lookup for `hash(AbstractArray, h)` dominated the hashing time for `AbstractArray`: ``` julia> using StaticArrays, BenchmarkTools julia> a = @SVector [1,2,3,4,5]; julia> @btime hash($a, UInt(0)) 77.935 ns (0 allocations: 0 bytes) 0xdeb6d0657a261f74 julia> @btime hash(AbstractArray, UInt(0)) 58.643 ns (0 allocations: 0 bytes) 0xc03f1dbe32103a9e ``` This replaces the hash of the objectid with a static randomly-generated number. Now: ``` julia> @btime hash($a, UInt(0)) 18.580 ns (0 allocations: 0 bytes) 0x5e77b8bf73067ebd ``` and for a random `Float64` vector ``` julia> @btime hash($a, UInt(0)) 29.031 ns (0 allocations: 0 bytes) 0x9a574d69612587eb ``` Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> 09 March 2021, 06:37:13 UTC
cdc34f7 build,uninstall: avoid removing directories in usr This can cause a race if we happen to be trying to install something else in the same directory we just removed. Very unlikely, but unnecessary to remove them anyways (and generally was already broken for Yggdrasil-provided binaries). 09 March 2021, 01:42:23 UTC
2d2f7ac build: fix missing dependency links in Makefiles 09 March 2021, 01:42:20 UTC
970edc7 Merge pull request #39540 from JuliaLang/jn/39508 fix internal IR corruption from use of a global 08 March 2021, 19:18:24 UTC
26d887e REPL: try to coalesce updates (#39538) When input is arriving too fast, delay computing and rendering the full screen until a short delay after typing stops. 08 March 2021, 19:17:41 UTC
a01d7f3 Merge pull request #39524 from JuliaLang/jn/25997 regex: enable safe handling of invalid UTF-8 by default 08 March 2021, 19:17:13 UTC
86387a8 Improve (no)specialization in print_matrix (#39194) It makes sense to extract the axes before we lose inferrability of the vector or matrix being printed. Hence this delays application of `@nospecialize`. However, it also standardizes the row/column indices and reduces specialization in `alignment`. Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 08 March 2021, 14:09:33 UTC
6fb3558 Range indexing: error with scalar bool index like all other arrays (#31829) 08 March 2021, 08:46:40 UTC
5fab42a Bump Pkg on master (#39931) This should include the recent `is_stdlib()` fixes. Short commit log: ``` 7a9d9654 (HEAD -> master, origin/master, origin/HEAD) [ext/HSG]: Store next release _and_ latest nightly (#2418) 7b870924 [ext/HSG]: Enable generating historical stdlibs on macOS (#2417) 5d496193 Update Project.toml feada149 only use the stdlib version cache if a custom version is given to the resolver bae808dc Fix Markdown table formatting (#2416) 6e8b6214 Update docstrings for io kwargs, some io kwarg fixes, update stdlib list (#2402) c2e3879e Mark the "STDLIBS_BY_VERSION up-to-date" test as broken (#2409) ``` 06 March 2021, 16:33:09 UTC
efa7e4e improve inferrabilities in Test module (#39761) * improve inferrabilities in `Test` module 06 March 2021, 11:06:17 UTC
22f84e7 Reorganize code to keep code as IRCode slightly longer (#39885) This moved the primary place where IRCode gets converted into CodeInfo into the transform_result_for_cache call, which is a sensible place for it to be since the primary reason we need to convert back to IRCode is to make it acceptable for storing in the global cache. The reason we might want to not perform the conversion, is that the conversion is slightly lossy, because it drops stmtinfo. However, in Cthulhu, I would like to keep the statement info around such that Cthulhu can present it to the user, even in optimized code (i.e. where inlining decided not to inline, I would still like Cthulhu to be able to introspect inference's original annotations). This change makes that possible. In an ideal world, we wouldn't have to do this at all for uncached code, but of course both code_typed and typeinf_ext do look at the code, even if it is uncached. Unfortunately, at the moment we don't really have a good way to indicate whether or not the code will be looked at, so there is a fallback path that always does the conversion if we decided not to do the caching. Some future refactoring can save some additional time here. 06 March 2021, 03:19:37 UTC
bf0364b Faster dot product for sparse matrices and dense vectors (#39889) 05 March 2021, 21:15:33 UTC
6cea0d2 Fixed a typo. (#39914) 05 March 2021, 18:06:09 UTC
e49567f Turn on inference for OpaqueClosure (#39681) This turns on inference for `PartialOpaque` callees (but no optimization/inlining yet and also no dynamic dispatch to the optimized implementations). Because of the current design and some fixes getting pulled into previous PRs, I believe this is all that remains to be done on the inference front. In particular, we specialize the OpaqueClosure methods on the tuple formed by the tuple type of the environment (at inference time) and the argument tuples. This is a bit of an odd method specialization, but it seems like inference is just fine with it in general. In the fullness of time, we may want to store the specializations differently to give more freedom to partial optimizations, but that would require being able to re-enter inference later, which is currently not possible. 05 March 2021, 00:50:06 UTC
d0d378e [Filesystem]: `rm(;force=true)` should ignore `readdir()` errors (#39906) 04 March 2021, 23:58:49 UTC
e2e13ca Remove unused code introduced in the LBT PR (#39908) * Remove unused code. 04 March 2021, 21:55:57 UTC
b7b0a63 allow trailing dims in inplace broadcast (#39859) * RFC: allow trailing dims in inplace broadcast This allows inplace broadcasting into arrays that contain less dimensions than the lhs, as long as the trailing dimensions all have length one. This seems more consistent to me with how we handle trailing dimensions in other places. * try dropping trailing dims upon indexing also test 2-dimensional destinations Co-authored-by: Matt Bauman <mbauman@gmail.com> 04 March 2021, 17:52:26 UTC
3d0b60d Merge pull request #39768 from wsmoses/copysign Use copysign LLVM intrinsic rather than bithack ourselves 04 March 2021, 14:53:08 UTC
502c039 Added reference to @inbounds in the entry for --check-bounds (#39897) Added explicit reference to `@inbounds` in the entry for `--check-bounds`, this is consistent with `--inline`, `--polly` and `--math-mode`. 03 March 2021, 15:15:38 UTC
21762f2 spzeros tuple construction (#39886) 03 March 2021, 10:37:13 UTC
79d7683 Darwin/ARM64: Fix jl_throw_in_ctx (#39894) Fixes incorrect SIGFPE handling causing crashes during the numbers test. 03 March 2021, 05:40:32 UTC
c0f9666 Canonicalize IR to disallow mutable GlobalRef in value position (#39893) Generally we assume parameters can be duplicated without seeing side-effects. That is not entirely true of mutable globals and multi-threading. Refs: #36450 Fixes: #39508 03 March 2021, 01:05:07 UTC
0988fcf Add new LLVM patches for Aarch64 issues (#39891) Fixes #39818 Fixes #39820 Fixes #39823 02 March 2021, 22:30:42 UTC
bd5105e optimizer: be careful to always handle temporarily invalid ops These ops are not actually legal (they're semantically invalid), but we temporarily use them to carry information between passes which needs to then remove them correctly. Fixes #39508 02 March 2021, 22:26:26 UTC
05e6650 check for NULL handle in `_fd` (#39879) In this case the object is in an invalid state, but it at least allows printing the object so you can see that. 02 March 2021, 21:46:50 UTC
49387b2 add Type to kwargs internal argument (#39593) Fixes #39419 02 March 2021, 21:03:52 UTC
de7d695 docs: mention `outer` in the section on keywords (#39861) * docs: mention `outer` in the section on keywords * Update doc/src/base/base.md Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> * Update doc/src/base/base.md * Update doc/src/base/base.md Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> 02 March 2021, 20:56:19 UTC
72777b7 fix #39698 by disabling the unnecessary Vararg var bounds error (#39875) 02 March 2021, 19:21:01 UTC
cf077be Refactor InliningState (#39881) We recently dropped the method table from this and we can get rid of one of the cache references now too, since we're now passing that info in the stmtinfo. Also factor out the inlining policy into a separate option to the inliner to make it easier for downstream projects like Diffractor and Cthulhu to override it without playing cache games (which is now harder, since one of the caches is gone). 02 March 2021, 17:17:59 UTC
9e783bb llvm-alloc-opt: handle dead code better (#39801) In some cases (particularly after removing a phi node), we might end up in a circumstance where it appears statically that we would use a slot for both a ref and bits. Avoid generating malformed IR in this case. In the future, this situation could also possibly happen if we walked through phi nodes and attempted to merge the contents (with great care). 02 March 2021, 17:03:47 UTC
4f36351 AbstractInterpreter: minor refactors of builtin call interfaces (#39883) This commit pushes bail out logic of `apply` and `invoke` into their own `abstract_(apply|invoke)` functions. This refactor allows external consumers to focus on overloading `abstract_(apply|invoke)` rather than overloading both `abstract_call_known` and `abstract_(apply|invoke)`. 02 March 2021, 15:54:29 UTC
2ee8a39 [build] Bump libblastrampoline to v3.0.2 (#39880) * [build] Bump libblastrampoline to v3.0.2 * [deps/refresh_checksums] Pass `FC_VERSION` to disable "no `gfortran`" check when checksumming 02 March 2021, 13:32:27 UTC
c62ee62 Bump Documenter to 0.26.3 (#39882) 02 March 2021, 07:20:36 UTC
3356b45 Fix typo in julia.h (#39884) indicies -> indices 02 March 2021, 07:20:08 UTC
5e7aaa6 [BugReporting] pass `ARGS` through properly (#39839) When calling `make_interactive_report()`, we really need to pass in `ARGS` as well, otherwise it always starts an interactive session. This commit, in combination with `--` allows the user to run an `rr` session while still passing arguments to the child `julia` process via: ``` julia --bug-report=rr -- --project test/runtests.jl ``` 02 March 2021, 02:22:37 UTC
3ff44ea Merge pull request #39792 from JuliaLang/kf/inlinemtable Remove inlining's dependence on method table lookups 02 March 2021, 00:18:10 UTC
f166b20 Fix case of inlining UnionSplit with a single applicable method 01 March 2021, 19:42:29 UTC
7e345f9 Remove method_table from inlining state This is now no longer used. A use case for external consumers was to re-run another pass of inlining, but that is better addressed by a separate pass that simply sets the appropriate info. 01 March 2021, 18:22:52 UTC
bbad43e Allow inlining of code for big pure results In some cases we can statically compute the result of a pure call, but we refuse to inline it into the IR because it would be too big. In these cases, we'd still like to be able to do regular inlining, so augment MethodResult pure to forward the call info for such calls rather than relying on inlining to recompute the method match. 01 March 2021, 18:22:52 UTC
6cbb3c0 Add statement info for invoke Removes another dependence of inlining on the method table and has the nice side benefit of allowing external consumers like Cthulhu to reason about `invoke`. 01 March 2021, 18:22:52 UTC
7e5edad Add special case inliner for TypeVar Rather than relying on inlining to perform a method lookup. 01 March 2021, 18:22:52 UTC
3d22421 fix #29100, make `fieldnames` constant-fold-able (#39832) 01 March 2021, 18:18:51 UTC
621ee2a LinearAlgebra: Add test "matrix x matrix with negative stride". (#39849) (Made while looking at #39836, which is matrix x vector. Matrix x matrix with negative stride is fine as it is, because it uses the Julia implementation of matrix multiplication.) 01 March 2021, 16:53:01 UTC
back to top