https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
73b5249 Allow eliminating nothrow intrinsics during optimization 21 September 2018, 19:50:44 UTC
bd5bb17 Inlining thing 21 September 2018, 17:39:17 UTC
81436ee WIP: Extend code_typed to be able to debug constant prop I'm currently debugging code that uses a lot of arrays with dimensions in their type parameters. This type of code heavily relies on constant propagation to lift dimensions from the value domain into the type domain. Unfortunately, it's a bit hard to discover what exactly causes inference to drop information from constants, because there's no way to feed in constants for a particular invocation using code_typed. This is a quick hack to remidy that, by making `$`-interpolated expressions available as constants to type inference, e.g. ```julia julia> @code_typed 1+1 CodeInfo( 53 1 ─ %1 = (Base.add_int)(x, y)::Int64 └── return %1 ) => Int64 julia> @code_typed $(1)+$(1) CodeInfo( 53 1 ─ return 2 ) => Int64 ``` 21 September 2018, 16:10:50 UTC
f07eb96 Recursion fixup 21 September 2018, 16:10:08 UTC
be397e5 Make inference more aggressive 21 September 2018, 16:10:07 UTC
0bf816a RFC: Allow structural recursion without triggering edge cycle limiting This attempts to fix inference for the case in #29293 (the one returning `Any`). It does not fix the cache poisoning part of that issue, which is a separate concern. The idea here is that we avoid applying limiting if the argtypes of the frame become strictly simpler (thus guaranteeing eventual termination). It is important that the complexity relation be transitive and anti-reflexive. 21 September 2018, 16:10:07 UTC
647d809 Improve inference of `tail`-like functions Previously these sorts of function would block constant propagation. Hopfully #28955 will just fix this, but until then, add a surgical fix and a test. 21 September 2018, 16:10:07 UTC
6f81da6 WIP 18 September 2018, 23:17:40 UTC
f9f9cf3 Add a method of run_passes that skips SSA conversion 18 September 2018, 23:17:40 UTC
8c4d61e Align StmtRange field names with UnitRange 18 September 2018, 23:17:40 UTC
8dd3326 ComplexF64 division: combine four if-statements into two if-elseif-statements (#29042) * ComplexF64 division: combine four if-statements into two if-elseif-statements * add @fastmath to magnitude check; NaN handling not needed * don't use @fastmath; use explicit route instead * remove unnecessary two & half variables 18 September 2018, 17:35:07 UTC
abe38f1 Base.TCPServer --> Sockets.TCPServer (#29230) 18 September 2018, 15:00:13 UTC
3a15e6b Merge pull request #29233 from aghitza/patch-2 fix awkward phrasing in parallel-computing.md 18 September 2018, 01:19:03 UTC
157a6d1 fix awkward phrasing in parallel-computing.md 17 September 2018, 21:55:35 UTC
88f74b7 fix reinterpret(Char, ::UInt32) for "unnatural" values (fix #29181) (#29192) This code was assuming that character values only have bit-patterns that decoding a string can produce, but of course `reinterpret` can produce any bit pattern in a `Char` whatsoever. The fix doesn't use that assumption and only uses the cache for actual ASCII characters. 17 September 2018, 20:28:25 UTC
1324ceb Propagate constant calls to new! (#28284) * this is the thing that infers new. * more stuff! * Incorporating Jeff's suggestions. * Added tests and used Jeff's implementation. 17 September 2018, 17:12:45 UTC
2c15430 Make `using LinearAlgebra` explicit (#29188) Ref. https://discourse.julialang.org/t/error-undefvarerror-eigvecs-not-defined/14923/2?u=stillyslalom 17 September 2018, 16:19:10 UTC
3255f28 fix #29175, invalid lowered IR from repeating code for declared types (#29194) 17 September 2018, 15:05:47 UTC
c0afddf fix #28481, faster reading of primitive types from IOStream and IOBuffer (#29186) 17 September 2018, 15:03:43 UTC
632ca40 rm an unused function and fix jl_eof_error (#29185) 17 September 2018, 15:01:28 UTC
16516b5 fix digits(n::Unsigned) with neg base for `n > typemax(n)÷2` (#29205) Alternative based on https://github.com/JuliaLang/julia/pull/29187 Tests from rforquet's PR linked above. 17 September 2018, 12:51:29 UTC
7d6bc6b Fix patch 17 September 2018, 01:57:55 UTC
ef8bbd3 bump to LLVM_BB rel 6.0.1-3 17 September 2018, 01:57:55 UTC
34284f6 added a test for codegen on quoted constant structs. 17 September 2018, 01:57:55 UTC
366e2d6 Carry LLVM patch implementing byval attribute on Win64 17 September 2018, 01:57:55 UTC
7507511 Have 'cat' only accept positive dimensions. (#29189) 16 September 2018, 14:51:31 UTC
ec44cf4 optimize slightly BigFloat(-NaN) (#29128) This operation was allocating internally one unnecessary temporary BigFloat object, doubling the construction time. 16 September 2018, 10:17:00 UTC
5dda994 correct the docs of `Nothing` (#29210) 16 September 2018, 08:41:07 UTC
e2c9878 Add `undef` to Vector allocations (#29184) Without the `undef` initializer, the corresponding samples give error for julia version >= 1.0. 15 September 2018, 12:35:30 UTC
02aa9bb Xrefs and a few examples for math stuff (#29150) 14 September 2018, 21:07:50 UTC
cb269aa fix #25474, support more forms in edit, which, etc. macros (#29159) 14 September 2018, 19:54:01 UTC
c3660f7 fix #29145, error for `new{}` with incomplete type (#29154) 14 September 2018, 19:53:06 UTC
3b02991 define ncodeunits(c::Char) as fast equivalent of ncodeunits(string(c)) There was a non-public `codelen(c::Char)` method which previously did this. This also replaces internal uses of this with `ncodeunits(c)`. 14 September 2018, 15:11:29 UTC
fc04d73 base/char.jl: tweak doc strings 14 September 2018, 15:11:29 UTC
b9c7a72 BigFloat tests: consolidate two files into one (#29144) merge test/bigfloat.jl into test/mpfr.jl 14 September 2018, 13:27:26 UTC
cda41ae fixed some typos (#29164) 14 September 2018, 13:22:39 UTC
26b6a58 Improve support for constructing zero-step float ranges (#29056) * Improve support for constructing zero-step float ranges Fixes `0.0 * (1:4)`, for example. From https://github.com/JuliaLang/julia/issues/29052#issuecomment-418825887 * simplify 13 September 2018, 21:44:51 UTC
77ec1ec fix unsigned ndigits with neg base for `n > typemax(n)÷2` (#29148) It relies on the fact that `cld(x, b) == -fld(x, -b)` but does the conversion from unsigned to signed before negating the unsigned quotient; since `-b ≥ 2` the quotient always fits in the signed type. 13 September 2018, 19:31:58 UTC
fd0ce5d Merge pull request #29156 from JuliaLang/jb/10xtests add tests for a couple fixed issues 13 September 2018, 15:24:52 UTC
3143d89 fix #22592, specificity of union compared to a subtype of it (#29139) We considered Union{A,B} more specific than B if A was more specific than B (but not a subtype of it). Clearly, it should not be. 13 September 2018, 15:23:53 UTC
d974f93 See if building our own PCRE fixes the travis issues (#29162) 13 September 2018, 15:04:18 UTC
e724864 fix order of operations in ranges to avoid overflow (#28893) 13 September 2018, 12:46:39 UTC
b4c370d Allow `Iterators.flatten` for empty tuple (#29112) 12 September 2018, 21:35:11 UTC
62de472 move codelen and first_utf8_byte to Char.jl (#28894) 12 September 2018, 21:27:56 UTC
5e4ca86 doc: fix usage of NTuple{T} (#29104) 12 September 2018, 20:41:56 UTC
c2b61df Some xrefs and examples for Distiributed (#29137) 12 September 2018, 19:35:03 UTC
dc4798f add test case from #26037 closes #26037 12 September 2018, 19:11:53 UTC
2be7e09 add test case from #26729 Fixed by the new optimizer. This closes #26729. 12 September 2018, 19:09:33 UTC
e918a92 allow building julia without extra precompile statements (#29132) 12 September 2018, 15:53:48 UTC
592a474 Tried to fix the English of the first few paras (#29050) I don't have time to do this whole document, but it could do with an edit by a native English speaker. 12 September 2018, 14:43:51 UTC
6acaa10 fix perf in exp(::Matrix) (#29116) 12 September 2018, 14:43:32 UTC
2cd1bf8 fix perf regression from not specializing on iterate on tuples (#29133) 12 September 2018, 14:38:11 UTC
3608e50 Fix some signatures and add examples for Random docs (#29119) 12 September 2018, 14:34:02 UTC
773540d RFC: Iterate over smaller set for setdiff[!](a,b) (#29048) * Iterate over smaller set for setdiff[!] * Add comment and change to integer multiplication 11 September 2018, 21:21:09 UTC
d8809f1 LibGit2: only call shutdown once [fix #28306] (#29121) 11 September 2018, 19:36:25 UTC
7142712 base/sort: add sort! for multidimensional arrays (#28902) 11 September 2018, 14:40:27 UTC
70c7298 current_project(): don't bail at Git repos (#29108) 11 September 2018, 14:05:27 UTC
e85af88 Solving Issue #29101 (#29122) See Issue #29101 11 September 2018, 07:08:04 UTC
448bc7d Some more examples/formatting/xrefs for Distributed docs (#29011) 11 September 2018, 06:22:06 UTC
6caabc9 Revert "RFC: prettier IR-show for line number and inlining information" (#29118) 10 September 2018, 22:08:27 UTC
3b428c9 Fix libunwind version check with patch releases (#29082) libunwind patch releases like 1.2.1 have UNW_VERSION_MINOR = 2.1, which makes the comparison fail. Use a more robust comparison which excludes all versions between 1.0 and 1.2 instead. https://savannah.nongnu.org/bugs/index.php?52529 10 September 2018, 19:06:57 UTC
f1ce96e cleanup testing leftovers (#29069) 10 September 2018, 19:03:23 UTC
513db98 Check world age bounds on candidate ambiguities. Fixes #28899 (#28916) 10 September 2018, 18:37:58 UTC
3c8119f Adds some clarification to `download` (#28989) 10 September 2018, 17:02:09 UTC
999bcc5 Merge pull request #28390 from JuliaLang/jn/irshow3 prettier IR-show for line number and inlining information 10 September 2018, 13:44:05 UTC
97864d3 Adding text on how to embed Julia on Windows. (#28974) * Adding text on how to embed Julia on Windows. * Fixed trailing whitespace. 09 September 2018, 19:05:38 UTC
ecff881 Avoid duplicated =value in Enum errors. 09 September 2018, 02:49:26 UTC
1ab5319 Allow eliminating ifelse if proven nothrow 09 September 2018, 00:11:40 UTC
68db9b4 This comma confused me. Remove it 09 September 2018, 00:11:29 UTC
0c73ad1 doc/interface: correct signature of `size` (#29094) 08 September 2018, 23:01:18 UTC
fda953b Kill useless phi nodes 08 September 2018, 20:11:08 UTC
3ed9599 Eliminate useless PiNodes during compaction 08 September 2018, 20:11:08 UTC
92cef07 Allow CFG transforms during compaction The design taken here is that CFG transformations are allowed during compacting, but BBs are only removed (i.e. BB numbers are only changed at the beginning of compaction). 08 September 2018, 20:11:08 UTC
3057ebc slightly more efficient lowering of destructuring assignment There is no need to fetch the next state after the last element. 08 September 2018, 19:47:23 UTC
f922a63 fix #29036, poor inference of `val,i = iterate(x,i)` In this case, the result of `iterate` has not been checked for `nothing`, so we try to call `indexed_iterate` (for destructuring assignment) on a Union of Nothing and the tuple returned by `iterate`. That has two method matches, and so was excluded from constant propagation. This commit fixes that by generalizing the constant prop heuristic from requiring one method match to requiring one non-Bottom method match. This issue caused a large slowdown in DelimitedFiles, where the inner loop consists of ``` while idx <= slen val,idx = iterate(dbuff, idx) ``` 08 September 2018, 19:47:23 UTC
65e4c13 fix #29083, not eliminating kwfunc due to logic error in builtin_nothrow 08 September 2018, 15:25:12 UTC
42e8920 fix logic in `getfield_nothrow` to allow removing more getfields 08 September 2018, 15:24:24 UTC
a572504 Documentation `mynorm` should not divide by n (#29091) Test with: ```julia a = randn(10) abs(norm(a) - mynorm(a)) < 1e10 ``` Tested here: ```julia-repl _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: https://docs.julialang.org _ _ _| |_ __ _ | Type "?help" for help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.6.4 (2018-07-09 19:09 UTC) _/ |\__'_|_|_|\__'_| | Official http://julialang.org/ release |__/ | x86_64-pc-linux-gnu julia> function mynorm(u::Vector) n = length(u) T = eltype(u) s = zero(T) @fastmath @inbounds @simd for i in 1:n s += u[i]^2 end @fastmath @inbounds return sqrt(s) end mynorm (generic function with 1 method) julia> function mynorm_old(u::Vector) n = length(u) T = eltype(u) s = zero(T) @fastmath @inbounds @simd for i in 1:n s += u[i]^2 end @fastmath @inbounds return sqrt(s/n) end mynorm_old (generic function with 1 method) julia> a = randn(10) 10-element Array{Float64,1}: -0.564163 -3.45236 -0.50901 -0.030296 0.114156 0.661961 -1.19972 2.20883 1.74529 0.82515 julia> abs(norm(a)-mynorm(a)) 0.0 julia> abs(norm(a)-mynorm_old(a)) 3.2787896367314344 ``` 08 September 2018, 03:48:41 UTC
bb7d043 fix #25955, hygiene of arg name of function defined by type (`(f::T)(...)`) (#29072) 07 September 2018, 21:18:46 UTC
cfca833 fix #29064, bug in field name same as struct type name (#29070) 07 September 2018, 18:25:26 UTC
4b103ef stronger warnings about changing constants in help and docs (#28711) [ci skip] 07 September 2018, 17:39:14 UTC
5c1d4a3 comment out assertion 07 September 2018, 13:55:09 UTC
bda5dd8 add local to outer description (#29010) 06 September 2018, 19:26:41 UTC
88d536a work around a splatting penalty in twiceprecision (#29060) * work around a splatting penalty in twiceprecision * add allocation test 06 September 2018, 18:03:05 UTC
e5cc750 fix #28833, crash in macros returning certain top-level forms (#28882) 06 September 2018, 16:04:54 UTC
a42f4d5 fix docstring of open(command) (close #24649) (#25563) 06 September 2018, 15:33:00 UTC
be14985 Fix typo in mapreduce docstring (#29049) 06 September 2018, 14:39:53 UTC
53f8e18 Fix typo on file.jl (#29063) cp() doc : dest->dst 06 September 2018, 14:23:18 UTC
4c02077 make sure that the read task is done when precompiling (#29024) 06 September 2018, 01:19:52 UTC
11e32a4 fix #28991, error when adding default defs to constructed module Exprs (#29044) The code for this expected the first element of a block to be a line number; check to make sure it is before using it. 05 September 2018, 21:50:34 UTC
1fb86d2 fix #28900, macro hygiene bug inside keyword arg values (#29043) 05 September 2018, 21:49:57 UTC
8d99356 Fix dispatch of SparseMatrixCSC*Diagonal multiplication (#29045) * Fix type signature of mul! methods for multiplying SparseMatrixCSCs with Diagonal matrices. Type signature for diagonal matrices was wrong, causing fallback to generic Matmul. * Add SparseMatrixCSC*Diagonal dispatch test * Fix trailing whitespace * Don't copy with deepcopy 05 September 2018, 10:09:00 UTC
807ae71 Fix: Enum values doesn't display UInt8 correctly (#29035) 05 September 2018, 09:25:19 UTC
3fbdc9b Merge pull request #28822 from JuliaLang/kc/pkg_bomb Update Pkg 04 September 2018, 20:51:05 UTC
c43793c fixed regression in sparse of adjoint of sparse (#28948) (#28954) * fixed regression in sparse of adjoint 04 September 2018, 20:09:39 UTC
d4cdde1 fix #28915, identity conversion to union of tuple types (#28951) 04 September 2018, 18:43:43 UTC
14fb104 Fix download agent search relying on throwing of Sys.which(). Update t #28157 (#28682) * Fix download agent search relying on throwing of Sys.which() 04 September 2018, 18:15:02 UTC
714b2c3 use default proxy credentials when downloading via powershell (cherry picked from commit d495fed46606ff29685135bc63bffb5f7cc6d463) 04 September 2018, 17:29:17 UTC
e7d7259 Fix out of bounds write in array deserialization The array was allocated based on the serialized `elsize` of the array, however, unions get an extra selector array after the regular storage which was not allocated (because we didn't know it was gonna be a union array at the time when we allocated it). According to a48eeefd6207090898f5b1877684aa10f217800a we cannot look at the element type to allocate the array, so we need to serialize a bit to indicate that we will have a union array. Fixes #28998 04 September 2018, 16:55:32 UTC
c8450d8 CartesianIndices and LinearIndices docstring (#29023) 04 September 2018, 10:24:29 UTC
back to top