215a5c9 | Katharine Hyatt | 28 February 2019, 17:03:26 UTC | Merge pull request #31186 from JuliaLang/ksh/essentialnits more backticks, xrefs, and doctests for essentials and basedocs | 28 February 2019, 17:03:26 UTC |
565cf7b | Katharine Hyatt | 28 February 2019, 17:02:10 UTC | Merge pull request #31189 from JuliaLang/ksh/xrefmeta More xrefs for the meta docs | 28 February 2019, 17:02:10 UTC |
deb4751 | Katharine Hyatt | 28 February 2019, 15:52:56 UTC | Merge pull request #31192 from JuliaLang/ksh/devtypes Xrefs for the types devdocs | 28 February 2019, 15:52:56 UTC |
36e8634 | Katharine Hyatt | 27 February 2019, 22:55:15 UTC | Xrefs for the types devdocs | 27 February 2019, 22:55:15 UTC |
f44a37f | Steven G. Johnson | 27 February 2019, 22:14:32 UTC | rm obsolete reference to vecnorm | 27 February 2019, 22:14:32 UTC |
6b0c5c2 | Matt Bauman | 27 February 2019, 20:14:07 UTC | Merge pull request #31174 from cstjean/faster-broadcast-widening Make broadcast eltype widening type-stable | 27 February 2019, 20:14:07 UTC |
87b6b00 | Sakse | 27 February 2019, 18:46:36 UTC | Add `ldiv!` and `rdiv!` for arrays with numbers and UniformScaling (#31179) * Add `ldiv!` and `rdiv!` for arrays and numbers * Add `ldiv!`, `rdiv!` for matrices and UniformScaling | 27 February 2019, 18:46:36 UTC |
0b38dd0 | Katharine Hyatt | 27 February 2019, 18:10:44 UTC | More xrefs for the meta docs | 27 February 2019, 18:10:44 UTC |
a86ca21 | cstjean | 25 February 2019, 20:12:20 UTC | Introduce a function barrier in Broadcast.copyto_nonleaf! to improve type stability during type widening | 27 February 2019, 15:29:33 UTC |
0df0e2c | Katharine Hyatt | 27 February 2019, 14:59:35 UTC | Merge pull request #31184 from JuliaLang/ksh/show xref for the show macro | 27 February 2019, 14:59:35 UTC |
2bbb599 | Katharine Hyatt | 27 February 2019, 12:11:59 UTC | doc: more xrefs for multithreading and some spacing fixes (#31150) | 27 February 2019, 12:11:59 UTC |
9732693 | Jacob Quinn | 27 February 2019, 07:06:01 UTC | Merge pull request #30912 from JuliaLang/sb/tons define Dates.tons for CompoundPeriods | 27 February 2019, 07:06:01 UTC |
d2cac97 | Rob Vermaas | 27 February 2019, 00:42:44 UTC | Print timings to stderr in stead of stdout, when using ENABLE_TIMINGS. (#31180) This makes it possible to use a version of julia compiled with ENABLE_TIMINGS in projects that use e.g. CxxWrap, which depend on some output that is printed to stdout. Also, it is better not to use stdout with debug/info messages. | 27 February 2019, 00:42:44 UTC |
243f8a0 | Katharine Hyatt | 27 February 2019, 00:31:12 UTC | more backticks, xrefs, and doctests for essentials and basedocs | 27 February 2019, 00:31:12 UTC |
5c91865 | Katharine Hyatt | 26 February 2019, 23:14:14 UTC | xref for the show macro | 26 February 2019, 23:14:14 UTC |
4b01e6a | Fredrik Ekre | 26 February 2019, 16:06:40 UTC | Reset LOAD_PATH when generating precompile statements. (#31178) | 26 February 2019, 16:06:40 UTC |
de48421 | Jeff Bezanson | 25 February 2019, 22:13:35 UTC | fix #30741, fix #31082, stack overflow in type intersection (#31167) | 25 February 2019, 22:13:35 UTC |
d2cd3f4 | Tim Besard | 25 February 2019, 06:24:57 UTC | Merge pull request #31101 from JuliaLang/tb/skip_lower_intrinsics Make it possible to add optimization passes without lowering intrinsics. | 25 February 2019, 06:24:57 UTC |
31234a5 | Katharine Hyatt | 24 February 2019, 21:12:25 UTC | Merge pull request #31165 from YingboMa/myb/const Check undefined fields in `⊑` | 24 February 2019, 21:12:25 UTC |
b70339a | Yingbo Ma | 24 February 2019, 00:32:41 UTC | Check undefined fields in `⊑` | 24 February 2019, 18:46:03 UTC |
7e4641d | Valentin Churavy | 24 February 2019, 02:50:11 UTC | Merge pull request #31018 from YingboMa/vc/aliasscopes Implement alias scopes | 24 February 2019, 02:50:11 UTC |
87b6788 | Jeff Bezanson | 24 February 2019, 00:29:51 UTC | fix method overwrite in new 0-arg Ptr constructor (#31161) | 24 February 2019, 00:29:51 UTC |
873c52b | Florin Gogianu | 23 February 2019, 20:09:47 UTC | Add gfortran linking troubleshooting note. (#31120) | 23 February 2019, 20:09:47 UTC |
69b6b8e | Angus | 09 July 2018, 10:32:04 UTC | Remove caveat about WSL timestamps in /mnt | 23 February 2019, 19:35:27 UTC |
c4c598f | Katharine Hyatt | 23 February 2019, 14:52:48 UTC | Merge pull request #31155 from benschreiber/issue-27978 doc: add cross-ref b/w `isdefined` and `@isdefined` | 23 February 2019, 14:52:48 UTC |
ab46b8e | Ben Schreiber | 23 February 2019, 07:14:46 UTC | doc: add cross-ref b/w `isdefined` and `@isdefined` Fixes #27978 | 23 February 2019, 07:22:18 UTC |
33795c8 | Lyndon White | 22 February 2019, 23:27:25 UTC | doc: add units to summarysize docstring (#31148) | 22 February 2019, 23:27:25 UTC |
53405a4 | Keno Fischer | 25 January 2017, 23:43:32 UTC | Implement alias scopes Co-authored-by: Keno Fischer <kfischer@college.harvard.edu> Co-authored-by: Yingbo Ma <mayingbo5@gmail.com> Co-authored-by: Valentin Churavy <v.churavy@gmail.com> | 22 February 2019, 20:26:38 UTC |
0d21100 | Milan Bouchet-Valat | 22 February 2019, 12:43:45 UTC | Add indexing support to SkipMissing (#31008) Define IndexStyle, eachindex, keys and getindex to match indices of wrapped array, skipping missing entries. This notably allows finding the index of elements in the wrapped array using findall, findnext, argmin/max and findmin/max. | 22 February 2019, 12:43:45 UTC |
cde5c4c | Keno Fischer | 21 February 2019, 22:19:28 UTC | Don't assume the user is using getfield correctly Sometimes there's fewer arguments than we expect. Fixes #31139. | 22 February 2019, 06:07:29 UTC |
07fcdcc | Keno Fischer | 21 February 2019, 02:00:26 UTC | Fix DFS tree construction It's called a Depth-First tree after all, not a dept-first-but-feel-free-to-record-any-of-the-parents tree. In particular, in order for the semi-dominator condition to hold, the parent in the DFS tree needs to be the predecessor with the highest DFS number. Here we were accidentally doing the opposite casuing us to look at the wrong node in case the sdom and the idom are not the same. To understand #31121, consider the following CFG (minimized from the bug report to show the issue), as well as the corresponding DFS numbering and sdom assignment ``` CFG DFS sdom A 1 0 | \ | \ |\ B C 2 5 1 1 /|/ /|/ /|/ | D | 3 | 1 \| \| \| E 4 2 ``` This bug caused us to record the parent of `E` as `B`, when it should have been `D` (the relevant invariant here is that the parent in the DFS tree is the predecessor with the highest DFS number). As a result, when computing idoms from the sdoms, we were incorrectly looking at `B`, seeing that the sdom matched the ancestor in the DFS tree and thus concluding that `E`'s idom was `B` rather than `A`. As a result, we neglected to insert a phi node in `E`. Fixes #31121 | 21 February 2019, 15:18:07 UTC |
37e49ce | Katharine Hyatt | 21 February 2019, 08:17:44 UTC | doc: more xrefs for conversion manual (#31127) | 21 February 2019, 08:17:44 UTC |
cc3b6dd | Keno Fischer | 20 February 2019, 22:54:38 UTC | Add missing nospecialize annotation As noted in https://github.com/JuliaLang/julia/pull/30783#discussion_r258135185 | 21 February 2019, 02:42:42 UTC |
4236774 | Klaus Crusius | 20 February 2019, 18:12:54 UTC | Check if Ti is sufficient for size of SparseMatrixCSC (#31118) * sparse additional checks to avoid narrow Ti * Fixes #31024. | 20 February 2019, 18:12:54 UTC |
f37005a | Katharine Hyatt | 20 February 2019, 09:12:00 UTC | Backticks, links, and cleanup for modules manual (#31114) | 20 February 2019, 09:12:00 UTC |
66341a3 | cafaxo | 19 February 2019, 22:12:36 UTC | Fix incorrect sign of atanh(complex(x,y)) if x == -1 (#31061) * Fix incorrect sign in atanh In the case that x==-1, we have to flip the sign of ξ. * Formatting: Add space after comma Co-Authored-By: cafaxo <cafaxo@gmail.com> * Add test * Do not drop sign of zero * Flip sign to avoid a DomainError This fixes atanh(prevfloat(-1.0) + 0im) * Test all four combinations Co-Authored-By: cafaxo <cafaxo@gmail.com> * Tests for expressions that were signed incorrectly * Use the correct type for 1 * Update doc * Update doc: Remove trailing whitespace | 19 February 2019, 22:12:36 UTC |
f0d88dd | Ashley Milsted | 19 February 2019, 17:54:51 UTC | Update round(::Missing) to match float version (#30971) * Update round(::Missing) to match float version `round()` was updated to accept `digits` and `base` as keyword arguments. It looks like the `Missing` version was... missed? 😈 This prevents e.g. `round(A, digits=4)` and `round(A, 4)` (old signature) from working on `Union{Missing, Float64}` arrays `A`. * Fix tests for updated round(::Missing, ...) * Test elementwise rounding on Union{T, Missing}[...] When the signature of `Base.round()` and friends (ceil,floor,trunc) was changed to accept keyword arguments for `digits` and `base` instead of positional arguments, the implementations for `Missing` were missed. Test these functions elementwise on arrays of Floats and Missing values to make sure their signatures are compatible with the versions for numbers. * Only accept Integer base in rounding * Cover missing Missing variants of round() etc. Accept `sigdigits` keyword argument in addition to `digits` and `base`. Also accept `RoundingMode` positional argument. * More variants for round(::Missing) tests Test that there are Missing versions of remaining variants of round() and friends. * Remove extraneous kwargs from trunc,floor,ceil * Clean up trunc,floor,ceil defs for Missing Continue to call `round()`, despite it just returning `missing`, so that errors happen with kwargs or types that are invalid. * Pass RoundingMode to round() in Missing versions * Check RoundingMode is being passed on for Missing * Use isequal and === * Test round() with sigdigits on missing-value arrays Also, separate tests for digits and sigdigits: Combining these arguments is not valid for floats, although it currently goes through for Missing. Finally, use a sensible base for the digits and sigdigits tests. * Fix new round() ambiguities with Missing and Rational * Reduce Rational pollution of round() methods The specification to `RoundingMode`s made it difficult to define `round()` for `Missing`. * Remove now-unneeded Missing,Rational methods * Simplify Missing rounding tests Remove duplicate tests but still test elementwise to help ensure we stay in sync with Float methods in the future. Add some comments to explain what is going on. * Remove redundant rounded_array `isequal(test_array, rounded_array) == true`, so just use `test_array`. * Remove Missing, Rational specializations My (possibly incomplete) tests suggest these are no longer needed. * Restore Rational, Missing rounding functions Still needed these to avoid ambiguities after all. | 19 February 2019, 17:54:51 UTC |
52bafeb | Keno Fischer | 21 January 2019, 03:30:32 UTC | Extend PartialTuple for structs This aims to address the following issue: Say we have: ``` function foo(b) a = 1 f = ()->Val(a) f() end ``` This infers beatifully, because the closure struct gets `Const`'ed and thus inter-procedural constant prop takes care of it. However, if we instead do ``` function foo(b) a = 1 f = ()->(println(b); Val(a)) f() end ``` the best inference can tell us about this is that we get `Val`, because the captured arguments are no longer constant. This leads to significant inference problems for Zygote, because the backwards pass is always specified as a closure. Thus, even if constant information is present in the forward pass, it is often lost for the part of the function that's the backwards pass, because it has to pass through the closure struct. This fixes that by keeping track of field types individually. | 19 February 2019, 02:21:39 UTC |
e5e1253 | Valentin Churavy | 18 February 2019, 13:52:16 UTC | Merge pull request #31099 from JuliaLang/vc/late-gc-overflow avoid assertion due to overflow if Num is negative | 18 February 2019, 13:52:16 UTC |
e165c90 | Tim Besard | 18 February 2019, 12:52:42 UTC | Make it possible to add optimization passes without lowering intrinsics. | 18 February 2019, 12:52:42 UTC |
7cbeb3d | Valentin Churavy | 18 February 2019, 04:14:44 UTC | avoid assertion due to overflow if Num is negative | 18 February 2019, 04:14:44 UTC |
dfee945 | Jeff Bezanson | 16 February 2019, 23:46:06 UTC | speed up dispatch on parameterized function types (#31089) | 16 February 2019, 23:46:06 UTC |
b9c4a85 | Jeff Bezanson | 16 February 2019, 23:45:49 UTC | don't default to compact output in 2-argument `show` methods (#31087) | 16 February 2019, 23:45:49 UTC |
28c3dd0 | Jon Malmaud | 16 February 2019, 23:03:43 UTC | Merge pull request #30919 from JuliaLang/ptr_init No-arg Ptr constructor. | 16 February 2019, 23:03:43 UTC |
a44b421 | GregPlowman | 16 February 2019, 16:52:40 UTC | Show dot expressions without parentheses (#31074) | 16 February 2019, 16:52:40 UTC |
a00e3f1 | Tim Besard | 16 February 2019, 16:51:29 UTC | Avoid recursion in print_to_string. (#31083) | 16 February 2019, 16:51:29 UTC |
68db871 | Jameson Nash | 16 February 2019, 09:29:34 UTC | Merge pull request #31015 from JuliaLang/jn/codeinfo-plus store additional "unnecessary" information in CodeInfo | 16 February 2019, 09:29:34 UTC |
f9c7716 | Arnav Sood | 15 February 2019, 20:11:35 UTC | define fallback `inv(x::AbstractIrrational)` (#31068) close #30882 | 15 February 2019, 20:11:34 UTC |
e62b492 | Jeff Bezanson | 15 February 2019, 17:59:52 UTC | some Enum improvements (#30924) - define fewer methods per type - normalize print and show methods - check for duplicate names | 15 February 2019, 17:59:52 UTC |
4addda8 | Milan Bouchet-Valat | 15 February 2019, 17:31:36 UTC | Avoid allocating a vector with typemax(Int) entries from read (#30984) Also fix a bug when all=false and the input vector is too small, and improve docstrings a bit. | 15 February 2019, 17:31:36 UTC |
8b5ab23 | Fredrik Ekre | 15 February 2019, 10:37:44 UTC | Merge pull request #31009 from JuliaLang/sk/depot-path JULIA_DEPOT_PATH: expand empty path to default | 15 February 2019, 10:37:44 UTC |
b0a9748 | Fredrik Ekre | 14 February 2019, 23:42:11 UTC | NEWS for empty entries in JULIA_DEPOT_PATH | 14 February 2019, 23:42:11 UTC |
0a9faeb | Fredrik Ekre | 14 February 2019, 23:36:26 UTC | Tests for JULIA_LOAD_PATH and JULIA_DEPOT_PATH expansions. | 14 February 2019, 23:36:26 UTC |
cf2f6f2 | Stefan Karpinski | 08 February 2019, 14:30:26 UTC | update DEPOT_PATH and JULIA_DEPOT_PATH docs | 14 February 2019, 23:12:26 UTC |
59ddc77 | Stefan Karpinski | 08 February 2019, 13:25:22 UTC | JULIA_DEPOT_PATH: expand empty path to default This makes the behavior for JULIA_DEPOT_PATH expansion match that of JULIA_LOAD_PATH expansion and allows one to manipulate the path uncondionally with shell expressions like this: export JULIA_DEPOT_PATH="$JULIA_DEPOT_PATH:/system/depot" It also changes JULIA_LOAD_PATH expansion to do user name expansion just like JULIA_DEPOT_PATH does, bringing the two variables into closer behavioral agreement. | 14 February 2019, 23:11:31 UTC |
111b385 | Tim Holy | 14 February 2019, 21:26:06 UTC | Minor enhancements to devdocs/ast.md (#31032) | 14 February 2019, 21:26:06 UTC |
b1acb3c | Páll Haraldsson | 14 February 2019, 21:24:11 UTC | Full fix for typos/grammar in sysimg devdocs (#31059) | 14 February 2019, 21:24:11 UTC |
c9975ab | Keno Fischer | 14 February 2019, 21:22:52 UTC | Don't reach into .mt directly (#31063) | 14 February 2019, 21:22:52 UTC |
b01fad2 | Steven G. Johnson | 14 February 2019, 20:54:48 UTC | default to /usr/bin/curl on macOS (#30969) | 14 February 2019, 20:54:48 UTC |
d8e4ce4 | Kristoffer Carlsson | 14 February 2019, 20:45:45 UTC | implement fast isascii for String (#30400) | 14 February 2019, 20:45:45 UTC |
549240a | Yuri | 14 February 2019, 20:41:13 UTC | Fix enumerate documentation (#30398) The `enumerate` method referred to in the current definition no longer exists and has been deprecated to a method of `pairs` in 0.7. Thanks to @simonschoelly for pointing this out. ``` julia> using OffsetArrays; julia> pairs(IndexLinear(),OffsetArray(1:5, -2:2)) pairs(::OffsetArray{Int64,1,UnitRange{Int64}}) with 5 entries: -2 => 1 -1 => 2 0 => 3 1 => 4 2 => 5 ``` | 14 February 2019, 20:41:13 UTC |
c44e9d7 | cormullion | 14 February 2019, 20:36:44 UTC | added intro to pipe/chain/compose (issue #27879) (#29182) | 14 February 2019, 20:36:44 UTC |
6e87328 | Jon Malmaud | 14 February 2019, 19:53:21 UTC | Update NEWS references | 14 February 2019, 19:53:21 UTC |
44676fc | Jon Malmaud | 04 February 2019, 19:38:28 UTC | Add news, test, doc | 14 February 2019, 19:52:04 UTC |
f666f7b | Jon Malmaud | 31 January 2019, 20:51:10 UTC | Use C_NULL instead of 0. | 14 February 2019, 19:48:39 UTC |
5f459ae | Jon Malmaud | 31 January 2019, 20:01:45 UTC | No-arg Ptr constructor. | 14 February 2019, 19:48:39 UTC |
bd07ef4 | Jeff Bezanson | 14 February 2019, 16:18:54 UTC | improve precision of typeof_tfunc a bit (#31043) | 14 February 2019, 16:18:54 UTC |
a03da73 | Keno Fischer | 11 February 2019, 19:49:01 UTC | Allow recursion that decreases the total number of arguments Inference limits recursion unless it can prove that it must eventually converge (e.g. by looking at the arguments and seeing them get less complex). This adds another rule to the "must converge" check, by allowing recursive calls with strictly decreasing numbers of arguments, even if the individual arguments increase in complexity. There are other ways to do this kind of recursion (e.g. by having total additive complexity measures), but this seems to work well for now and fits in with the existing rules. This fixes inference higher-order autodiff in Flux models. Flux has the following function: ``` function partial(f::F, Δ, i, args::Vararg{Any,N}) where {F,N} dargs = ntuple(j -> dual(args[j], i==j), Val(N)) return Δ * f(dargs...).partials[1] end ``` which is recursive if `f` is itself `partial` (as happens in higher order autodiff). This change allows this to infer, because the inner call to `f` is on strictly fewer arguments (despite those being wrapped in an additional layer of `Dual`). | 14 February 2019, 05:43:33 UTC |
42b6571 | Jameson Nash | 08 February 2019, 17:02:09 UTC | code_warntype: restore printing of Variables also expose `optimize` flag, and set default to false closes #29287 | 13 February 2019, 22:55:51 UTC |
2e37784 | Jameson Nash | 07 February 2019, 21:23:56 UTC | internals: support line-numbers describing a Method instead of just name Not yet enabled, since we likely need to cache this more efficiently first. | 13 February 2019, 22:55:19 UTC |
c8510e3 | Jameson Nash | 07 February 2019, 19:22:09 UTC | internals: share slotnames table via Method Also store a few other unnecessary properties in CodeInfo, which some users might be interested in having. | 13 February 2019, 22:55:19 UTC |
3bb8404 | Jameson Nash | 07 February 2019, 19:36:13 UTC | htable: fix implementation of htable_reset | 13 February 2019, 22:11:08 UTC |
38d6247 | Keno Fischer | 10 February 2019, 00:48:58 UTC | Get better type info from `partially generated` functions Consider the following function: ``` julia> function foo(a, b) ntuple(i->(a+b; i), Val(4)) end foo (generic function with 1 method) ``` (In particular note that the return type of the closure does not depend on the types of `a` and b`). Unfortunately, prior to this change, inference was unable to determine the return type in this situation: ``` julia> code_typed(foo, Tuple{Any, Any}, trace=true) Refused to call generated function with non-concrete argument types ntuple(::getfield(Main, Symbol("##15#16")){_A,_B} where _B where _A, ::Val{4}) [GeneratedNotConcrete] 1-element Array{Any,1}: CodeInfo( 1 ─ %1 = Main.:(##15#16)::Const(##15#16, false) │ %2 = Core.typeof(a)::DataType │ %3 = Core.typeof(b)::DataType │ %4 = Core.apply_type(%1, %2, %3)::Type{##15#16{_A,_B}} where _B where _A │ %5 = %new(%4, a, b)::##15#16{_A,_B} where _B where _A │ %6 = Main.ntuple(%5, $(QuoteNode(Val{4}())))::Any └── return %6 ) => Any ``` Looking at the definition of ntuple https://github.com/JuliaLang/julia/blob/abb09f88804c4e74c752a66157e767c9b0f8945d/base/ntuple.jl#L45-L56 we see that it is a generated function an inference thus refuses to invoke it, unless it can prove the concrete type of *all* arguments to the function. As the above example illustrates, this restriction is more stringent than necessary. It is true that we cannot invoke generated functions on arbitrary abstract signatures (because we neither want to the user to have to be able to nor do we trust that users are able to preverse monotonicity - i.e. that the return type of the generated code will always be a subtype of the return type of a more abstract signature). However, if some piece of information is not used (the type of the passed function in this case), there is no problem with calling the generated function (since information that is unnused cannot possibly affect monotnicity). This PR allows us to recognize pieces of information that are *syntactically* unused, and call the generated functions, even if we do not have those pieces of information. As a result, we are now able to infer the return type of the above function: ``` julia> code_typed(foo, Tuple{Any, Any}) 1-element Array{Any,1}: CodeInfo( 1 ─ %1 = Main.:(##3#4)::Const(##3#4, false) │ %2 = Core.typeof(a)::DataType │ %3 = Core.typeof(b)::DataType │ %4 = Core.apply_type(%1, %2, %3)::Type{##3#4{_A,_B}} where _B where _A │ %5 = %new(%4, a, b)::##3#4{_A,_B} where _B where _A │ %6 = Main.ntuple(%5, $(QuoteNode(Val{4}())))::NTuple{4,Int64} └── return %6 ) => NTuple{4,Int64} ``` In particular, we use the new frontent `used` flags from the previous commit. One additional complication is that we want to accesss these flags without uncompressing the generator source, so we change the compression scheme to place the flags at a known location. Fixes #31004 | 13 February 2019, 21:23:52 UTC |
421cc61 | Jeff Bezanson | 08 February 2019, 20:23:12 UTC | add a flag to indicate which slots are accessed | 13 February 2019, 21:23:52 UTC |
4562045 | Keno Fischer | 13 February 2019, 21:22:16 UTC | Don't use recursion in IncrementalCompact (#30885) * Switch to `@goto` instead of recursion in `iterate(::IncrementalCompact, ...)` This dodges a stack overflow seen with extremely large blocks of code * Apply suggestions from code review Co-Authored-By: Keno <keno@alumni.harvard.edu> | 13 February 2019, 21:22:16 UTC |
fcb7f8b | schlurp | 13 February 2019, 20:40:30 UTC | Improve documentation on multibyte strings #29455 (#31049) | 13 February 2019, 20:40:30 UTC |
e255b41 | Benoit Pasquier | 13 February 2019, 20:22:56 UTC | fix minor typos in docs (#31055) "in at top level" -> "at top level" "at toplevel" -> "at top level" | 13 February 2019, 20:22:56 UTC |
795740a | Sam Morrison | 13 February 2019, 13:11:44 UTC | Shows evaluated output for commonly tested functions (#30721) * Shows evaluated output for commonly tested functions * Adds tests * Moves evaluated function symbols to a global constant * Numbers printing tests for readability | 13 February 2019, 13:11:44 UTC |
300a336 | Simon Byrne | 13 February 2019, 00:06:16 UTC | bump MPFR to 4.0.2 (#31041) | 13 February 2019, 00:06:16 UTC |
cd0da8c | Fredrik Ekre | 12 February 2019, 21:43:50 UTC | bb: modify normalize_triplet to accept other output of gfortran --version (#31038) | 12 February 2019, 21:43:50 UTC |
5ef4a4e | Elliot Saba | 12 February 2019, 21:37:35 UTC | Try weaning ourselves completely off of `staticfloat/julia*` Homebrew taps (#30991) * Try weaning ourselves completely off of `staticfloat/julia*` homebrew taps in CI * Update SuiteSparse to `v5.4.0` * Add `USE_BINARYBUILDER_SUITESPARSE` * Add SS checksums * Use `USE_BINARYBUILDER_SUITESPARSE=1` on CI * SuiteSparse depends on OpenBLAS, even when BB-installing * Fix SuiteSparse installation from source * Don't set `USE_SYSTEM_{BLAS,LAPACK}` when using BB * Simplify OSX configuration * Disable `-fopenmp` when building SuiteSparse * Add OpenLibm as a BB-installable target * Enable `USE_BINARYBUILDER_OPENLIBM=1` on Travis * Fix `VERBOSE` name-mangling Co-Authored-By: staticfloat <staticfloat@gmail.com> * Properly add `-DNPARTITION` in all cases | 12 February 2019, 21:37:35 UTC |
2dd48b9 | Jeff Bezanson | 12 February 2019, 20:46:49 UTC | fix #29936, precompile should not assume UnionAlls have stable addresses (#31047) | 12 February 2019, 20:46:49 UTC |
36d062d | Simon Byrne | 12 February 2019, 20:38:19 UTC | Allow non-Function args to retry (#30382) I hit this while trying to use a `PyObject` | 12 February 2019, 20:38:19 UTC |
236c69b | Keno Fischer | 04 February 2019, 23:33:39 UTC | Allow removing unused pointerref This allows the julia-level optimizer to drop unused pointerref. This matches LLVM in that unused non-volatile loads are allowed to be dropped, despite them having possibly observable side effects (segfaults), since those are modeled as undefined. When heavily optimizing code we frequently saw a lot of left over pointerref calls resulting from inlining `length(::SimpleVector)`. We have a special tfunc for that call (that can give us the result as a const), but inline it anyway and thus end up with a pointerref whose result is unused that we didn't used to be able to eliminate. E.g. ``` julia> f(T::Type{S}) where {S} = Val(length(T.parameters)) f (generic function with 1 method) ``` Before: ``` julia> @code_typed f(Int) CodeInfo( 1 ─ %1 = (Base.getfield)(T, :parameters)::SimpleVector │ %2 = $(Expr(:gc_preserve_begin, :(%1))) │ %3 = $(Expr(:foreigncall, :(:jl_value_ptr), Ptr{Nothing}, svec(Any), :(:ccall), 1, :(%1)))::Ptr{Nothing} │ %4 = (Base.bitcast)(Ptr{Int64}, %3)::Ptr{Int64} │ (Base.pointerref)(%4, 1, 1)::Int64 │ $(Expr(:gc_preserve_end, :(%2))) └── return $(QuoteNode(Val{0}())) ) => Val{0} ``` After: ``` julia> @code_typed f(Int) CodeInfo( 1 ─ %1 = (Base.getfield)(T, :parameters)::SimpleVector │ %2 = $(Expr(:gc_preserve_begin, :(%1))) │ $(Expr(:foreigncall, :(:jl_value_ptr), Ptr{Nothing}, svec(Any), :(:ccall), 1, :(%1)))::Ptr{Nothing} │ $(Expr(:gc_preserve_end, :(%2))) └── return $(QuoteNode(Val{0}())) ) => Val{0} ``` Of course we still have the useless foreigncall. That is outside the scope of this PR, but I'm hoping to have a general solution in the future to mark foreigncalls as effect free if unused. | 11 February 2019, 23:14:43 UTC |
19a0f71 | zy | 11 February 2019, 17:14:17 UTC | deleted unmatched closing `]` in eachmatch docstring (#31028) | 11 February 2019, 17:14:17 UTC |
a1377ea | Michael Jin | 11 February 2019, 17:05:51 UTC | Update Mozilla CA certificate store to latest (01-23-2019) for libgit2 SSL. (#31029) | 11 February 2019, 17:05:51 UTC |
062f298 | Jeff Bezanson | 10 February 2019, 22:37:25 UTC | fix a bug in `sizeof_nothrow` | 11 February 2019, 17:00:54 UTC |
92271ea | Benoît Legat | 11 February 2019, 00:47:13 UTC | Improve consistency of ArgumentError with >= 0 (#31027) | 11 February 2019, 00:47:13 UTC |
05785f9 | Jeff Bezanson | 10 February 2019, 22:42:17 UTC | fix #14574, `cp` on files >2GB (#30989) | 10 February 2019, 22:42:17 UTC |
0680f19 | Jeff Bezanson | 09 February 2019, 19:40:26 UTC | fix some t-functions on PartialTuple arguments (#31014) | 09 February 2019, 19:40:26 UTC |
89d64c6 | Jeff Bezanson | 09 February 2019, 19:39:29 UTC | another improvement to static parameter precision (#31001) | 09 February 2019, 19:39:29 UTC |
6e552e7 | tckmn | 09 February 2019, 10:28:02 UTC | Remove redundant definition of identity(::Missing). (#31017) | 09 February 2019, 10:28:02 UTC |
51cd56f | Stefan Karpinski | 08 February 2019, 18:20:46 UTC | Merge pull request #31010 from JuliaLang/sk/load-path-docs complete, accurate documentation of LOAD_PATH and JULIA_LOAD_PATH | 08 February 2019, 18:20:46 UTC |
695842f | Stefan Karpinski | 08 February 2019, 01:12:24 UTC | complete documentation of LOAD_PATH | 08 February 2019, 12:52:43 UTC |
a0bb006 | Jeff Bezanson | 08 February 2019, 03:42:34 UTC | Merge pull request #30830 from JuliaLang/jb/misclatency some better type info in Base to improve latency a bit | 08 February 2019, 03:42:34 UTC |
4fa7d7d | Jeff Bezanson | 08 February 2019, 03:40:12 UTC | do less inference in top-level expressions (#30979) We don't need to determine a return type for top-level exprs, and they tend to use global variables, so avoid inference of calls with abstract argument types. | 08 February 2019, 03:40:12 UTC |
6a4ccf3 | Stefan Karpinski | 08 February 2019, 00:45:38 UTC | Delete misleading section on "module file path" This was never accurate and doesn't really belong in the modules section since modules have nothing to do with the load path other than the fact that packages define a module and packages the load path affects what packages can be loaded. | 08 February 2019, 00:45:40 UTC |
2550925 | Stefan Karpinski | 08 February 2019, 00:40:58 UTC | accurate documentation for JULIA_LOAD_PATH | 08 February 2019, 00:41:32 UTC |
abb09f8 | Marco | 07 February 2019, 23:35:07 UTC | NEWS.md item for #29777 (#30997) | 07 February 2019, 23:35:07 UTC |
560bf4a | Jeff Bezanson | 07 February 2019, 19:38:59 UTC | improve some type information to reduce backedges; fixes #29166 reuse `Base._array_for` in lowering instead of manually inlining it | 07 February 2019, 19:38:59 UTC |