https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
19fba2b check that Dict convert gives expected type Avoids a stack overflow and gives a proper error instead (as well as possibly improving inference of the consumers). Fixes #37349 02 September 2020, 19:04:05 UTC
465aec4 inference: fix some misuses of isType The tuple_tfunc failed to account for the possibility that the Type might be obscured inside a UnionAll or Union, and would fail to widen the params in that case. Refs #37349 02 September 2020, 19:04:05 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
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
54074bc more DEPOT_PATH docs (#36635) 29 August 2020, 17:34:19 UTC
79a9ea0 Fix type-equality involving `Type{Union{}}` (#37261) In particular, make `obviously_unequal(Type{Union{}}, Type{T} where {Union{}<:T<:Union{}})` false. Fixes #37255 29 August 2020, 16:59:47 UTC
662e24c fix #37228, lowering regression in `if a && ...` (#37245) caused by #36355 29 August 2020, 16:28:30 UTC
56ce2d2 bump Pkg version (#37250) 29 August 2020, 13:38:41 UTC
fb8ba35 TOML: allow printing AbstractString values (#37263) 29 August 2020, 09:32:17 UTC
4c02767 support full exception stacks in Task error reporting (#37224) 29 August 2020, 01:44:29 UTC
0b0e219 [NFC] C code clearn up (#37185) * Remove unused functions that are not obviously kept for debugging * Make functions/variables not used in other files static * Move non-static declarations of function and variables to headers * Remove non-exported API and it's users from `julia.h` (moved to `julia_internal.h`) This removes `jl_vararg_kind_t` from public header. It's technically breaking. But since no one could actually use its value due to the function that produces this being not callable, this shouldn't break any actual/useful code. 28 August 2020, 19:44:14 UTC
3d053d3 Update mathematical-operations.md (#37144) 28 August 2020, 19:34:55 UTC
1ea4901 Improve unaliascopy error message (#37103) This effectively works around the lack of #35543; what we had been doing on 1.5 no longer prints appropriately on 1.6. 28 August 2020, 19:33:03 UTC
e2b990e more per-module compiler options (#37041) 28 August 2020, 19:25:16 UTC
2d5ae71 implement faster `issubset(::BitSet, BitSet)` (#36882) The new implementation avoids allocation completely and seems to be consistently at least 3x faster even in the wort-case (large BitSet, complete loop). Some tests have been added to cover different early-return branches. 28 August 2020, 19:15:09 UTC
8aaf971 coverage: ensure definition line is also counted Closes #36825 28 August 2020, 19:09:10 UTC
42a1d34 restore explicit module field to LineNumberNode While this takes a non-trivial amount of space in the system image (about the same as putting the Method object here, but less than putting the full edge to the MethodInstance), it is necessary to avoid the regression #36462 caused by 2e37784468f5fa30a834b0e8a2dd72d68e758627. 28 August 2020, 19:09:10 UTC
4520e0e remove special-casing of Tuple in REPL completion (#36874) Partially fix #36872 28 August 2020, 19:07:31 UTC
ed1610f threads: code improvements where threaded races occur (#37215) Most of these are fairly benign previously, especially on x86, though we did need to upgrade the gc_state to be an atomic release, so we'll see if that seems expensive later and address it then. 28 August 2020, 18:20:02 UTC
c9b2cab build: remove part of #37121 (#37238) This caused issues for ccache builds (nanosoldier). 28 August 2020, 17:40:28 UTC
840ecac fix MEMPROFILE code for the new garbage collector (#37246) As suggested recently on the issues list. Fixes #12840 28 August 2020, 17:37:40 UTC
6fafd6b use printf/exit instead of `jl_error` for "too many threads" (#37223) This is too early for `jl_error` to work. 28 August 2020, 15:44:46 UTC
9ce2c88 Precompile a `get!` instance used by Requires (#37256) In conjunction with xref https://github.com/JuliaPackaging/Requires.jl/pull/89, this shaves about 100ms off the first usage of Requires. 28 August 2020, 15:43:37 UTC
3744460 LibGit2: fix missing gc roots Now that we have inline allocation of struct objects with references, we can describe this object layout correctly! Fixes #23231 28 August 2020, 15:25:32 UTC
5fa1d30 gc: extend inlining support to pointers at offsets of greater than 256 words 28 August 2020, 15:25:32 UTC
e49e832 aysnchronous typos (#37264) 28 August 2020, 15:14:19 UTC
c885514 move the TOML parser to Base and implement code loading on top of the Base TOML parser (#36018) 28 August 2020, 13:50:15 UTC
7c48091 Remove unnecessary volatile on memcpy (#37221) This is a local bitcast of different size through memory and doesn't need to be volatile. This was introduced due to a typo in 8e4327cd75af515feffc7db00c0dfeac4dca306b when the argument order changed and the old tbaa parameter was passed in as isvolatile. 28 August 2020, 13:15:55 UTC
80e69b9 Fix TBAA for `DataType` (#37184) Due to lazy field type initialization, the `types` field is actually mutable in `DataType`. This means that we cannot use immutable or constant TBAA for all `DataType` fields. However, since any objects stored in the field are still rooted over the lifetime of the `DataType` we can still let the GC root placement pass refine any field to the parent `DataType`. Also make use of the field offset to still mark known load from all other fields as constant. This is currently done via a special case but it could also be useful for many other types too. 28 August 2020, 13:15:27 UTC
e483e81 Remove most codegen hooks. They are not required by the GPU compiler anymore. 28 August 2020, 08:34:00 UTC
4b42f14 add another deprecated internal function for backwards compat (#36794) 28 August 2020, 06:49:40 UTC
36505aa fix markdown rendering (#37235) 28 August 2020, 06:46:24 UTC
c10c451 Make constructors for basic number types inferable (#37213) 28 August 2020, 00:10:38 UTC
f8a73da improve speed of allunique (#37208) 27 August 2020, 21:19:03 UTC
701885b fix #37199, indexing for 1-d views with offset ranges (#37204) We had been assuming that IdentityUnitRange matched the indices of the parent (like Slices) but they define their own offset axes. Further, other `AbstractRanges` may be similarly offset. We do not need to consider other offset `AbstractArrays` as this code only applies to `IndexLinear` `SubArray`s. 27 August 2020, 20:54:00 UTC
0ae8f95 AbstractArray: Remove "storagetype might be … a function" (#37237) Fixes #37226. See also #26733. 27 August 2020, 18:20:18 UTC
813500d Simplify static_eval, remove allocation restriction (#37209) * Simplify static_eval. Remove the sparam and allow_alloc parameters, which are enabled in all uses of static_eval (which there are way fewer than there used to be). * Remove static_alloc codegen param. 27 August 2020, 17:25:21 UTC
05a0d54 Add INNO_ARGS makefile var for signtool (#37236) 27 August 2020, 17:14:11 UTC
19bc06a add some needed `local` declarations to macros (#37219) to avoid leaking globals 27 August 2020, 15:49:12 UTC
834ab52 fix ccall test for not-found library output (#37220) 27 August 2020, 15:44:31 UTC
fad04d3 macOS: workaround a keymgr/libunwind deadlock issue on x86_64 since 10.9 27 August 2020, 14:54:15 UTC
8631987 Update stdlib/Dates/test/arithmetic.jl Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> 27 August 2020, 10:34:08 UTC
4d39cf4 Hardcode `DatePeriod` and `TimePeriod` subtypes Avoids the usage of `subtypes` function, which would need to be imported from `InteractiveUtils` otherwise 27 August 2020, 09:31:40 UTC
e0cc82b Add `bodyfunction(m::Method)` (#36385) This finds the function that implements the "body" of keyword-method `m`, as generated by lowering. This addresses the "discovery" part of #30908. The renaming is done by LoweredCodeUtils. 27 August 2020, 08:57:33 UTC
f047d7f Prune egal types when forming a `Union` (#37207) Fixes #37180. 27 August 2020, 00:54:22 UTC
6e7aea4 Remove trailing whitespace 26 August 2020, 20:17:51 UTC
ffa2884 Add tests for missing arithmetic These test the exported subtypes of `AbstractTime` 26 August 2020, 19:59:58 UTC
6e44f90 Update stdlib/Dates/src/arithmetic.jl Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> 26 August 2020, 19:49:01 UTC
5416a09 Add missing support for addition and subtraction Inspired by the discussion in #28570 26 August 2020, 19:21:05 UTC
8a01917 add a TOML standard library to Julia (#37034) 26 August 2020, 19:09:35 UTC
5da9691 Add missing docstring for `zero` function which input is type (#37152) 26 August 2020, 17:46:46 UTC
db0f55e declare PhiNode.edges::Vector{Int32} (#37108) fixes #37078 26 August 2020, 17:07:39 UTC
646626e fix #37134, error with macro returning `x::T -> y` (#37181) 26 August 2020, 17:05:40 UTC
1c9c241 Improve partial inference of key container operations (#37084) `resize!` and `sizehint!` are big targets for invalidation, and quite a lot of code was calling these methods with poor inference about the size. Since the size is just `Int`, asserting that eliminates numerous vulnerabilities. Likewise, bounds-checking always works with `Bool`. Finally, add a couple of short-circuits for `eltype(::Tuple{T,...})`, including one that bypasses `typejoin`. 26 August 2020, 16:56:49 UTC
69eadbc Improve inference broadly throughout REPL (#37081) * REPL: move Options to improve inference Moving this earlier in the load sequence allows one to annotate the return type of some methods. * REPL: add interfaces for abstract types and change one field type Since MIState and others have containers with abstract typing, these interfaces fix inference problems broadly. * IO: improve inferrability of write and unsafe_write * REPL: add argument typing and improve implementations Since entire modules are marked `@nospecialize`, we need to declare argument types anywhere we want good inference. This also improves numerous implementations to ensure inferrability. For the completion methods, notice this changes typeof(ret[2]) from UnitRange{Int64} to UnitRange{Int}. Internally, the methods are using Int rather than Int64, so consistently supporting Int64 would require more extensive changes. * REPL: add argtypes to keymap functions * REPL: test inference in LineEdit 26 August 2020, 15:38:32 UTC
b664ae3 win64,stackwalk: remove support for binaries missing SEH info This hack, added in 7e95d0911110e6d4fdfb5c9e96cd5957ad27d259, was a workaround for LLVM3.3 not being able to generate binaries with the mandatory SEH section information. Now, it is just a potential source of segfaults in observation. 26 August 2020, 14:01:02 UTC
0041d44 make Profile more thread/signal-safe Fixes #35117 Fixes #13294 26 August 2020, 14:01:02 UTC
a9f99b5 Rewrite shell_parse (#37093) I've made changes to `shell_parse` perhaps three times already. This PR hopefully finishes the job by abandoning the original closure-based design altogether and using a style that inference likes better. 26 August 2020, 13:56:02 UTC
b0ab29e Ensure that BitArrays are inferrable for arbitrary `Integer` (#37082) BitArray operations are frequently performed with partial inference information (particularly from Pkg but others as well). Currently the internal operations are a source of invalidation for common arithmetic and bitwise operators. There seems to be no need to live with this, as all the inference problems are fixed by converting `Integer`s to `Int`s. This is done elsewhere already in BitArray code, so it only seems to be continuing a process that is already underway. Because of the multiplicity of methods `BitArray{N}(a::Any)` is not fully inferrable but there are at least limited victories, and the real benefits are in the elimination of instabilities in the internal operations. 26 August 2020, 12:25:38 UTC
d84cd4d bettter fix for #36575 (#37203) * better fix for #36575 26 August 2020, 08:36:14 UTC
bf32ea4 Let `LinearIndices(::Broadcasted)` return `LinearIndices` (#37186) 25 August 2020, 20:01:19 UTC
7b66916 Make parser link work in Documenter (#37156) 25 August 2020, 19:22:48 UTC
9ae0a73 fix #37126, spurious soft scope warning on hidden name (#37178) 25 August 2020, 18:25:42 UTC
dbf5e00 Use a codeunit type-assert that is easier for inference to elide (#37192) Circumvents #37135 25 August 2020, 17:31:15 UTC
6aee988 Avoid several bad `show_default` invalidations (#37125) This fixes ~50 quite critical invalidations from loading StaticArrays, which manages to hit the package-loading code, the docstring code, and the `MethodError` display code. Since particularly the first two are used by *everything*, these invalidations are about as bad as it gets given that this is not a huge number of invalidations (at least, by our old standards). The invalidation of the package-loading code is due to a rather hilarious chain of events. [This method definition](https://github.com/JuliaArrays/StaticArrays.jl/blob/ad583c99768f3a381ba20b1a0782c9ca50890b50/src/SArray.jl#L125-L126) ends up invalidating [`show_default`](https://github.com/JuliaLang/julia/blob/89d6b469b633dde8f92b4d245ca3d8e5606e229c/base/show.jl#L417), which got called because `stale_cachefile` used an outdated variable name in a [`@debug` macro](https://github.com/JuliaLang/julia/blob/89d6b469b633dde8f92b4d245ca3d8e5606e229c/base/loading.jl#L1518) that ended up grabbing the global `mod` function. Since `show(::IO, ::Function)` can call `show_default`, this ended up invalidating basically all the package-loading code. The docstring code got invalidated because `show(::IO, ::Pair{Symbol,Any})` [calls `show_default`](https://github.com/JuliaLang/julia/blob/89d6b469b633dde8f92b4d245ca3d8e5606e229c/base/show.jl#L907). This PR provides a dedicated path that circumvents `show_default`. Finally, an innocuous-seeming function-print in `showerror(::IO, ::MethodError)` also led to quite a chain of invalidation. * Specify that getaddrinfo(::AbstractString) returns a `Union{IPv4,IPv6}` These are the only two types supported by `Sockets`, so this seems reasonable, although it does block further extension. 25 August 2020, 17:05:50 UTC
back to top