https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
b4bb652 Most of test/channels.jl runs. 17 May 2018, 23:54:04 UTC
3de3a30 Support for exceptions. Still WiP. 17 May 2018, 22:11:27 UTC
e597302 Small correction to type creation. 17 May 2018, 15:43:48 UTC
082e179 WiP: debugging test run of channels.jl 16 May 2018, 23:09:28 UTC
b6997f6 Some more fixes. It runs! Mostly... 16 May 2018, 20:52:29 UTC
427cca5 Fix yield from libuv callback (causes segfault) 15 May 2018, 22:05:38 UTC
ee488db Condition no longer has a waitq 15 May 2018, 16:03:12 UTC
c0bbef6 schedule() should return the task REPL prompt appears! 15 May 2018, 16:03:12 UTC
1feb440 More GC related fixes 15 May 2018, 16:03:12 UTC
c17a116 More GC related fixes 15 May 2018, 16:03:11 UTC
640aca0 Mark (for GC) tasks in scheduler queues 15 May 2018, 16:03:11 UTC
d566c0c Fix some warnings. 15 May 2018, 16:03:11 UTC
1674631 Initialize sticky queue locks 15 May 2018, 16:03:11 UTC
1b64cd5 Fix segfault at task invocation 15 May 2018, 16:03:11 UTC
c2e9cbf More review comments addressed; now builds 15 May 2018, 16:03:11 UTC
8a9aafe Partr fields exist only when partr is enabled 15 May 2018, 16:03:11 UTC
9c72576 More review comments addressed. 15 May 2018, 16:03:11 UTC
dc0e812 have only one entry for task creation 15 May 2018, 16:03:11 UTC
20cf22a [partr] gc_debug 15 May 2018, 16:03:10 UTC
fda7f23 Some PR review comments addressed. 15 May 2018, 16:03:10 UTC
9c090fa Fixes for `Task` and `Condition` definitions Reorder `jl_task_t` to move all Julia object references to the beginning. Add some write barriers. More fields of the task structure are declared in the task type. 15 May 2018, 16:03:10 UTC
bc1ddc9 Integrating partr in progress Added partr code. Abstracted interface to threading infrastructure. Almost complete. Julia side in progress (task.jl, event.jl, channels.jl, etc.?). Successfully builds basecompiler, but fails on building the system image. 15 May 2018, 16:03:10 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
74af878 [NewOptimizer] Port #26826 to new optimizer (#26981) * fix InferenceResult cache lookup for new optimizer * utilize cached vararg type info in new inlining pass * fix test to work with new optimizer * fix predicate for exploiting cached varargs type info * atypes no longer needs to be modified to match cached types * don't require varargs to be in last position to exploit cached type info * restore missing isva boolean 06 May 2018, 22:14:08 UTC
56d7ebe Make simdloop marker more robust Previously the simdloop marker was metadata on a random add instruction in the loop. This is problematic if that add instruction gets moved around or folded by an earlier optimization pass. Switching to using an explicit marker instruction. Eventually we should do something different here to address #26976. This just makes it more robust to make sure it keeps working with the new optimizer. 06 May 2018, 21:59:44 UTC
243c233 Add LLVM patch to fix getLoopID Turns out getLoopID doesn't always get what setLoopID set. I submitted a patch upstream to fix that. This carries that patch. 06 May 2018, 21:46:18 UTC
back to top