19fba2b | Jameson Nash | 02 September 2020, 14:43:05 UTC | 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 | Jameson Nash | 02 September 2020, 14:42:01 UTC | 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 | Sebastian Stock | 02 September 2020, 13:42:19 UTC | Add a missing backquote in NEWS.md (#37345) | 02 September 2020, 13:42:19 UTC |
beb0f9e | Keno Fischer | 02 September 2020, 12:40:43 UTC | 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 | Jameson Nash | 02 September 2020, 04:52:41 UTC | 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 | Jameson Nash | 02 September 2020, 02:41:12 UTC | 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 | Yichao Yu | 02 September 2020, 00:33:01 UTC | 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 | Jeff Bezanson | 01 September 2020, 22:18:40 UTC | fix #37282, printing juxtaposition of 0 confusion with hex,bin,oct literals (#37308) | 01 September 2020, 22:18:40 UTC |
817d927 | Jeff Bezanson | 01 September 2020, 22:11:20 UTC | fix #37267, disallow replacement characters (#37305) | 01 September 2020, 22:11:20 UTC |
16b4b5c | Yichao Yu | 01 September 2020, 22:08:44 UTC | 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 | Lyndon White | 01 September 2020, 22:04:50 UTC | make haskey with Integers work with RegexMatch (#37300) | 01 September 2020, 22:04:50 UTC |
01e4819 | Tim Besard | 01 September 2020, 21:56:13 UTC | 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 | Sebastian Stock | 01 September 2020, 18:46:59 UTC | Type-stable `intersect` for ranges (#37251) | 01 September 2020, 18:46:59 UTC |
a3430e7 | Elliot Saba | 01 September 2020, 17:29:43 UTC | [mktempdir()]: reset permissions before attempting to delete (#37206) | 01 September 2020, 17:29:43 UTC |
3285ee0 | Jameson Nash | 01 September 2020, 16:30:30 UTC | Merge pull request #37101 from JuliaLang/jn/signalsafe_profile make Profile more thread/signal-safe | 01 September 2020, 16:30:30 UTC |
949caad | Jameson Nash | 01 September 2020, 16:25:53 UTC | Merge pull request #37243 from JuliaLang/jn/36462+36825 code coverage fixes | 01 September 2020, 16:25:53 UTC |
864cea9 | Jameson Nash | 01 September 2020, 16:25:15 UTC | Merge pull request #37266 from JuliaLang/jn/23231 support larger isinlinealloc types! | 01 September 2020, 16:25:15 UTC |
f3c3720 | Keno Fischer | 01 September 2020, 16:18:36 UTC | 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 | Jeff Bezanson | 01 September 2020, 16:00:54 UTC | add space after comma in typealias printing (#37302) | 01 September 2020, 16:00:54 UTC |
d46a3f7 | jmert | 01 September 2020, 15:57:42 UTC | Pass the full mapped length to msync/FlushViewOfFile (#37311) | 01 September 2020, 15:57:42 UTC |
f780151 | Kristoffer Carlsson | 01 September 2020, 15:40:55 UTC | reset ACTIVE_PROJECT when building docs (#37315) | 01 September 2020, 15:40:55 UTC |
294e5ae | Tim Holy | 01 September 2020, 12:12:31 UTC | 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 | Tim Holy | 01 September 2020, 11:57:20 UTC | 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 | Steven G. Johnson | 31 August 2020, 22:20:12 UTC | more accurate and type-stable sinc/cosc (#37273) | 31 August 2020, 22:20:12 UTC |
5aaf321 | Erik Schnetter | 31 August 2020, 22:18:00 UTC | 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 | Jonas Schulze | 31 August 2020, 20:14:00 UTC | doc: fix some typos (#37301) | 31 August 2020, 20:14:00 UTC |
2a96176 | Jacob Quinn | 31 August 2020, 17:29:59 UTC | Merge pull request #37222 from nilshg/patch-1 Add missing support for addition and subtraction | 31 August 2020, 17:29:59 UTC |
0a77e07 | Yichao Yu | 31 August 2020, 16:47:17 UTC | 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 | Jeff Bezanson | 31 August 2020, 16:13:57 UTC | fix Dict `sizehint!` to allow enough space for the requested length (#37248) fixes #9909 | 31 August 2020, 16:13:57 UTC |
35ac635 | Jeff Bezanson | 31 August 2020, 16:07:48 UTC | fix exception stack pop for UndefVarError in catch block (#37269) | 31 August 2020, 16:07:48 UTC |
dca2548 | Kristoffer Carlsson | 31 August 2020, 14:28:30 UTC | lower the limit on the required number of precompile statements (#37292) | 31 August 2020, 14:28:30 UTC |
5f0469b | Fredrik Ekre | 31 August 2020, 10:52:08 UTC | Implement TOML.parse(::IO) and add more tests for (#37278) TOML.(try)parse(file) entrypoints. | 31 August 2020, 10:52:08 UTC |
2403796 | Charles Kawczynski | 31 August 2020, 10:40:02 UTC | doc: fix a few typos (#37291) | 31 August 2020, 10:40:02 UTC |
116a7ef | Tim Besard | 31 August 2020, 09:34:35 UTC | Merge pull request #37252 from JuliaLang/tb/rm_hooks Remove most codegen hooks. | 31 August 2020, 09:34:35 UTC |
41e603e | Yichao Yu | 30 August 2020, 21:06:05 UTC | Refine out callee rooted values from live set at the call site (#37197) | 30 August 2020, 21:06:05 UTC |
0336f67 | Utkarsh Gupta | 30 August 2020, 01:07:32 UTC | 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 | Jeff Bezanson | 29 August 2020, 22:59:26 UTC | add spaces between type parameters and Dict entries (#37085) | 29 August 2020, 22:59:26 UTC |
b630cd6 | Takafumi Arakaki | 29 August 2020, 22:59:10 UTC | 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 | Kristoffer Carlsson | 29 August 2020, 18:01:03 UTC | add a NEWS entry for the TOML stdlib (#37253) | 29 August 2020, 18:01:03 UTC |
54074bc | Jan Weidner | 29 August 2020, 17:34:19 UTC | more DEPOT_PATH docs (#36635) | 29 August 2020, 17:34:19 UTC |
79a9ea0 | Martin Holters | 29 August 2020, 16:59:47 UTC | 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 | Jeff Bezanson | 29 August 2020, 16:28:30 UTC | fix #37228, lowering regression in `if a && ...` (#37245) caused by #36355 | 29 August 2020, 16:28:30 UTC |
56ce2d2 | Kristoffer Carlsson | 29 August 2020, 13:38:41 UTC | bump Pkg version (#37250) | 29 August 2020, 13:38:41 UTC |
fb8ba35 | Kristoffer Carlsson | 29 August 2020, 09:32:17 UTC | TOML: allow printing AbstractString values (#37263) | 29 August 2020, 09:32:17 UTC |
4c02767 | Jeff Bezanson | 29 August 2020, 01:44:29 UTC | support full exception stacks in Task error reporting (#37224) | 29 August 2020, 01:44:29 UTC |
0b0e219 | Yichao Yu | 28 August 2020, 19:44:14 UTC | [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 | Moritz Schauer | 28 August 2020, 19:34:55 UTC | Update mathematical-operations.md (#37144) | 28 August 2020, 19:34:55 UTC |
1ea4901 | Matt Bauman | 28 August 2020, 19:33:03 UTC | 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 | Jeff Bezanson | 28 August 2020, 19:25:16 UTC | more per-module compiler options (#37041) | 28 August 2020, 19:25:16 UTC |
2d5ae71 | Stephan Hilb | 28 August 2020, 19:15:09 UTC | 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 | Jameson Nash | 27 August 2020, 19:19:40 UTC | coverage: ensure definition line is also counted Closes #36825 | 28 August 2020, 19:09:10 UTC |
42a1d34 | Jameson Nash | 27 August 2020, 18:50:04 UTC | 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 | Simon Byrne | 28 August 2020, 19:07:31 UTC | remove special-casing of Tuple in REPL completion (#36874) Partially fix #36872 | 28 August 2020, 19:07:31 UTC |
ed1610f | Jameson Nash | 28 August 2020, 18:20:02 UTC | 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 | Jameson Nash | 28 August 2020, 17:40:28 UTC | build: remove part of #37121 (#37238) This caused issues for ccache builds (nanosoldier). | 28 August 2020, 17:40:28 UTC |
840ecac | Jameson Nash | 28 August 2020, 17:37:40 UTC | 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 | Jeff Bezanson | 28 August 2020, 15:44:46 UTC | 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 | Tim Holy | 28 August 2020, 15:43:37 UTC | 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 | Jameson Nash | 28 August 2020, 14:27:13 UTC | 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 | Jameson Nash | 28 August 2020, 15:24:52 UTC | gc: extend inlining support to pointers at offsets of greater than 256 words | 28 August 2020, 15:25:32 UTC |
e49e832 | Páll Haraldsson | 28 August 2020, 15:14:19 UTC | aysnchronous typos (#37264) | 28 August 2020, 15:14:19 UTC |
c885514 | Kristoffer Carlsson | 28 August 2020, 13:50:15 UTC | 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 | Yichao Yu | 28 August 2020, 13:15:55 UTC | 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 | Yichao Yu | 28 August 2020, 13:15:27 UTC | 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 | Tim Besard | 26 August 2020, 08:34:37 UTC | Remove most codegen hooks. They are not required by the GPU compiler anymore. | 28 August 2020, 08:34:00 UTC |
4b42f14 | Jeff Bezanson | 28 August 2020, 06:49:40 UTC | add another deprecated internal function for backwards compat (#36794) | 28 August 2020, 06:49:40 UTC |
36505aa | Kristoffer Carlsson | 28 August 2020, 06:46:24 UTC | fix markdown rendering (#37235) | 28 August 2020, 06:46:24 UTC |
c10c451 | Martin Holters | 28 August 2020, 00:10:38 UTC | Make constructors for basic number types inferable (#37213) | 28 August 2020, 00:10:38 UTC |
f8a73da | Bogumił Kamiński | 27 August 2020, 21:19:03 UTC | improve speed of allunique (#37208) | 27 August 2020, 21:19:03 UTC |
701885b | Matt Bauman | 27 August 2020, 20:54:00 UTC | 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 | Ron Wolf | 27 August 2020, 18:20:18 UTC | AbstractArray: Remove "storagetype might be … a function" (#37237) Fixes #37226. See also #26733. | 27 August 2020, 18:20:18 UTC |
813500d | Tim Besard | 27 August 2020, 17:25:21 UTC | 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 | Mustafa M | 27 August 2020, 17:14:11 UTC | Add INNO_ARGS makefile var for signtool (#37236) | 27 August 2020, 17:14:11 UTC |
19bc06a | Jeff Bezanson | 27 August 2020, 15:49:12 UTC | add some needed `local` declarations to macros (#37219) to avoid leaking globals | 27 August 2020, 15:49:12 UTC |
834ab52 | Jeff Bezanson | 27 August 2020, 15:44:31 UTC | fix ccall test for not-found library output (#37220) | 27 August 2020, 15:44:31 UTC |
fad04d3 | Jameson Nash | 27 August 2020, 14:54:15 UTC | macOS: workaround a keymgr/libunwind deadlock issue on x86_64 since 10.9 | 27 August 2020, 14:54:15 UTC |
8631987 | Nils | 27 August 2020, 10:34:08 UTC | Update stdlib/Dates/test/arithmetic.jl Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> | 27 August 2020, 10:34:08 UTC |
4d39cf4 | Nils | 27 August 2020, 09:31:40 UTC | 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 | Tim Holy | 27 August 2020, 08:57:33 UTC | 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 | Martin Holters | 27 August 2020, 00:54:22 UTC | Prune egal types when forming a `Union` (#37207) Fixes #37180. | 27 August 2020, 00:54:22 UTC |
6e7aea4 | Milan Bouchet-Valat | 26 August 2020, 20:17:51 UTC | Remove trailing whitespace | 26 August 2020, 20:17:51 UTC |
ffa2884 | Nils | 26 August 2020, 19:59:58 UTC | Add tests for missing arithmetic These test the exported subtypes of `AbstractTime` | 26 August 2020, 19:59:58 UTC |
6e44f90 | Nils | 26 August 2020, 19:49:01 UTC | Update stdlib/Dates/src/arithmetic.jl Co-authored-by: Milan Bouchet-Valat <nalimilan@club.fr> | 26 August 2020, 19:49:01 UTC |
5416a09 | Nils | 26 August 2020, 19:21:05 UTC | Add missing support for addition and subtraction Inspired by the discussion in #28570 | 26 August 2020, 19:21:05 UTC |
8a01917 | Kristoffer Carlsson | 26 August 2020, 19:09:35 UTC | add a TOML standard library to Julia (#37034) | 26 August 2020, 19:09:35 UTC |
5da9691 | Atsushi Sakai | 26 August 2020, 17:46:46 UTC | Add missing docstring for `zero` function which input is type (#37152) | 26 August 2020, 17:46:46 UTC |
db0f55e | Jeff Bezanson | 26 August 2020, 17:07:39 UTC | declare PhiNode.edges::Vector{Int32} (#37108) fixes #37078 | 26 August 2020, 17:07:39 UTC |
646626e | Jeff Bezanson | 26 August 2020, 17:05:40 UTC | fix #37134, error with macro returning `x::T -> y` (#37181) | 26 August 2020, 17:05:40 UTC |
1c9c241 | Tim Holy | 26 August 2020, 16:56:49 UTC | 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 | Tim Holy | 26 August 2020, 15:38:32 UTC | 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 | Jameson Nash | 26 August 2020, 13:59:51 UTC | 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 | Jameson Nash | 18 August 2020, 15:27:28 UTC | make Profile more thread/signal-safe Fixes #35117 Fixes #13294 | 26 August 2020, 14:01:02 UTC |
a9f99b5 | Tim Holy | 26 August 2020, 13:56:02 UTC | 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 | Tim Holy | 26 August 2020, 12:25:38 UTC | 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 | Kristoffer Carlsson | 26 August 2020, 08:36:14 UTC | bettter fix for #36575 (#37203) * better fix for #36575 | 26 August 2020, 08:36:14 UTC |
bf32ea4 | Martin Holters | 25 August 2020, 20:01:19 UTC | Let `LinearIndices(::Broadcasted)` return `LinearIndices` (#37186) | 25 August 2020, 20:01:19 UTC |
7b66916 | Zlatan Vasović | 25 August 2020, 19:22:48 UTC | Make parser link work in Documenter (#37156) | 25 August 2020, 19:22:48 UTC |
9ae0a73 | Jeff Bezanson | 25 August 2020, 18:25:42 UTC | fix #37126, spurious soft scope warning on hidden name (#37178) | 25 August 2020, 18:25:42 UTC |
dbf5e00 | Tim Holy | 25 August 2020, 17:31:15 UTC | Use a codeunit type-assert that is easier for inference to elide (#37192) Circumvents #37135 | 25 August 2020, 17:31:15 UTC |
6aee988 | Tim Holy | 25 August 2020, 17:05:50 UTC | 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 |