40e2d59 | Simon Byrne | 01 August 2020, 04:29:11 UTC | Add unsafe_string for Cwstring (#36040) Also adds some tests for Cwstring handling, fixes #28863. | 01 August 2020, 04:29:11 UTC |
984749b | Zlatan Vasović | 01 August 2020, 01:10:40 UTC | CITATION: http:// -> https:// (#36813) | 01 August 2020, 01:10:40 UTC |
fb152de | Fredrik Ekre | 31 July 2020, 19:05:57 UTC | Do not include commit-offset number in VERSION if we are building for a tag. (#36867) | 31 July 2020, 19:05:57 UTC |
af39538 | Fredrik Ekre | 31 July 2020, 15:09:31 UTC | Better deployment of rc docs #36859 | 31 July 2020, 15:09:31 UTC |
a6061a6 | Jameson Nash | 31 July 2020, 14:53:25 UTC | add a constructor for Union{} (#36863) This often shows up accidentally in method intersections, which can force recompilation of completely unrelated code. Define this explicitly so that the compiler can always ignore this dispatch possibility. | 31 July 2020, 14:53:25 UTC |
f41115b | Jameson Nash | 30 July 2020, 20:27:57 UTC | avoid invalidations when it doesn't resolve an MethodError (#36733) In these cases, the new method would not be called because the call would still be an ambiguity error instead. We also might observe that the method doesn't resolve an old MethodError because it was previously covered by a different method. | 30 July 2020, 20:27:57 UTC |
cd3fb4d | Yichao Yu | 30 July 2020, 18:39:37 UTC | A few processor detection/features tweaks (#36831) * Missing feature from Apple A13 * Enable Cortex-A78 and Cortex-X1 on LLVM 11 llvm/llvm-project@954db63cd149df031d9b660bf68f0fe1de1defb9 https://reviews.llvm.org/D83206 * More relaxed Zen detection: treat all family 23 as Zen* and treat all model >= 0x30 as Zen2. GCC uses a similar fallback structure albeit based on feature. This should still generate **correct** code since that is always controlled by available features. It should be as good a scheduling model estimate as anything else. Fix #36826 | 30 July 2020, 18:39:37 UTC |
cd4330d | Fredrik Ekre | 30 July 2020, 17:53:54 UTC | rc docs: hack Documenter to insert rc docs in the version selector. | 30 July 2020, 17:55:37 UTC |
50c4e67 | Fredrik Ekre | 30 July 2020, 17:53:19 UTC | rc docs: strip extra pre-release info, deploy to e.g. 1.5.0-rc2 instead of 1.5.0-rc2.0 | 30 July 2020, 17:53:19 UTC |
710cf28 | Denis Barucic | 30 July 2020, 17:00:26 UTC | Diagonal: Check dimensions when multiplying with vector (#36841) | 30 July 2020, 17:00:26 UTC |
f130d9b | Morten Piibeleht | 30 July 2020, 10:25:54 UTC | Update admonition docs (#36589) | 30 July 2020, 10:25:54 UTC |
7f348c5 | Stefan Karpinski | 29 July 2020, 23:17:50 UTC | docs, scope: include do-blocks in scope table [close #36837] (#36842) | 29 July 2020, 23:17:50 UTC |
7fa3a9b | Fredrik Ekre | 29 July 2020, 23:09:57 UTC | Update Pkg version. (#36844) $ git log --pretty=oneline --abbrev=commit 13456b9..4270a54 4270a54130d70a3b93419d4ce6908f0d999bec59 Fix PkgServer download failures (#1930) | 29 July 2020, 23:09:57 UTC |
cc2f9b0 | Max Horn | 29 July 2020, 21:11:37 UTC | Fix C compiler warning in jl_get_safe_restore() (#36818) | 29 July 2020, 21:11:37 UTC |
02d5cb3 | Michael Jin | 29 July 2020, 19:36:55 UTC | Update Mozilla CA certificate store to latest (07-22-2020) for libgit2 SSL. (#36835) | 29 July 2020, 19:36:55 UTC |
4e50c98 | Fredrik Ekre | 29 July 2020, 11:07:33 UTC | Update Pkg version. (#36381) $ git log --pretty=oneline --abbrev=commit f9a5cc7..13456b9 13456b944fd21ec180111c6c29d06b610d47d088 Deprecate the REPL command `] generate` (#1923) 3eee6eb25974c2f320706da1b81ce1f7e1d82165 BinaryPlatforms: Recognize MacOS(:aarch64) (#1916) a8cc6d670ebe55002c5d5efb7fb19315c0c1cd55 Telemetry CI variables: add CI_SERVER, JULIA_PKGEVAL, JULIA_REGISTRYCI_AUTOMERGE, and PKGEVAL (#1906) ae897bc44070f902b5b01da80478ed51c1b518c0 Fix invalidations from loading OrderedCollections (#1897) 69bc387b3932d3d709b656e1ef929c4a2592fcee fix path returned from find_install (#1908) 46c9d430d545ecd70b147942857d775b2834e54b Update environments.md (#1896) 20f9b9e14ab59d81991b5984a2f9eb87d38b6230 Merge pull request #1869 from JuliaLang/teh/inval3 605f48849fa6b3bf29e6785967d4ef2249da9976 - only test on nightly, test without Pkg server as well - CI: build docs on nightly 7e0c911591f5d62acb476f74c59a9cad9c7a1f7d Avoid a strange inference limit when broadcasting f92ee5786468a7d0e836a94b0bb09711faef78da Use `maximum(itr; init=default)` d524d0f7f8cfef8abe429d3b947157eacb84f8ea Avoid calling ==(::Any, ::Nothing) in read_field 2acb2f9ca7f8b908954d6fdde074b65e30b8395f Add more type info 9b5e38e0ee2a0747b5ca7125a3a1f347cbd61708 Improve inference for Platform 0ebffb95d9793689d4c72198ae4804b0745ee16e Pre-allocate `seen` to improve inference in `unique(f, itr)` 160efbea2b56dc8a7a9a5ed8f795fa8995a4f09b Eliminate some boxing cdfc445873fc1d5df8838dd080e125bcce587dc6 docs: delete note about gen-project script (#1887) 531861f6677f434f6d594212d1085ac5bc309328 Make tree hash computation non-fatal when installing artifacts. (#1885) ce4a41ee7d232b90da925fa9ebe246618de8ada4 Misc fixes (#1884) f80d44345f61d0c1a02650f33322f9a330aa77d1 Disable SIGQUIT test that regularly segfaults on CI. (#1883) 2328d1bcd919bd9fc038af3f1cedf43a22d28e30 telemetry: don't send hash without active project 08fe651707d6deb392950f71c3ea776a2c8337c9 telemetry: use RandomDevice for random values c213096ea6210f66945443658b6548012dff5ec9 Improve Artifacts documentation by adding a Basic Usage section (#1879) d8fde7e85b72c86cdae395a1ea13485c193dc35e fix typo in telemetry notice (#1877) 188893dfdb6608cd5bcab18c6d365843cf1c6056 Merge pull request #1871 from JuliaLang/sk/telemetry ab88ea9c3ea05a70c2e014e6ceb5ce55a7fa9cf7 telemetry notice: reword a bit, factor into function 341dfd0bfafb994bd7c71271d2a458e314f3af4c telemetry: don't send salt hash header ae99ba2ed9d9cd7f9962a2515fd62054eb644097 telemetry notice: only print once per process 636d333a263640650d09b08a568e8e128bf6c00c Add a poor-mans file lock for telemetry file. b24ca68ed000139507d179f49a04df7c7b93d14c telemetry: print legal notice first time talking to each pkg server bd07a8d6439ffbe55f9aaf22ea5e2c451ee480cb telemetry: ~/.julia/servers/telemetry.toml for defaults 70dfbd2c59c4110a6c4775414202b4df840acf21 telemetry: HyperLogLog estimator 3e3f9d7a3baf3a96c860d2b1bc895d5fd2d40d35 README: howto build Julia with git checkout of Pkg (#1864) 100eaa9b0ea0a2b95072c77bdf7060e72479fe13 Fix bug which made `registry up` a no-op instead of updating all user-registries. (#1862) | 29 July 2020, 11:07:33 UTC |
470dfa6 | Jose Antonio Pereiro Morejon | 29 July 2020, 07:12:29 UTC | Only values, not variables, have types... (#36824) Co-authored-by: Stefan Karpinski <stefan@karpinski.org> | 29 July 2020, 07:12:29 UTC |
e059758 | Jeff Bezanson | 28 July 2020, 20:19:46 UTC | fix #36783, more specialization on called Type arguments (#36795) | 28 July 2020, 20:19:46 UTC |
3909294 | Krisztián Schäffer | 28 July 2020, 17:02:00 UTC | Performance tips updated on abstract type params and annotations (#36829) | 28 July 2020, 17:02:00 UTC |
9267bbf | Jameson Nash | 27 July 2020, 16:57:14 UTC | build: make libunwind linked dynamically (#36697) Not sure why this was first linked statically, as the commit that introduced this simply had the message "restoring stuff that seems to have been clobbered by the revert of the unintended merge to master". Nearly all other libraries that we use are linked dynamically. | 27 July 2020, 16:57:14 UTC |
bb90d64 | Jacob Quinn | 27 July 2020, 16:37:43 UTC | Merge pull request #36819 from JuliaLang/jq/36234 Fix compact float printing when output contains exactly 6 digits | 27 July 2020, 16:37:43 UTC |
3b67e47 | Zlatan Vasović | 27 July 2020, 14:48:46 UTC | test/broadcast: put r1, r2, ratio, m into let (#36817) | 27 July 2020, 14:48:46 UTC |
ada82ac | Jacob Quinn | 27 July 2020, 13:26:04 UTC | Fix compact float printing when output contains exactly 6 digits This was really just a regression when switching from grisu -> ryu algorithm for float printing. The fix is just putting [@vtjnash's code](https://github.com/JuliaLang/julia/commit/5d2a0ec06761ea2b445909757d7744b9f7a93072#diff-22819a3d47074bbe6530dfef9c94969cR75) for the grisu fix into the ryu branch. | 27 July 2020, 13:26:04 UTC |
7adb9ce | Max Horn | 27 July 2020, 02:13:31 UTC | Add accessors for current_task and safe_restore in TLS (#36064) In code which may be compiled against one Julia version but then gets loaded in another (e.g. due to an update), it is problematic to directly access members of jl_ptls_t, as this structure frequently changes between Julia versions The existing accessor function `jl_get_current_task` helps to avoid this, so make it public. Note that the public macro `jl_current_task` exist, but since macros are compiled into the code which includes `julia.h`, they do not deal with the situation described above. No alternatives currently exist for `jl_get_safe_restore` and `jl_set_safe_restore`. | 27 July 2020, 02:13:31 UTC |
90cc95e | Zlatan Vasović | 26 July 2020, 22:48:59 UTC | CONTRIBUTING: mark C code properly (#36806) This makes the section way more readable. | 26 July 2020, 22:48:59 UTC |
af23512 | Shuhei Kadowaki | 26 July 2020, 22:48:10 UTC | fix invalid doc example of `at-nospecialize` (#36797) | 26 July 2020, 22:48:10 UTC |
793a35b | Andreas Noack | 26 July 2020, 22:44:33 UTC | Change some doctests to julia-repl (#36790) To avoid failures because of rounding differences across machines. Closes #36692 | 26 July 2020, 22:44:33 UTC |
c2b487d | Jameson Nash | 26 July 2020, 22:43:58 UTC | fix lineinfo depth missed update (#36782) The codepaths disagreed about whether to update the inlining depth, triggering the assertion for this (and leading to bad printing). Merge the code paths so that doesn't happen anymore Fixes #35919 | 26 July 2020, 22:43:58 UTC |
ede53f6 | Mark Kittisopikul | 26 July 2020, 22:41:24 UTC | Define isempty for Ref to be always false even for undefined references (#36708) | 26 July 2020, 22:41:24 UTC |
de7bab8 | Zlatan Vasović | 26 July 2020, 14:28:32 UTC | README: simplify Windows Terminal instructions (#36807) | 26 July 2020, 14:28:32 UTC |
94e1766 | Jeff Bezanson | 25 July 2020, 06:58:39 UTC | remove `jl_typetype_type` (#36796) | 25 July 2020, 06:58:39 UTC |
8825dab | Rafael Fourquet | 24 July 2020, 20:02:58 UTC | stacktraces doc: fix typos (#36658) | 24 July 2020, 20:02:58 UTC |
235784a | Yichao Yu | 24 July 2020, 19:50:36 UTC | Remove non-integral pointer from data layout before codegen (#36705) This allows LLVM codegen passes to insert `inttoptr` and `ptrtoint` as it wish, and avoids hitting any illegal ones in those passes. Fix #36062 | 24 July 2020, 19:50:36 UTC |
b7af3a1 | Jeff Bezanson | 24 July 2020, 18:15:02 UTC | list `at-ccall` in docs, fix docstring (#36781) | 24 July 2020, 18:15:02 UTC |
d81f044 | Keno Fischer | 24 July 2020, 18:14:42 UTC | Clean up atomic access to sleep_check_state (#36785) Fixes #36699 | 24 July 2020, 18:14:42 UTC |
b2154d6 | Morten Piibeleht | 24 July 2020, 14:50:24 UTC | doc: single line empty function example (#36744) | 24 July 2020, 14:50:24 UTC |
3dc49ca | Ronan Arraes Jardim Chagas | 24 July 2020, 05:37:04 UTC | Add support to (+)(::UniformScaling) (#36784) | 24 July 2020, 05:37:04 UTC |
ad804f5 | Jameson Nash | 23 July 2020, 23:27:03 UTC | REPL: make it more reliable against internal errors (#36766) For example, the following used to simply hang, while now it'll print the failure and exit cleanly: $ ./julia -i -e 'using REPL; REPL.run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef) = error("oops")' | 23 July 2020, 23:27:03 UTC |
ed6d7f5 | Gustavo Goretkin | 23 July 2020, 23:24:15 UTC | Clarify docstring (#36764) | 23 July 2020, 23:24:15 UTC |
df571c0 | Logan Kilpatrick | 23 July 2020, 23:21:36 UTC | Update Test.jl (#36762) Update doc string to include a link to the referenced section. | 23 July 2020, 23:21:36 UTC |
073fc66 | Jeff Bezanson | 23 July 2020, 23:21:06 UTC | fix #27429, propagate include path in `at-everywhere` (#36754) | 23 July 2020, 23:21:06 UTC |
78c62b4 | Max Horn | 23 July 2020, 23:20:06 UTC | Add a link from Base.Docs to section on documentation (#36748) When saying "Please see the manual section on documentation", actually provide a link. Also drop a reference to Julia 0.4 (it probably made sense at some point, but now it just is mildly confusing). | 23 July 2020, 23:20:06 UTC |
6209639 | Sebastian Stock | 23 July 2020, 23:18:57 UTC | Preserve eltype of LinRange under reverse and - (#36745) | 23 July 2020, 23:18:57 UTC |
773ef66 | Rafael Fourquet | 23 July 2020, 23:15:30 UTC | fix stackoverflow in circshift!(x, y, (1.0,)) (#36734) | 23 July 2020, 23:15:30 UTC |
d2d7cdf | Jeff Bezanson | 23 July 2020, 22:08:45 UTC | fix parsing of dotted versions of new arrow operators (#36767) | 23 July 2020, 22:08:45 UTC |
3a86b7d | Adam B | 23 July 2020, 18:36:36 UTC | Add readeach function for iterating streams (#36150) Co-authored-by: Matt Bauman <mbauman@juliacomputing.com> | 23 July 2020, 18:36:36 UTC |
34b2ae5 | Jameson Nash | 23 July 2020, 13:17:01 UTC | return tuple type manipulations to deprecated.jl (#36769) Some important packages seem to use these. | 23 July 2020, 13:17:01 UTC |
7eecb73 | Keno Fischer | 23 July 2020, 07:03:40 UTC | Small bug fix: Put back check for malformed invoke (#36772) This was accidentally lost in #36743 while I was shuffling aroudn what these methods actually return. However, we also didn't have a test to catch that, so this adds such a test as well. | 23 July 2020, 07:03:40 UTC |
b3e9ac6 | Mustafa M | 23 July 2020, 01:51:31 UTC | Add NEWS entry about Windows REPL supporting 24-bit color (#36758) * Add NEWS entry about Windows REPL supporting 24-bit color | 23 July 2020, 01:51:31 UTC |
bcf9e06 | Mustafa M | 23 July 2020, 01:35:47 UTC | Bump libuv to the latest commit (#36756) | 23 July 2020, 01:35:47 UTC |
a72cfb7 | Jeff Bezanson | 23 July 2020, 00:45:20 UTC | fix some issues with color configuration (#36689) - `--color=no` did not remove all color in the REPL - color was not fully disabled by default when stdout was a pipe - `--color=yes` did not enable color when stdout was a pipe (fixes #30703) | 23 July 2020, 00:45:20 UTC |
4a43b03 | Jeff Bezanson | 23 July 2020, 00:44:54 UTC | fix `hasfield` for unionall-wrapped DataTypes (#36694) Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 23 July 2020, 00:44:54 UTC |
d9b7d7e | Matt Bauman | 23 July 2020, 00:42:19 UTC | fix #36753: fix write(::SubArray) by restoring pointer support (#36757) Followup to #36739 (and currently built atop it), this restores the `pointer(::SubArray{<:Any,<:Any,<:Array,<:Tuple{Vararg{RangeIndex}}}, ::Tuple)` method that was removed in #36405. It does so, however, as a deprecated method, with the actual method being implemented on `(::SubArray{...}, ::CartesianIndex)`. The rationale here is because the `::Tuple` method was undocumented and only supported on that one _highly_ specific `SubArray` type. I am keeping this patch as minimal as possible for backporting; in the future I aim to support `Vararg{CartesianIndex, Integer}` locations to make this more `getindex`-y and move farther away from the conflation with memory offsets. | 23 July 2020, 00:42:19 UTC |
dac31d3 | Jameson Nash | 22 July 2020, 23:25:05 UTC | ml-matches: restore fast-path cache update (#36740) In attempting to add one early-exit path, the cache update had gotten lost for the other fast path! | 22 July 2020, 23:25:05 UTC |
1e6e656 | Keno Fischer | 22 July 2020, 21:49:23 UTC | Refactor compiler method lookup interface (#36743) The primary motivation here is to clean up the notion of "looking up a method in the method table" into a single object that can be passed around. At the moment, it's all a bit murky, with fairly large state objects being passed around everywhere and implicit accesses to the global environment. In my AD use case, I need to be a bit careful to make sure the various inference and optimization steps are looking things up in the correct tables/caches, so being very explicit about where things need to be looked up is quite helpful. In particular, I would like to clean up the optimizer, to not require the big `OptimizationState` which is currently a bit of a mix of things that go into IRCode and information needed for method lookup/edge tracking. That isn't part of this PR, but will build on top of it. More generally, with a bunch of the recent compiler work, I've been trying to define more crisp boundaries between the various components of the system, giving them clearer interfaces, and at least a little bit of documentation. The compiler is a very powerful bit of technology, but I think people having been avoiding it, because the code looks a bit scary. I'm hoping some of these cleanups will make it easier for people to understand what's going on. Here in particular, I'm using `findall(sig, table)` as the predicate for method lookup. The idea being that people familiar with the `findall(predicate, collection)` idiom from regular julia will have a good intuitive understanding of what's happening (a collection is searched for a predicate), an array of matches is returned, etc. Of course, it's not a perfect fit, but I think these kinds of mental aids can be helpful in making it easier for people to read compiler code (similar to how #35831 used `getindex` as the verb for cache lookup). While I was at it, I also cleaned up the use of out-parameters which leaked through too much of the underlying C API and replaced them by a proper struct of results. | 22 July 2020, 21:49:23 UTC |
3699192 | Jameson Nash | 22 July 2020, 21:02:40 UTC | Merge pull request #32427 from JuliaLang/jn/Tuple-pure reduce usage of _pure_meta macro annotation | 22 July 2020, 21:02:40 UTC |
de9c371 | Mason Protter | 22 July 2020, 20:47:49 UTC | check lengths in covector-vector products (#36679) | 22 July 2020, 20:47:49 UTC |
0299027 | Jeff Bezanson | 22 July 2020, 19:57:01 UTC | add operators `<--` and `<-->`. fixes #36666 (#36729) | 22 July 2020, 19:57:01 UTC |
19d0745 | Jeff Bezanson | 22 July 2020, 19:46:17 UTC | fix `elsize` and `write` for SubArrays of Arrays (#36739) | 22 July 2020, 19:46:17 UTC |
80cdfa1 | Elliot Saba | 22 July 2020, 18:16:48 UTC | Fix `pbpaste` error on MacOS buildbots (#36763) | 22 July 2020, 18:16:48 UTC |
e4a3329 | Stefan Karpinski | 21 July 2020, 20:54:33 UTC | Makefile: don't install non-existing 'julia.svg' file (#36640) | 21 July 2020, 20:54:33 UTC |
c6955d7 | Tamas K. Papp | 21 July 2020, 20:00:51 UTC | Consistent use of singleton types in manual. (#36591) Fixes #7135, see discussion there. * separate discussion of singleton types (as in `Base.issingletontype`) and `Type{T}` * move discussion about singleton types to a later section so that parametric singleton types can be discussed * add example and discussion about parametric singleton types * add usage hint about `Type` outside dispatch Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com> Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 21 July 2020, 20:00:51 UTC |
34ba868 | Mustafa M | 21 July 2020, 16:31:07 UTC | Reset REPL console mode to permit safely allowing tty, vt sequences on Windows (#36598) On Windows, when launching external processes, we cannot control what assumption they make on the console mode. We thus forcibly reset the console mode at the start of the prompt to ensure they do not leave the console mode in a corrupt state. | 21 July 2020, 16:31:07 UTC |
07616a4 | Shan Sikdar | 21 July 2020, 16:06:14 UTC | change Msg f type from Function to Any (#35962) | 21 July 2020, 16:06:14 UTC |
b08bd7d | Jameson Nash | 20 July 2020, 23:22:14 UTC | gf lookup: avoid creating unintended specializations and cache misses (#36704) The typemap code was forgetting to handle the case where the user needed to look for something complicated (like AbstractVec{Float64}) in the method table cache (such as for ==). | 20 July 2020, 23:22:14 UTC |
bd318e6 | Sebastian Stock | 20 July 2020, 22:11:13 UTC | Fix -(::SparseMatrixCSC{Bool}) (#36738) | 20 July 2020, 22:11:13 UTC |
d806fb9 | Matt Bauman | 20 July 2020, 20:12:32 UTC | Fix `sizeof` for non-Array subarrays (#36715) | 20 July 2020, 20:12:32 UTC |
004cb25 | Keno Fischer | 20 July 2020, 19:57:36 UTC | Fix correctness issues in sizeof tfunc (#36727) The `Core.sizeof` function can take either a value or a type, which can be a bit confusing in the tfunc, because the tfunc operates on the types of the values passed to the builtin. In particular, we were incorrectly returning Const(16) (on 64bit) for sizeof_tfunc(UnionAll), because it was treating it the asme as `sizeof_tfunc(Const(UnionAll))`. Try to clean that up as well as fixing a similar confusion in the nothrow version of this function. Lastly, we had a similar fast path in codegen, which would try to inline the actual size for a constant datatype argument. For codegen, just rm that whole code path, since it should have no more information than inference and figuring it out in inference exposes strictly more optimization opportunities. Fixes #36710 | 20 July 2020, 19:57:36 UTC |
2cca0a4 | Keno Fischer | 20 July 2020, 19:56:58 UTC | Give MethodMatch its own type (#36702) Every time I see any code dealing with the svecs we get back from the method match code, I think that it shouldn't really be an svec: 1. It's always the same length 2. Basically every use of it typeasserts the field type 3. Every use of it needs the same magic numbers to access the fields. All put together this should just be a type. This updates all the uses accordingly, but adds fallback getindex/iterate defintions for external users that expect this to be a SimpleVector (in deprecated.jl - hopefully by 2.0 all external users will upgraded). | 20 July 2020, 19:56:58 UTC |
90c1159 | Jameson Nash | 19 June 2019, 21:56:49 UTC | pure: remove incorrect or unnecessary annotations and functions | 20 July 2020, 19:27:56 UTC |
c604df0 | Jameson Nash | 20 June 2019, 20:57:47 UTC | remove tuple Type manipulations from convert | 20 July 2020, 19:27:55 UTC |
8f8604b | Sheehan Olver | 20 July 2020, 19:27:19 UTC | ldiv! should always return the modified argument (#36726) | 20 July 2020, 19:27:19 UTC |
331efe3 | Jameson Nash | 20 June 2019, 20:02:14 UTC | remove tuple Type manipulations from Iterators Avoid specifying subtype constraints on concrete types also, as this makes them more complicated, but no different. | 20 July 2020, 19:26:16 UTC |
99a46c2 | Jameson Nash | 20 June 2019, 20:57:47 UTC | inference: improve fieldtype_nothrow computation for exact values also fix the concrete_min answer for `Union{}` (which is a valid result for the NTuple TypeVar to receive) | 20 July 2020, 19:26:16 UTC |
050fbdc | Jameson Nash | 13 July 2020, 21:12:52 UTC | test: remove duplicate line of code [NFCI] | 20 July 2020, 19:26:16 UTC |
e6f13e9 | Yichao Yu | 19 July 2020, 13:41:09 UTC | Remove some references to build time environment from sysimg (#36582) All of these are always re-populated at load time and does not need to be in sysimg. Similar to #36536. | 19 July 2020, 13:41:09 UTC |
826dac3 | Rafael Fourquet | 19 July 2020, 09:34:59 UTC | doc: fix a couple docstring indentations in indices.jl | 19 July 2020, 09:34:59 UTC |
c953d4b | Keno Fischer | 19 July 2020, 07:50:09 UTC | Revert "work around a splatting penalty in twiceprecision (#29060)" (#36728) But keep the test. This workaround is no longer required, because the compiler can now understand this pattern. This reverts commit 88d536a1ea8903dfdfd78f86a5be75eedcfddf5a. | 19 July 2020, 07:50:09 UTC |
47989fa | Jeff Bezanson | 19 July 2020, 02:49:33 UTC | fix precedence of dotted `<:` and `>:` (#36725) | 19 July 2020, 02:49:33 UTC |
435bf88 | Keno Fischer | 18 July 2020, 23:35:56 UTC | Propagate iteration info to optimizer (#36684) This supersedes #36169. Rather than re-implementing the iteration analysis as done there, this uses the new stmtinfo infrastrcture to propagate all the analysis done during inference all the way to inlining. As a result, it applies not only to splats of singletons, but also to splats of any other short iterable that inference can analyze. E.g.: ``` f(x) = (x...,) @code_typed f(1=>2) @benchmark f(1=>2) ``` Before: ``` julia> @code_typed f(1=>2) CodeInfo( 1 ─ %1 = Core._apply_iterate(Base.iterate, Core.tuple, x)::Tuple{Int64,Int64} └── return %1 ) => Tuple{Int64,Int64} julia> @benchmark f(1=>2) BenchmarkTools.Trial: memory estimate: 96 bytes allocs estimate: 3 -------------- minimum time: 242.659 ns (0.00% GC) median time: 246.904 ns (0.00% GC) mean time: 255.390 ns (1.08% GC) maximum time: 4.415 μs (93.94% GC) -------------- samples: 10000 evals/sample: 405 ``` After: ``` julia> @code_typed f(1=>2) CodeInfo( 1 ─ %1 = Base.getfield(x, 1)::Int64 │ %2 = Base.getfield(x, 2)::Int64 │ %3 = Core.tuple(%1, %2)::Tuple{Int64,Int64} └── return %3 ) => Tuple{Int64,Int64} julia> @benchmark f(1=>2) BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 1.701 ns (0.00% GC) median time: 1.925 ns (0.00% GC) mean time: 1.904 ns (0.00% GC) maximum time: 6.941 ns (0.00% GC) -------------- samples: 10000 evals/sample: 1000 ``` I also implemented the TODO, I had left in #36169 to inline the iterate calls themselves, which gives another 3x improvement over the solution in that PR: ``` julia> @code_typed f(1) CodeInfo( 1 ─ %1 = Core.tuple(x)::Tuple{Int64} └── return %1 ) => Tuple{Int64} julia> @benchmark f(1) BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 1.696 ns (0.00% GC) median time: 1.699 ns (0.00% GC) mean time: 1.702 ns (0.00% GC) maximum time: 5.389 ns (0.00% GC) -------------- samples: 10000 evals/sample: 1000 ``` Fixes #36087 Fixes #29114 | 18 July 2020, 23:35:56 UTC |
6a4793a | Stefanos Carlström | 17 July 2020, 20:23:26 UTC | Fix negation of SymTridiagonal (fixes #36680) (#36681) | 17 July 2020, 20:23:26 UTC |
f968084 | Likan Zhan | 17 July 2020, 20:21:42 UTC | Swap two functions' columns (#36677) Swap two functions' columns | 17 July 2020, 20:21:42 UTC |
229181a | Ole Kröger | 17 July 2020, 20:20:42 UTC | digits docstring no need to allocate (#36676) `sum` works without allocating => this speeds up the computation | 17 July 2020, 20:20:42 UTC |
bd52a95 | Martin Holters | 17 July 2020, 20:16:39 UTC | Fix some overly optimistic fastpaths in subtyping (#25796) | 17 July 2020, 20:16:39 UTC |
e36194a | Mustafa M | 17 July 2020, 16:26:03 UTC | Add a dash in the installer path between the version number (#36693) | 17 July 2020, 16:26:03 UTC |
971e769 | Yichao Yu | 17 July 2020, 04:26:39 UTC | Fix C++ code compilation on ARM with LLVM10 (#36674) | 17 July 2020, 04:26:39 UTC |
ad4b1ec | Jeff Bezanson | 16 July 2020, 21:49:58 UTC | allow redirecting standard streams to `IOContext` (#36688) | 16 July 2020, 21:49:58 UTC |
81d34c5 | pdeffebach | 16 July 2020, 21:19:07 UTC | Update `@isdefined` to have clearer examples (#36663) Co-authored-by: Kristoffer Carlsson <kricarl@student.chalmers.se> Co-authored-by: Matt Bauman <mbauman@juliacomputing.com> | 16 July 2020, 21:19:07 UTC |
94398d1 | Sheehan Olver | 16 July 2020, 20:34:26 UTC | Stop transpose(A) \ lu(B)' from overwriting A (#36657) * Stop transpose(A) \ lu(B)' from overwriting `A` This fixes the following bug I just found: ```julia julia> A = randn(5,5) 5×5 Array{Float64,2}: 0.485776 1.29655 0.0790172 0.66021 -1.49472 0.971676 -1.01382 0.630476 0.479027 -0.843428 -0.264609 0.392383 0.646729 0.510696 0.34913 -0.795944 -2.47709 -1.81052 -1.0947 -0.30381 -0.938873 2.16395 -1.33484 -0.745461 1.43709 julia> transpose(A) / lu(randn(5,5))' # should not change A 5×5 Adjoint{Float64,Array{Float64,2}}: 14.36 11.9797 -7.32563 1.87016 -16.2731 -18.4415 -13.7036 10.6455 -2.47396 19.9999 8.0401 8.31723 -5.16714 2.13261 -9.637 4.19849 3.9865 -1.98478 0.714778 -4.62445 -5.36059 -2.60991 0.917052 0.290281 4.62547 julia> A # but does! 5×5 Array{Float64,2}: 14.36 -18.4415 8.0401 4.19849 -5.36059 11.9797 -13.7036 8.31723 3.9865 -2.60991 -7.32563 10.6455 -5.16714 -1.98478 0.917052 1.87016 -2.47396 2.13261 0.714778 0.290281 -16.2731 19.9999 -9.637 -4.62445 4.62547 ``` Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 16 July 2020, 20:34:26 UTC |
8a0e0c8 | Keno Fischer | 16 July 2020, 20:25:11 UTC | Fix typeassert dropping PartialStruct information (#36622) There was a complaint on discourse that Generator splats weren't infering precisely enough [1]. I thought the recent improvement to abstract iteration precision would have fixed that, but that turns out not to be the case of a stupid reason. At the moment, any type assert (even something silly like `x::Any`), will drop `PartialStruct` information. Now, generators have an `::Tuple{Any, Any}` typeassert, which prevented the new iteration logic from working properly. This fixes typasserts, to not drop this information. The first couple of conditions that just return the original `PartialStruct` if the typeassert has no effect are doing most of the work here. As an add-on, I also threw in the logic to narrow the PartialStruct if the typeassert actually introduces additional information. It's not a particularly common code path, but might as well. [1] https://discourse.julialang.org/t/tuples-iterators-splats-and-type-stability/42849 | 16 July 2020, 20:25:11 UTC |
b07594d | Stefan Karpinski | 16 July 2020, 18:42:44 UTC | Revert "explain method signatures for `Any` arguments (#36673)" (#36696) This reverts commit 35f120fa61ba5dcc01517d20e7c05e9dcc135d60. | 16 July 2020, 18:42:44 UTC |
6c5527c | Yichao Yu | 16 July 2020, 17:28:10 UTC | Fix segfault on throwing during startup (#36686) This happens, for example, for invalid CPU name. | 16 July 2020, 17:28:10 UTC |
353e129 | Mustafa M | 16 July 2020, 16:54:41 UTC | Pass force=true option to rename in case of loading failure in compilecache (#36638) This seems to be affecting Windows systems in particular | 16 July 2020, 16:54:41 UTC |
35f120f | Helios De Rosario | 16 July 2020, 14:51:04 UTC | explain method signatures for `Any` arguments (#36673) | 16 July 2020, 14:51:04 UTC |
50325a8 | Krisztián Schäffer | 16 July 2020, 14:46:46 UTC | Fixed @test return value on Error (#31495) (#36501) Closes #31495 | 16 July 2020, 14:46:46 UTC |
dc933d5 | Eric Forgy | 16 July 2020, 14:44:42 UTC | Improve docstring for `baremodule`. (#36630) Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> Co-authored-by: Michael Abbott <32575566+mcabbott@users.noreply.github.com> | 16 July 2020, 14:44:42 UTC |
e119c24 | Paul Söderlind | 16 July 2020, 14:34:29 UTC | add doc for all(p,A,dims) and any(p,A,dims) (#36559) * add doc of all(p,A,dims) and any(p,A,dims) in reducedim.jl * Update reducedim.jl Matrix{T} instead of Array{T,2} * docs, sum(f,A,dims), prod,maximum, minimum * doc of fun(f,A,dims) for sum, prod, maximum, minimum Co-authored-by: Soderlind <Paul.Soderlind@unisg.ch> | 16 July 2020, 14:34:29 UTC |
5b9a72e | Mustafa M | 16 July 2020, 01:36:35 UTC | Incorporate an add to PATH option in Windows Inno Setup installer (#36518) | 16 July 2020, 01:36:35 UTC |
2850dfb | Stephan Hilb | 15 July 2020, 19:37:31 UTC | add `intersect` for `CartesianIndices` (#36643) | 15 July 2020, 19:37:31 UTC |
aa40074 | Steven G. Johnson | 15 July 2020, 19:36:24 UTC | restrict last(v::AbstractArray, n::Integer) to AbstractVector (#36642) As explained in my comment https://github.com/JuliaLang/julia/pull/34868/files#r453380729 … in general, this optimization only seems to make sense for arrays with linear indexing, but it's easiest to just use AbstractVector here and rely on the `Iterators.reverse` fallback for other cases. | 15 July 2020, 19:36:24 UTC |