https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
aa1c220 Stop setting force_noinline for function of union arguments The original motivation for setting force_noinline for functions with union arguments seems to have been bugs in type intersection. However, the type system has improved quite a bit and at least in the test suites we don't seem to run into any issues. Thus, we can stop setting force_noinline. Nevertheless, it still make since to penalize functions with union arguments. Doing so encourages union splits to happen at the call site, rather than having multiple redundant union splits inside the function. However, for simple functions of intrinsics and builtins it can make a lot of sense to inline the union split signature. 09 September 2020, 22:06:50 UTC
3ab576d Bump libgit2 to 1.0 (#35233) 09 September 2020, 20:17:50 UTC
8c3f6e5 Bump libuv to latest commit (#37407) 09 September 2020, 19:52:20 UTC
0848688 scope docs: rename `sum_to′` => `sum_to_def` (#37173) Replace `sum_to′` => `sum_to_def` because the `′` (`\prime`) character looks like the `'` (single quote) character in the deployed docs, which can be confusing. 09 September 2020, 16:27:23 UTC
26c79b2 add `NamedTuple(itr)` constructor (#37454) 09 September 2020, 15:03:37 UTC
ed2ed0c Remove bad nospecialize on `Vector{Any}` argument (#37457) This was added in af65e712b8de0292f1445af2853d43d0091e2518 and was likely a mistake since the argument passed in has always been `Vector{Any}` only. 09 September 2020, 15:01:58 UTC
519b04e Revert "ml-matches: update and improve ambiguity computation (#36962)" (#37484) This reverts commit 21ff6ee2564386960dcecdfc87396d693bab0c12. 09 September 2020, 14:28:21 UTC
01b29ec Enable stride/strides to work on a ReinterpretArray with complex Strided parents. (#37414) 09 September 2020, 10:58:11 UTC
18198b1 Add `addenv()`; a way to add new mappings into `Cmd` environment blocks. (#37244) 09 September 2020, 07:27:02 UTC
94249f4 fix a possible segfault during static compilation (#37406) Similar to #37386, for 1.6-dev 09 September 2020, 02:28:26 UTC
e0ca7ce Fix serialization of SSAValues (#37370) * Restore serialization of certain IR nodes. * Make sure we rebuild if the serialize heaader changes. 09 September 2020, 02:26:24 UTC
4a412e3 Merge pull request #37478 from JuliaLang/jq/37474 Ensure 0 isn't padded unnecessarily with %g specifier in Printf 08 September 2020, 23:55:05 UTC
0f2ed80 Optimize codegen of `isa` Union type (#37417) 08 September 2020, 23:24:38 UTC
3114ebe optimize the REPL history reader (#37437) 08 September 2020, 22:16:14 UTC
2d8ae3b Fix elimination of PiNode for Argument (#37422) This causes `PiNode` on `Argument` of type `Argument` to be incorrectly eliminated. Ironically, this happens for `compact_exprtype` which is exactly where the solution is found. 08 September 2020, 22:14:10 UTC
7c07d77 Merge pull request #37470 from JuliaLang/jq/printffix Fix escaped '%' check when building Printf.Format 08 September 2020, 22:04:28 UTC
1bc58da Fix unnecessary use of closure boxing in type inference (#37411) This should fix all appearance of `Core.Box` in the `Core` module with the exception of `simple_walk_constraint` where it is actually necessary. Most of the cases are the normal readonly closures fixed by adding a `let` around it or moving assignments. There are also two cases of recursive closures fixed by moving the recursion out of the closure. 08 September 2020, 21:51:49 UTC
c4e9885 Ensure 0 isn't padded unnecessarily with %g specifier in Printf Fixes #37474. The issue here is that 0 is special-cased in the `Ryu.writeshortest` algorithm, so it didn't hit the same code paths that were already tested to ensure no unnecessary zero padding for the `%g` specifier. We should only zero-pad when the `hash` argument is true to match C, which this PR does. 08 September 2020, 20:13:56 UTC
f13e11c Add xrefs between upper, lower, and titlecase (#37372) * Add `iscased` to docs * Remove xrefs to unexported `iscased` 08 September 2020, 19:21:58 UTC
faa81ea Fix escaped '%' check when building Printf.Format Addresses https://github.com/JuliaLang/julia/pull/32859#issuecomment-688826726. The issue here was advancing the parsing position too far when an escaped `'%'` was encountered after the first format specifier. If an escaped `'%'` was then followed by another specifier, it was ignored due to being classified as an "escaped" character. 08 September 2020, 17:29:09 UTC
dbd3d4c fix #37413, propagating `&&` conditions with `elseif` (#37453) 08 September 2020, 15:20:42 UTC
c0224d5 Optimize copy of `Expr` (#37439) * Remove allocation of extra `[]` * Remove all dynamic dispatch * `@inbounds` array access 08 September 2020, 14:57:56 UTC
1378bb6 Fix `getfield_tfunc` for constant `TypeName` (#37443) The field should be either `Symbol` or `Int`. Ref #37423 Unlike #37423, in additional to worse type info in inference, the missing type check here can actually cause type inference error due to errors in user code. 08 September 2020, 12:30:39 UTC
1e6d771 Specialize _memory_offset on number of arguments. (#37444) 08 September 2020, 09:24:10 UTC
a36c825 Precompile `watch_file` and a few other functions used by Revise (#37403) Together with some internal changes coming in Revise v3.0, on my machine this drops the overhead of `using Revise` from 3.5s to 0.5s. This change only contributes about 0.1s of that time, but out of 0.5s it's a noticeable improvement. The only one of these that makes a sizable impact is `watch_file`, but this does ensure that Revise doesn't trigger any additional "generic" compilation. 08 September 2020, 07:17:18 UTC
c0b6afb Allow expressions as logging keys (#37036) These will be converted to Symbols, similar to how positional args are handled 08 September 2020, 04:02:02 UTC
31d7210 Rewrite printf functionality (#32859) * Rewrite Printf module * Fix whitespace * Rebase fixups * Fix docs * Fix tests * Fix last test * Add back in new tests from 521813b29eba3f36e55a4aec3daea3c3a9e35cec * Fix merge conflict * Remove Printf from tests * Some code cleanup; use at-ccall, add some code comments, docstring for Printf.Format, bump up unrolling from 8 -> 16, remove unnecessary exports * Fix failing docs * Fix 32-bit * Fix some commented out tests * Remove debug file * Fix octal tests * Add NEWS, docstring for Printf.format, and remove extra file 07 September 2020, 18:08:30 UTC
bb5a09f Merge pull request #37430 from JuliaLang/vc/phi_late-gc [LateGCLowering] Look through Phi node 07 September 2020, 12:33:28 UTC
a108d6c Add a statement-cost printer for analyzing inlining decisions (#37275) 07 September 2020, 08:05:07 UTC
eb2a801 Implement store to load forwarding from allocation to typeof (#37390) Also remove unused and unmaintained (missing in `reset`) `hasmemset`. 07 September 2020, 04:26:35 UTC
38e2df9 [LateGCLowering] Look through Phi node 06 September 2020, 14:25:35 UTC
bf886b5 fix an instance of getting mapany from Base (#37419) 06 September 2020, 08:55:04 UTC
be99339 Faster indexing with ReinterpretArrays (#37277) There's at least one branch that can't actually be taken but which LLVM doesn't elide. The implementations here specialize for cases where both the old and new types are aligned to one another. 06 September 2020, 08:08:37 UTC
ddd08cd Remove extra "```" in docs for `svd!` (#37424) 06 September 2020, 07:37:25 UTC
483b637 fix #37401, displaying `Enum` in the repl (#37404) 05 September 2020, 18:19:45 UTC
b365157 more powerful reverse(A; dims) (#37367) * more powerful reverse(A; dims) * fix reverse for offsetarray * bugfix for odd dimensions + test * typo * fix bootstrap failure * explicit reverse! and dims=: tests * NEWS * more offsetarray tests * compat annotation * further simplify and speed up reverse (and reverse! is now down to 0 allocations) * rm redundant inbounds * whoops extra space * use ÷ 2 instead of >> 1 * fix type output in doc * fix type instability in slice ranges 05 September 2020, 13:16:03 UTC
f902584 small fixes to ccall lazy library path change (#37123) (#37383) 04 September 2020, 22:19:13 UTC
54c6e22 some faster `Tuple` and `merge(::NamedTuple, ::Zip)` methods (#37363) 04 September 2020, 22:18:50 UTC
405cd6f Allow packages to force depwarns (#37296) 04 September 2020, 20:34:30 UTC
594ac89 Add `parse()` and `tryparse()` for `SHA1` and `UUID` (#37395) 04 September 2020, 17:00:44 UTC
d2daa81 Add iteration for Cholesky and CholeskyPivoted (#36530) 04 September 2020, 07:39:11 UTC
5acd7bd Fix use of CreateAlignedStore (#37388) This is a compile error on 10+ and is probably triggering implicity conversion on LLVM 8 and 9. 04 September 2020, 03:37:46 UTC
0c6e9ef Bump `Pkg` version (#37389) This is important as we need to fix `Pkg.BinaryPlatforms.platform_key_abi(::SubString)` for BB on Yggdrasil 04 September 2020, 03:37:31 UTC
315ad46 Build `julia_version.h` before running `clangsa` (#37394) 04 September 2020, 02:16:13 UTC
46f78d6 clangsa: Check that a value is rooted on return (#37366) * clangsa: Check that a value is rooted on return Fixes #37364 Also reverts part of 4ed484fe7ac591da67bfe384c369430ed658606d that broke the clangsa self tests. * rm outdated comment 03 September 2020, 23:13:14 UTC
f51d4cb Make sure to build clangsa before running clangsa self tests (#37385) 03 September 2020, 23:01:08 UTC
9548c2d Merge pull request #37354 from JuliaLang/vc/llvm11_compat [LLVM11] Explicitly convert to std::string 03 September 2020, 19:17:58 UTC
0f4d6d9 docs: mention octal/binary literal syntax (#37310) 03 September 2020, 18:22:26 UTC
270a7ff Optimize codegen of access functions for SimpleVector (#37303) Better alias info and GC root tracking. 03 September 2020, 18:21:45 UTC
a004e0b Parameterize optimization that skips inference on throw blocks. (#37211) 03 September 2020, 18:16:40 UTC
8713227 document that istaskfailed needs julia 1.3 (#37373) 03 September 2020, 17:25:46 UTC
467676f Improve alias analysis on julia.typeof and memcmp (#37284) * `julia.typeof` is a pure function of the pointer itself within the lifetime of the object so it can be treated as readnone until we expose write to the type tag (during allocation) to LLVM. * The TBAA metadata can be applied to all functions that access only argument memory or inaccessible memory. Mark it on `memcmp` as well. 03 September 2020, 16:18:23 UTC
18db784 Emit more direct pointer comparisons when possible (#37355) * `isa(..., ::Type{<concrete type>})` * `isa(..., ::Type{<type with no type parameter>})` * `... === <type with no type parameter>` * `isa(..., ::<singleton type>)` * Make sure `Union{}` is treated as singleton * `===` when both sides are/can trivially be boxed and one side is a immutable type with guaranteed box cache. Also fix `jl_pointer_egal` by blacklisting `Core.TypeofBottom` just like codegen/typeinference. 03 September 2020, 16:14:34 UTC
5cf5717 codegen: phic/upsilon nodes can be set to undefined (#37319) Unlike other nodes, Upsilon nodes can be potentially undefined and need special handling to ensure they aren't literally undef, as we might try to union-copy or gc-root the data later. Fix #37262 03 September 2020, 16:06:50 UTC
5c3557e inference: attach "Const.actual" flag to call instead of result type (#37333) It was not a property of the type-lattice but of the call, so it was a bit odd to track in this type (since it should not propagate). Instead, we can attach this to the stmt_info field now, where inlining will find it when needed. 03 September 2020, 15:15:39 UTC
a9743d8 inference: fix precision regression (#37365) While in 1d08d70fb07cfcfc9e89ae1a2521411b1e1724e5 we wanted to avoid combining two types, we did not intend to prevent a type from being just a pass-through value. 03 September 2020, 15:15:20 UTC
b508f9d Remove a comment in Test.jl (#37362) 03 September 2020, 12:39:37 UTC
3453a5c Mark that ismutable requires julia 1.5 (#37357) 03 September 2020, 12:38:57 UTC
98548d7 Merge pull request #37346 from JuliaLang/vc/old_patch remove old clang patch 03 September 2020, 12:38:25 UTC
5d9ce72 [LLVM11] Explicitly convert to std::string 03 September 2020, 08:54:53 UTC
b5956a8 doc: correct typo in devdocs/isbitsunionarrays.md (#37368) 03 September 2020, 07:18:01 UTC
5cba88c allow ccall library name to be non-constant (#37123) Fixes #36458 02 September 2020, 22:20:13 UTC
0bff5bf Add a missing backquote in NEWS.md (#37345) 02 September 2020, 13:42:19 UTC
beb0f9e normalize_triplet: Recognize Darwin AArch64 (#37338) We now have a BB shard for this architecture. Update normalize triplet to be able to use it. 02 September 2020, 12:40:43 UTC
c36a622 remove old clang patch 02 September 2020, 11:38:26 UTC
21ff6ee ml-matches: update and improve ambiguity computation (#36962) With the improved internal implementation of ambiguity testing, it's useful now to lean on that existing support more heavily and compute a lighter version here, fixing some issues with the previous one. Most of these new failures are likely to be type-intersection issues (#36951), which previously were excluded from analysis entirely. 02 September 2020, 04:52:41 UTC
24b39ec Preserve non-concrete types in promote_typejoin (#37019) It is useful to have `promote_typejoin(Union{Missing, Int}, Float64}` return `Union{Missing, Real}` instead of `Any`, in particular because `zero` is defined on the former but not on the latter. This allows `sum(skipmissing(::NamedTuple))` to work even when it contains only missing values. Fixes #35504, Closes #36939 Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> 02 September 2020, 02:41:12 UTC
c3a63fc Only emit incoming values for the phi when needed (#37285) Fixes a crash when one of the incoming value for a union value phi node is of type `Union{}`. Incoming value of this type can be generated by try-catch. Fix #37265 02 September 2020, 00:33:01 UTC
f896006 fix #37282, printing juxtaposition of 0 confusion with hex,bin,oct literals (#37308) 01 September 2020, 22:18:40 UTC
817d927 fix #37267, disallow replacement characters (#37305) 01 September 2020, 22:11:20 UTC
16b4b5c More optimization based on constant array size (#37304) 1. 0-dim array always have size 1. 2. High dimensional array with unknown eltype also have fixed size. The condition introduced in 8af013437982bb10c3941595028af62fe306e0fe was tighter than necessary. 3. Emit sizes of constant array as constant numbers. 01 September 2020, 22:08:44 UTC
0c66483 make haskey with Integers work with RegexMatch (#37300) 01 September 2020, 22:04:50 UTC
01e4819 Rework support for LLVM passes in Julia. (#37298) Make the callback a regular C function pointer with support for passing additional data (to avoid closures in user code). 01 September 2020, 21:56:13 UTC
6d380be Type-stable `intersect` for ranges (#37251) 01 September 2020, 18:46:59 UTC
a3430e7 [mktempdir()]: reset permissions before attempting to delete (#37206) 01 September 2020, 17:29:43 UTC
3285ee0 Merge pull request #37101 from JuliaLang/jn/signalsafe_profile make Profile more thread/signal-safe 01 September 2020, 16:30:30 UTC
949caad Merge pull request #37243 from JuliaLang/jn/36462+36825 code coverage fixes 01 September 2020, 16:25:53 UTC
864cea9 Merge pull request #37266 from JuliaLang/jn/23231 support larger isinlinealloc types! 01 September 2020, 16:25:15 UTC
f3c3720 lowering: Drop unused name expr for non-symbol names (#37287) In expressions like `Foo.Bar.f() = 1`, we would lower this as `Expr(:method, Expr(:call, :getproperty, Expr(:call, :getproperty, :Foo, :Bar), :f) ...)` where args[1] is supposed to be the name of the method. However, if this is not a symbol, the name is actually ignored and the method is required to exist already (i.e. `function foo(); end` is allowed to introduce a new method if `foo` doesn't exist, but `function Main.foo(); end` is not). It doesn't do much harm currently other than being a bit ugly. However, I was trying to do some experiments with getproperty lowering that made the lowering a bit more complicated, which made the frontend unhappy, because there were now more complicated expressions in there (the fact that it works for call is a bit of an accident). Since there is no good reason to keep it and I did the work to drop it anyway, for my experimenting, let's just drop this unused expr arg entirely and replace it by nothing if it's not supposed to be used. 01 September 2020, 16:18:36 UTC
035d8cf add space after comma in typealias printing (#37302) 01 September 2020, 16:00:54 UTC
d46a3f7 Pass the full mapped length to msync/FlushViewOfFile (#37311) 01 September 2020, 15:57:42 UTC
f780151 reset ACTIVE_PROJECT when building docs (#37315) 01 September 2020, 15:40:55 UTC
294e5ae Improve inference for paths leading to `similar` (#37163) * Infer better eachindex broadcasting * Fix a misuse of show_datatype * Improve inference in vcat(A::BitMatrix...) Because the tuple-length is unknown and because inference gives up easily in the face of missing type parameters, the generator expressions in the previous implementation were poorly inferred. * Use Vector{String} in Cmd field type * Introduce ntupleany and use mapany in more places This also makes mapany safe for iterators without `length` * Add types to some comprehensions and lists * Add some type-asserts and argtypes * AbstractString->String in Distributed.ProcessGroup * Update base/Enums.jl * Update base/abstractarray.jl Co-authored-by: Pablo Zubieta <8410335+pabloferz@users.noreply.github.com> 01 September 2020, 12:12:31 UTC
2f5d3e8 Improve shape inference in `cat` (#37080) `cat` is frequently called with poor inference, since one only has to concatenate a couple of different container types before inference punts on the result type. While this does not make the return type in mixed container types fully inferrable, it does improve the analysis of the shape. 01 September 2020, 11:57:20 UTC
87ed158 more accurate and type-stable sinc/cosc (#37273) 31 August 2020, 22:20:12 UTC
5aaf321 Add fix-it hint to error message (#37270) Suggest calling `Matrix` when suggesting to convert a sparse to a dense matrix. 31 August 2020, 22:18:00 UTC
0e082ee doc: fix some typos (#37301) 31 August 2020, 20:14:00 UTC
2a96176 Merge pull request #37222 from nilshg/patch-1 Add missing support for addition and subtraction 31 August 2020, 17:29:59 UTC
0a77e07 More GC annotation in C code (#37272) * Mark more functions as not safepoints * Mark more error throwing function as having callee rooted arguments * Make runtime symbol lookup function not-safepoint-or-throw * Use `jl_field_type_concrete` in more places where the input argument is known concrete (return from `jl_typeof`) * Use `jl_safe_printf` in `jl_checked_assignment` to print constant overwrite warning to make it more clear to the analyser that the printing does not allocate. 31 August 2020, 16:47:17 UTC
2154472 fix Dict `sizehint!` to allow enough space for the requested length (#37248) fixes #9909 31 August 2020, 16:13:57 UTC
35ac635 fix exception stack pop for UndefVarError in catch block (#37269) 31 August 2020, 16:07:48 UTC
dca2548 lower the limit on the required number of precompile statements (#37292) 31 August 2020, 14:28:30 UTC
5f0469b Implement TOML.parse(::IO) and add more tests for (#37278) TOML.(try)parse(file) entrypoints. 31 August 2020, 10:52:08 UTC
2403796 doc: fix a few typos (#37291) 31 August 2020, 10:40:02 UTC
116a7ef Merge pull request #37252 from JuliaLang/tb/rm_hooks Remove most codegen hooks. 31 August 2020, 09:34:35 UTC
41e603e Refine out callee rooted values from live set at the call site (#37197) 30 August 2020, 21:06:05 UTC
0336f67 Add missing tab-completion help for emoji (#34034) * Add missing tab-completion help for emoji Closes: #34006 * Add tests for tab-completion on emoji * Drop Base.REPL_MODULE_REF[] as it is a part of REPL * Use colons Signed-off-by: Utkarsh Gupta <utkarsh@debian.org> * Update docview.jl * fix test Co-authored-by: Steven G. Johnson <stevenj@mit.edu> Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu> 30 August 2020, 01:07:32 UTC
2fc3dcd add spaces between type parameters and Dict entries (#37085) 29 August 2020, 22:59:26 UTC
b630cd6 Define push! and popfirst! for AbstractChannel (#34274) * Don't test with RemoteChannel as it is not a subtype of AbstractChannel 29 August 2020, 22:59:10 UTC
3f7b556 add a NEWS entry for the TOML stdlib (#37253) 29 August 2020, 18:01:03 UTC
back to top