https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
c9a59dc WIP: Delete OldPkg 17 May 2018, 11:17:44 UTC
3a742f3 small fixes from review 17 May 2018, 09:42:58 UTC
14b2b3a fix files accidentally ignored in rename 17 May 2018, 09:42:58 UTC
afd2fd3 small fix for testing projects 17 May 2018, 09:42:58 UTC
a15d311 fixup Pkg docs 17 May 2018, 09:42:58 UTC
47073e0 remove OldPkg docs 17 May 2018, 09:42:58 UTC
55c98de use Pkg for docs 17 May 2018, 09:42:16 UTC
fc999c7 OldPkg -> Pkg where it makes sense 17 May 2018, 09:42:16 UTC
0d21fbf fix docstring for require to not mention Pkg.dir 17 May 2018, 09:42:16 UTC
3e2de59 rename Pkg3 to Pkg 17 May 2018, 09:42:16 UTC
aa40994 rename Pkg to OldPkg 17 May 2018, 09:42:16 UTC
cc68c6e document join(io, ...) (#27127) I noticed that the `io` argument was in the docstring but wasn't explained 17 May 2018, 06:35:22 UTC
d44944d Merge pull request #27126 from JuliaLang/kf/sroarebase Introduce improved SROA pass 17 May 2018, 00:38:16 UTC
9100329 Introduce improved SROA pass This is a rebased and fixed version of the improved SROA pass from #26778. There's a decent piece of new infrastructure wrapped up in this: The ability to insert new nodes during compaction. This is a bit tricky because it requires tracking which version of the statements buffer a given SSAValue belongs to. At the moment this is done mostly manually, but I'm hoping to clean that up in the future. The idea of the new SROA pass is fairly straightforward: Given a use of an interesting value, it traces through all phi nodes, finding all leaves, applies whatever transformation to those leaves and then re-inserts a phi nest corresponding to the phi nest of the original value. 16 May 2018, 19:11:04 UTC
254ab94 Merge pull request #27115 from JuliaLang/kf/cfgsimpl Re-enable BB simplification pass 16 May 2018, 17:20:03 UTC
2460f9d Merge pull request #27116 from JuliaLang/kf/typeassert_codegen Improve generated code for typeassert with abstract type 16 May 2018, 17:18:59 UTC
e43c843 Fix for UndefVarError(var=:arg_T2) (#27117) * Fix for UndefVarError(var=:arg_T2) * Add test case ensuring >: doesn't throw error 16 May 2018, 14:51:34 UTC
d3be48c parsable SHA1 and UUID printing, tests (#27036) 16 May 2018, 13:00:51 UTC
6291d3e document some undocumented exports (#27107) ∋, ∉, ∌, VecOrMat{T}, @v_str, VersionNumber, Base, Base.Broadcast, Base.GC, Inf/Inf64, NaN/NaN64 AbstractVecOrMat{T}, issubset/⊆/⊇, ⊊/⊋, ⊈/⊉, issetequal 16 May 2018, 05:58:57 UTC
7790077 Improve generated code for typeassert with abstract type The motivation is something like the following: ``` @noinline r_typeassert(c) = c ? (1,1) : nothing function f_typeassert(c) r(c)::Tuple end ``` Here, we know that the return type from r_typeassert is either `Tuple{Int, Int}` or `Nothing`, so all the type assert has to do is assert that it's the former. We can compute this by narrowing the type to be asserted using type intersection. 16 May 2018, 00:02:08 UTC
3e189dc Re-enable BB simplification pass 15 May 2018, 22:21:48 UTC
11c803c Merge pull request #27023 from JuliaLang/jb/comprlowering fix and generalize comprehension lowering 15 May 2018, 22:04:39 UTC
b189d0f fix `return`, `break`, and `continue` in special comprehension lowering 15 May 2018, 16:12:29 UTC
41310f6 fix and generalize comprehension lowering now correctly handles all n-d comprehensions with specified element type. 15 May 2018, 16:12:28 UTC
172781f Flush out the pointer docs (#27063) * Flush out the pointer docs Fix #14604. * Add `GC.-at-preserve` to the manual, explicit ref to ref Ref 15 May 2018, 16:06:41 UTC
b5d3874 gf-cache: permit `@nospecialize` on Varargs (#27081) this ensures the Expr constructor is not over-specialized / compiled 15 May 2018, 15:58:14 UTC
eebeaa9 More robust iteration over Vectors (#27079) * More robust iteration over Vectors Currently, if a vector is resized in the midst of iteration, then `done` might "miss" the end of iteration. This trivially changes the definition to catch such a case. I am not sure what guarantees we make about mutating iterables during iteration, but this seems simple and easy to support. Note, though, that it is somewhat tricky: until #13866 we used `i > length(a)`, but that foils vectorization due to the `typemax` case. This definition seems to get the best of both worlds. For a definition like `f` below, this new definition just requires one extra `add i64` operation in the preamble (before the loop). Everything else is identical to master. ```julia function f(A) r = 0 @inbounds for x in A r += x end r end ``` 15 May 2018, 15:24:43 UTC
1b92f51 Improve inference of `collect` with unstable eltype (#25861) Ensure that `promote_typejoin(::Any, ::Any)` is at worst inferred as `Type`, since inference of `similar(dest, ::Any)` is very vague as the second parameter could not only be the new element type, but also e.g. new size. Also ensure that `_array_for(::Type, itr, ::HasShape{N})` is inferable as an `Array{T,N}` with the correct `N`. 15 May 2018, 06:26:05 UTC
fcaa379 Merge pull request #27087 from JuliaLang/kf/enablenew Enable new optimizer by default 14 May 2018, 22:06:02 UTC
ca764ea Fix `join((), ", ")` (#27062) This is a simply hack to avoid working with an `Iterators.Stateful(())`, which has problems when trying to stably infer the return type of the error function `next((), _)`. Punts https://github.com/JuliaLang/julia/issues/26871 to just using `Stateful` itself. 14 May 2018, 21:11:04 UTC
098f40f add dump method for Ptr (#26880) * add dump method for Ptr Currently `dump(x::Ptr)` will print the type of the pointer twice, e.g. ```Ptr{Nothing} Ptr{Nothing} @0x0000000120f1d2d0``` This adds an overload so that it only prints once. * add test * fix test * newline 14 May 2018, 20:37:23 UTC
66c7b7d Deprecate broadcast_(get|set)index in favor of broadcasted (get|set)index (#27075) * Deprecate broadcast_(get|set)index in favor of broadcasted (get|set)index The performance here is comparable in my few quick tests, and only two packages used either of these functions -- both in situations where they would have gained much more by participating in dot-fusion. 14 May 2018, 18:29:58 UTC
12f4ebd Deprecate flipbits! in favor of dot-broadcasting (#27067) * Deprecate flipbits! in favor of dot-broadcasting Seems like we no longer need this function: ```julia julia> B = bitrand(100,1000); julia> @benchmark flipbits!($B) BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 87.996 ns (0.00% GC) median time: 88.474 ns (0.00% GC) mean time: 88.596 ns (0.00% GC) maximum time: 118.378 ns (0.00% GC) -------------- samples: 10000 evals/sample: 960 julia> @benchmark $B .= .!$B BenchmarkTools.Trial: memory estimate: 0 bytes allocs estimate: 0 -------------- minimum time: 88.060 ns (0.00% GC) median time: 88.202 ns (0.00% GC) mean time: 88.314 ns (0.00% GC) maximum time: 137.057 ns (0.00% GC) -------------- samples: 10000 evals/sample: 960 ``` 14 May 2018, 18:22:59 UTC
0b1e166 don't allow promoting `Some{T}` and `Some{S}` (#27065) add promotion rule for `Union{Nothing, Missing, T}` fixes the bug part of #26927 13 May 2018, 22:27:44 UTC
88f1712 Enable new optimizer by default 13 May 2018, 00:20:29 UTC
4b7687c [NewOptimizer] Fix 32bit build 13 May 2018, 00:20:29 UTC
2a21849 Merge pull request #27086 from JuliaLang/kf/fixcodegen [NewOptimizer] Fix codegen test 12 May 2018, 22:13:12 UTC
8bc794d [NewOptimizer] Fix codegen test With the new optimizer enabled, we compile a signature for eval(::Module, ::Any), which throws off the codegen test. I'm not entirely sure why this is different, from the old optimizer, but presumably the old optimizer compiled this singature beforehand. To fix this, simply add another call to `eval` that forces this signature to be compiled. 12 May 2018, 19:40:28 UTC
39cbbc2 Merge pull request #27068 from JuliaLang/jb/ifelse combine `ifelse` and `select_value`; improve `ifelse` t-func 12 May 2018, 19:18:47 UTC
2a60371 Merge pull request #27082 from JuliaLang/kf/libgit2close Make LibGit2 GitRepo API robust against closed repos 12 May 2018, 18:49:44 UTC
6863555 Fix issue when Enum doesn't display UInt8 correctly. (#27069) fixes #27025 12 May 2018, 16:45:06 UTC
4bb705e Rename isalpha to isletter (#27077) 12 May 2018, 16:42:53 UTC
e0aec93 Merge pull request #27011 from JuliaLang/jn/Profile-code-cleanup faster Profile.print code 12 May 2018, 03:15:00 UTC
a224143 Make LibGit2 GitRepo API robust against closed repos Fixes #21638 12 May 2018, 02:39:05 UTC
ff99c03 Merge pull request #27074 from JuliaLang/kf/pinodeinsertion Extract PiNode insertion code from #26969 12 May 2018, 01:44:34 UTC
acab3e0 improve t-func for `ifelse` with a `Conditional` argument 11 May 2018, 21:16:09 UTC
9f1ca1e combine `ifelse` and `select_value` into one Builtin Fix ifelse codegen Our return hint may be a concrete type, in which case we want to do the implicit convert before we decide on a strategy for actually emitting the select. 11 May 2018, 21:16:00 UTC
1d53232 fix fieldtype vararg and union handling (#27059) * fix fieldtype vararg and union handling * add tests 11 May 2018, 20:37:37 UTC
a65d8b4 Extract PiNode insertion code from #26969 This is just the pinode insertion code from #26969, which together with #27068, should hopefully cover the same benchmarks in a more acceptable way. 11 May 2018, 18:22:57 UTC
b9b4da5 Support zero-dimensional reshapes (#27061) Final point that can close #17194. 11 May 2018, 18:15:52 UTC
3b5e180 One more bugfix from #26969 11 May 2018, 18:03:29 UTC
c43d3b0 Add test to ensure rand! is allocation-free (#27060) Adds a test to close #14006. 11 May 2018, 16:09:46 UTC
749afcb Merge pull request #27046 from JuliaLang/kc/bump_pkg3_8 Bump Pkg3 11 May 2018, 15:56:00 UTC
f90c599 Avoid out of bounds read in mul! for SymTridiagonal (#27008) * Avoid out of bounds read in mul! for SymTridiagonal Fixes #26994 * Also handle 0x0 case 11 May 2018, 06:29:57 UTC
1b73dfc Merge pull request #27064 from JuliaLang/kf/newoptbugfixes Extract bug fixes from #26969 11 May 2018, 02:58:00 UTC
34d04a4 fix showing shared arrays (#27047) 11 May 2018, 00:25:41 UTC
0ed32a3 Fix method overwrite warning (#27056) Fix method overwrite warning in `round` Fixes #27053 11 May 2018, 00:24:41 UTC
f1b2328 fix a method cache matching issue with Type{T} (#26984) respect type-equality, keep track separately of what Kind it needs to match revert dfd8fc1f9067a4ec78dfdab0b36089842a10bab9 fix #11840 (except for generated functions) 10 May 2018, 22:10:21 UTC
6fb4569 don't show `Environment:` in `versioninfo` output when env is empty (#27050) 10 May 2018, 21:21:44 UTC
78cf3cc [NewOptimizer] Minor bugfixes 10 May 2018, 20:52:27 UTC
ac1f2bf [NewOptimizer] Fix bug in unionsplit 10 May 2018, 20:51:23 UTC
ee4b18f dump: handle recursion better (#27051) where better means at least as well as `show_default` 10 May 2018, 16:16:43 UTC
5fb465f fix a transitivity issue in specificity, from #26915 (#27042) 10 May 2018, 15:46:44 UTC
fb1c21c function cache: fix memory leak (#26982) some lookup functions (most notably, jl_get_specialization1) were bypassing the initial cache lookup, resulting in repeatedly trying to re-cache them, and wasting a small amount memory also remove some fast-path code for threading race conditions: the benefit is too negligible to be worth the extra code maintenance 10 May 2018, 14:29:12 UTC
365d389 Merge pull request #27049 from JuliaLang/sk/revert-slp Revert "enable the SLP Vectorizer optimization pass by default" 10 May 2018, 11:15:28 UTC
b5815c8 fix element type returned by `Set()` on general iterators (#27052) 10 May 2018, 03:02:57 UTC
d54c30e Merge pull request #27022 from JuliaLang/kf/vacodegen WIP: Relax restrictions on specsig for vararg 10 May 2018, 02:54:32 UTC
e4fa75d Simplify SparseMatrix setindex! (#27026) * Simplify SparseMatrix setindex! Fix #27013, and add a whole slew of tests. `methods(setindex!, Tuple{SparseMatrixCSC, Vararg{Any}})` goes from a hodgepodge of 26 methods that were tough to reason about to just 6 methods: scalar, logical linear indexing, linear indexing with a vector, linear indexing with a matrix, generic nonscalar indexing, and a disambiguation method. This is much easier to reason about, and fixes a handful of bugs. * : -> j 09 May 2018, 22:15:58 UTC
a0b1e98 fix #27005, list div operator in docs (#27006) 09 May 2018, 18:25:56 UTC
0db674d Make Broadcasted iterable and more indexable (#26987) Defines iteration and some related traits as well as a few functions to make indexing a bit friendlier. 09 May 2018, 17:58:06 UTC
04fe0f4 make -O1 a bit more useful by disabling more optimization passes (#27028) 09 May 2018, 17:52:14 UTC
b19337b Revert "enable the SLP Vectorizer optimization pass by default" This reverts commit 32bcf5d8e547ca57e02536aca4354316364db8bb. Temporary fix for #27032, a real fix is still needed 09 May 2018, 15:01:02 UTC
b81b118 remove duplicate LinearIndices docs (#27037) * remove duplicate LinearIndices docs * extend Base.LinearIndices * fix another module local function, preserve (Linear|Cartesian)Indices(::UnitRange{<:Integer}) 09 May 2018, 13:42:51 UTC
bbda1ab try to create T(NaN)//one(T) instead of zero(T)//zero(T) (#26823) (#26875) 09 May 2018, 12:54:59 UTC
980be60 fix spelling of instantiate 09 May 2018, 11:08:46 UTC
978d2e8 use smaller granularity in progressbar when testing 09 May 2018, 11:08:46 UTC
4ec7bb2 Download archives by tree hash instead of tag (#281) * Download archives by tree hash instead of tag Since we don't do any validation of the archives, downloading based on tag presents a potential security hole whereby a compromised repository retags a version. This should fix that by downloading the archive for the tree directly. Note that the documentation (https://developer.github.com/v3/repos/contents/#get-archive-link) says that it should be a valid git reference, but using hashes seems to work as well. * add note to method 09 May 2018, 11:08:46 UTC
6bd42a4 implement instantiate (#278) can be used to instantiate a manifest without going through the resolver also, show warning in status output about non downloaded packages 09 May 2018, 11:08:46 UTC
e0d5ea6 no longer collect dependencies from the registry for fixed packages (#273) 09 May 2018, 11:08:46 UTC
76a6362 fix some printing inconsistencies (#272) * fix some printing inconsistencies 09 May 2018, 11:08:46 UTC
24376f8 fix pin on repo added packages (#268) * fix pin on repo added packages * more pin free fixes 09 May 2018, 09:56:10 UTC
a221e91 fix that adding julia as a packag was possible (#267) 09 May 2018, 09:56:03 UTC
4c665b7 Deprecate linearindices in favor of LinearIndices (#26775) * Deprecate linearindices in favor of LinearIndices LinearIndices is strictly more powerful than linearindices: these two functions return arrays holding the same elements, but the former also preserves the shape and indices of the original array. Also improve docstrings. * Add efficient LinearIndices iteration * Work around invalidation and minor LinearIndices simplifications * Alternative fix using eachindex + adjust failing test * Fix accumulate/cumsum performance regression by adding getindex(::LinearIndices, ::AbstractRange) Plus two small fixes. 08 May 2018, 22:43:15 UTC
b19ba88 fix isvatuple to properly handle UnionAlls (#27018) * fix isvatuple to properly handle UnionAlls * add tests for #27018 08 May 2018, 15:17:50 UTC
024bfdb Improve docstrings for vec and reshape (#27027) * Improve docstrings for vec and reshape Document mutability behavior, add examples with ranges and fix a few issues. * "in which case" 08 May 2018, 14:00:55 UTC
12af2d3 Re-enable strict=true for doc generation (#26993) * fix the last remaining doc problems * re-enable strict=true for doc build, fix #25895 08 May 2018, 10:18:03 UTC
6a23130 Separate LibGit2.(count|map) from Base.(count|map) (#26973) * separate LibGit2.count from Base.count * separate LibGit2.map from Base.map 08 May 2018, 06:05:31 UTC
1feb505 Move scalar broadcast setindex_shape_check method to deprecated (#26967) * Remove unnecessary setindex_shape_check method * Ensure deprecation still works and fixup tests 07 May 2018, 21:45:56 UTC
49fc060 WIP: Relax restrictions on specsig for vararg 07 May 2018, 19:55:24 UTC
0c28685 ensure BINDIR is inferrable in __init__ (#26959) 07 May 2018, 19:00:12 UTC
9de318a Merge pull request #27016 from JuliaLang/vc/libxml2 explicitly disable xml2 in LLVM 07 May 2018, 18:03:35 UTC
8eb3dcc Merge pull request #26990 from JuliaLang/kf/yyc/codegen/alloc2 WIP: Rebase #24478 07 May 2018, 17:01:11 UTC
71f6bfe Merge pull request #26985 from JuliaLang/kf/simdloop [NewOptimizer] Make simdloop marker more robust 07 May 2018, 17:00:21 UTC
03b9505 explicitly disable xml2 in LLVM 07 May 2018, 13:04:07 UTC
989de79 Add examples for range() (#27012) * Add examples for range() In case I'm not the only one confused by the changes to `range()`, I'm trying to add a few examples here. 07 May 2018, 12:20:05 UTC
67bcb53 Profile: `callers` function does not have tests try to at least make it not completely broken, while we decide if someone will write tests to delete it 07 May 2018, 06:08:09 UTC
2618986 Profile: extend that speedy goodness to print(format = :flat) 07 May 2018, 05:57:09 UTC
f77e35e Profile: use a binary tree instead of Dict during tree construction hash(UInt64) is very slow, so this performs faster in practice 07 May 2018, 05:24:49 UTC
4c02a8c Profile: performance optimization for inlining chains Since Julia tends to use inlining heavily, this can have a major effect on performance by avoiding a significant percentage of Dict access calls 07 May 2018, 05:16:28 UTC
cb4f3f0 Profile: simplify code for making tree views reduce algorithmic complixity by using a Trie instead of a Dict, and reduce SLOC / complexity too 07 May 2018, 04:34:45 UTC
back to top