https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
d84d2ac wip 06 August 2019, 22:49:45 UTC
314e355 Use OpenLibm by default on armv7l (#32803) Use OpenLibm by default on armv7l 06 August 2019, 17:50:01 UTC
fca6d64 Use OpenLibm by default on armv7l 06 August 2019, 16:17:27 UTC
8aeb398 Revert "Document some exported Sys CPU stuff (#31204)" (#32808) Revert "Document some exported Sys CPU stuff (#31204)" 06 August 2019, 16:17:22 UTC
59ccc77 Revert "Document some exported Sys CPU stuff (#31204)" This reverts commit 7f2922eb0935e03ba702001c827167561d20e88a. 06 August 2019, 15:57:37 UTC
e891bca Merge pull request #30855 from NHDaly/Channel-constructors Add Channel{T}(f::Function) constructors. 06 August 2019, 10:28:01 UTC
7f2922e Document some exported Sys CPU stuff (#31204) 06 August 2019, 03:27:23 UTC
a288779 Allow nothing to be printed (#32148) 05 August 2019, 21:41:26 UTC
53beb34 fix some issues with abstract named tuple types (#32725) fixes #32697, fixes #32698 05 August 2019, 20:29:37 UTC
997ce45 specialise kron for sparse mat/vec and Diagonal -> sparse matrix (#32793) 05 August 2019, 17:11:43 UTC
8272763 internal: allow CodeInfo edges to be attached to MathodTable (#32779) 05 August 2019, 14:59:49 UTC
f928246 Enhance documentation for kron() (#28697) * Enhance documentation for kron() Due to column-major ordering, using kron() together with reshape() can produce counter-intuitive results. Document this to avoid unnecessary pain. * Remove trailing whitespace. * Simplify reshape(kron()) example Use two vectors instead of two matrices to illustrate the reshape(kron()) behavior. This also has the benefit of providing a vector example for kron(). * Remove subjective stuff, add outer-product example The relationship between the outer product, and the Kronecker product, of two vectors illustrates the argument-ordering differences due to vec/reshape and column-major storage. 05 August 2019, 13:46:04 UTC
c158ff2 fix #32777, regression in type intersection of unions (#32788) Fortunately, #32771 allows reverting the offending change. 05 August 2019, 04:30:48 UTC
b7e9493 Update col index to `j` in sparse docs (#32787) * fix fortran ccall example (#32784) * same update as PR #32769 05 August 2019, 00:19:28 UTC
4671ddc fix #32607, bug in typeintersect of `X{<:Tuple1}` vs. `X{Tuple2}` (#32771) 04 August 2019, 22:20:46 UTC
487ee95 fix fortran ccall example (#32784) 04 August 2019, 17:21:24 UTC
ca10039 Changed @generated body purity error (#32627) * Changed @generated body purity error * change error message in tests for nonpure generated function 04 August 2019, 00:27:13 UTC
140b70c Add some comments to domtree code (#32719) Co-Authored-By: Valentin Churavy <vchuravy@users.noreply.github.com> 03 August 2019, 23:29:20 UTC
d8b5118 codegen: ensure required attributes get set on all functions (#32772) It is especially important that we set the stack-alignment attribute on Win32 on cfunction entry. 03 August 2019, 17:05:55 UTC
b811a06 Merge pull request #32773 from JuliaLang/kf/32751 Fix missing GC root 03 August 2019, 15:29:13 UTC
d4f3176 Make a missing GC root slightly more obvious to the checker Finding the missing GC root is really hard for the checker. The correct error message is on the store to newargs, complaining that we are rooting a value that may have been GC'ed. However, `newargs` gets moved around and re-assigned all over that place in such a way that the analyzer has a hard time tracking it (I've seen it be successful if that function is cut down a bit, so it might also be a heuristics problem). By introducing a fake use that is easier for the analyzer to reason about, hopefully we can catch regressions to this particular (very hairy) part of the code in the future. 03 August 2019, 02:59:43 UTC
de324af Fix missing GC root This is fairly obviously a typo, but a bit of a nasty one, because it means that `value` will be unrooted over the next `fieldref` (or potentially the svec allocation in grow to). Fixes #32751 02 August 2019, 22:26:18 UTC
a0936f9 Support StepRange{T,U} where U is non-numeric (#32671) With thanks to @quinnj 02 August 2019, 20:51:03 UTC
62857f8 link numeric literal coefficients from math operations manual (#32757) 02 August 2019, 20:32:53 UTC
089cafc Fix pagetable1 sweeping on 32bit (#32741) If no pool allocations have occurred before the first GC (e.g. because MEMDEBUG was set), the pagetable1 that covers the entire (32bit) memory region on 32 bit machines may not have been initialized yet, while the corresponding sweep function was making the assumption that the passed in pagetable was non-null. Add the appropriate check for initialization. 02 August 2019, 16:30:21 UTC
1ad8178 Tasking for Emscripten/Wasm target (#32532) This is an implementation of Julia's coroutine/tasking system on top of the binaryen Asyncify transform [1] recently implemented by Alon Zakai. The wasm target is unusual in several ways: 1. It has an implicitly managed call stack that we may not modify directly (i.e. is only modified through calls/returns). 2. The event loop is inverted, in that the browser runs the main event loop and we get callbacks for events, rather than Julia being the main event loop. Asyncify takes care of the first problem by providing a mechanism to explicitly unwind and rewind the implicitly managed stack (essentially copying it to an explicitly managed stack - see the linked implementation for more information). For the second, I am currently using the ptls root_task to represent the browser event loop, i.e. yielding to that task will return control back to the browser and this is the task in which functions called by javascript will run unless they explicitly construct a task to run. As a result, julia code executed in the main task may not perform any blocking operations (though this is currently not enforced). I think this is a sensible setup since the main task will want to run some minor julia code (e.g. to introspect some data structures), but the bulk of the code will run in their own tasks (e.g. the REPL backend task). [1] https://github.com/WebAssembly/binaryen/blob/master/src/passes/Asyncify.cpp 02 August 2019, 16:16:42 UTC
86c2126 Merge branch 'jonnystorm-add-new-recvfrom-with-port' 02 August 2019, 14:44:25 UTC
0448a26 Change `Sockets.recvfrom` to return both host and port 02 August 2019, 14:43:53 UTC
a607f83 Merge pull request #31777 from nlw0/patch-1 Fixing IR dump code snippet in llvm.md 02 August 2019, 08:10:38 UTC
dc0bf52 fix #32703, bad ambiguity error (#32731) caused by 52838478aabe93120a0152ec5da733c9d8f0c39a 02 August 2019, 03:01:50 UTC
30b3636 fix test for sparse matrix assignment (#32756) 01 August 2019, 19:37:14 UTC
46c9a77 treat Pair as broadcast scalar (#32209) 01 August 2019, 18:35:00 UTC
4324531 Add docstest=only option to docs/make.jl (#32376) * Bump Documenter to 0.23.1 * Documenter now requires docstring doctests to have their own metadata in the corresponding module. Remove all the now redundant at-meta blocks from the standard library .md files and add the necessary module-level metadata in make.jl 01 August 2019, 17:11:06 UTC
eee51db Remove straggling "default to scalar" broadcast doc (#32750) 01 August 2019, 17:00:06 UTC
722a2e2 Made `_dump_function` parameter `debuginfo` optional and fixed IR dump example on llvm.md 01 August 2019, 13:12:05 UTC
e9a375a Fix #32514, add link to DimensionMismatch (#32745) 01 August 2019, 02:08:05 UTC
927f7d8 docstrings for dllist, dlpath (#32501) (#32507) 31 July 2019, 18:03:25 UTC
9d4e8ae Move `functionloc` to methodshow.jl and make it Revise-aware (#32708) A user question revealed that `@edit foo(arg)` is not Revise-aware for most editors. This PR changes that. The move to a new file is motivated by bootstrap issues. `functionloc` is not really reflection in the sense of the compiler, so this doesn't seem too inappropriate. 31 July 2019, 09:37:09 UTC
5aea456 Merge pull request #32734 from jpsamaroo/jps/wasm-addrspaces Add LLVM patches for WebAssembly 30 July 2019, 22:11:00 UTC
9b8fa75 synchronize news and history with 1.2 branch (#32740) 30 July 2019, 21:15:40 UTC
a4f17c1 Remove doubled "the the" on line 540 (#32735) Remove a typo doubling "the" on line 540 30 July 2019, 15:11:43 UTC
f563100 Add LLVM patches for WebAssembly 30 July 2019, 12:28:55 UTC
25eb8c6 Implement isdiag(::Bidiagonal), add tests (#32694) 30 July 2019, 07:16:53 UTC
442d159 Small fixes in LinearAlgebra documentation (#32714) * Small fixes in LinearAlgebra documentation * Fix doctests for eigen 28 July 2019, 18:28:27 UTC
a811842 Add compat note for mod(n, range), followup to #32628 (#32669) 28 July 2019, 15:54:46 UTC
89b8057 Merge pull request #32145 from yhls/yhls/fixrenaming fix bug in block renaming for dead code elimination 27 July 2019, 13:00:17 UTC
3829e8f fix bug in block renaming for dead code elimination 27 July 2019, 03:18:34 UTC
20ef262 Implement isdiag(::Tridiagonal), add related tests (#32692) 27 July 2019, 00:02:47 UTC
d0e11cf fix generic ldiv! for CholeskyPivoted (#32593) * fix generic ldiv! for CholeskyPivoted * add back one empty line to make backport easier * don't interfere with previous tests 26 July 2019, 23:45:36 UTC
16fdcf7 Add read file example for try (#32508) 26 July 2019, 23:24:45 UTC
abae4a8 add the sprand change to NEWS.md (#32695) 26 July 2019, 23:23:34 UTC
be74956 Merge pull request #32691 from JuliaLang/mbauman-patch-2 Add minor code formatting to GC docs 26 July 2019, 18:16:22 UTC
4155ea8 Tests for sppromote pass-throughs (#32679) 26 July 2019, 16:18:47 UTC
4ed302d Add minor code formatting to GC docs The `_`s here were rendering as italics. Simple fix. 26 July 2019, 14:49:42 UTC
472b0a7 `import` can operates on multiple names. (#32676) 26 July 2019, 14:00:04 UTC
8e66e89 Remove references to the doc"" string macro (#32409) 26 July 2019, 13:57:59 UTC
daa992a Remove unnecessary and slow Bidiagonal times Vector fallback (#32535) * remove fallback * removing other unnecessary fallbacks 26 July 2019, 13:08:43 UTC
8141750 Merge pull request #32674 from JuliaLang/vc/pure fix propagation of pure and const results 26 July 2019, 12:55:50 UTC
3e5ffb9 fix propagation of pure and const results 25 July 2019, 02:48:47 UTC
a8a567e [Statistics] fix type determination in corm (#32271) * [Statistics] fix type determination in corm * remove obsolete typeof * use first element(s) for type initialization * add test for inhomogeneous data and for overflow * fix test with NaN 24 July 2019, 21:15:19 UTC
e6a897e combine doc strings for `dot` (#32540) 24 July 2019, 20:09:47 UTC
2182389 mod(n, range) for integers (#32628) `mod` now accepts a unit range as the second argument to easily perform offset modular arithmetic to ensure the result is inside the range 24 July 2019, 12:43:38 UTC
9daaed6 add CartesianIndex() for Ref getindex and setindex! (#32653) * add CartesianIndex() for Ref getindex and setindex! * fix typo * add NEWS.md entry * move definitions later in the load sequence 23 July 2019, 21:44:52 UTC
6e4acaa Make UUIDs act as scalars when broadcasting (#32661) 23 July 2019, 20:48:57 UTC
f2513a8 Test for complex(SparseMatrixCSC) (#32657) 23 July 2019, 05:06:09 UTC
6c11e7c Set VERSION to 1.3.0-alpha (#32656) 23 July 2019, 01:46:17 UTC
3f53fb0 Two missing tests for SparseColumnView (#32654) 23 July 2019, 00:11:44 UTC
c86700d add experimental `@spawn` macro to Base.Threads (#32600) 22 July 2019, 21:02:32 UTC
684973e make collect interval thread-local only (#32633) This allows it to expand naturally with the number of threads, giving much better scalability in GC-heavy workloads. This way gc_init doesn't need to know nthreads. fixes #32472 22 July 2019, 19:30:43 UTC
ddd3f0f fix #32582, type intersection bug in unions (#32590) Caused by 4f8a7b965a98c307f48820c35ca98f9d754096a9; reverts part of that. 22 July 2019, 17:57:12 UTC
544123c deprecate Distributed `@spawn` to `@spawnat :any` (#32638) 22 July 2019, 17:40:57 UTC
17c174a fix #32626, allow parsing `'a'..'b'` (#32634) An error for this was added to fix #3348, but it seems there should be some exceptions. 22 July 2019, 14:40:35 UTC
617bd1d move definitions later in the load sequence 22 July 2019, 13:21:06 UTC
1113baa add NEWS.md entry 22 July 2019, 13:10:59 UTC
7b78b6f fix typo 22 July 2019, 13:05:54 UTC
02d9284 add CartesianIndex() for Ref getindex and setindex! 22 July 2019, 12:53:15 UTC
db1fc0a Check number of arguments passed to jl_svec* functions (#32643) When modifying Julia's builtin types, it's really easy to make mistakes here. Now the compiler will check for you. 22 July 2019, 01:18:29 UTC
5148d2f widen int16 task heap counters (#32644) These could easily overflow with large numbers of tasks. 21 July 2019, 20:12:11 UTC
d15fc9d Fix explanation for the product of BigInts in a vector (#32649) 21 July 2019, 19:21:26 UTC
c49ba0d RNG: rename get_local_rng => default_rng (#32641) 21 July 2019, 02:12:25 UTC
e25e1d4 fix compiler warning (fix #32640) (#32642) 21 July 2019, 02:07:22 UTC
6f4b6fb allow for newlines in splitdrive (#32543) 20 July 2019, 21:39:24 UTC
e1439a3 add rdiv! for Cholesky(Pivoted) (#32594) * add rdiv! for Cholesky(Pivoted) * also test L-branches 20 July 2019, 15:24:05 UTC
b9b099f fix #32620, crash when assigning to static parameter (#32623) 20 July 2019, 15:19:19 UTC
bb8fefb Avoid `typemax` checks for non-standard integers (#32631) 20 July 2019, 03:31:21 UTC
5c7ed66 Random,threads: allocate state at runtime for each thread (#32407) The `Random.GLOBAL_RNG` is now a singleton placeholder object which implements the prior `Random` public API for MersenneTwister as a shim to support existing clients until Julia v2.0. 19 July 2019, 21:28:01 UTC
79a5793 Clarify that MARCH should be set in Make.user (#32621) I know this make seem like a somewhat redundant documentation addition, but when building julia I was confused by this and thought I was supposed to set `MARCH` in `Make.inc`, not `Make.user` So I thought this may help others. 18 July 2019, 23:22:56 UTC
adbb1fe fix ast doc typo (#32619) 18 July 2019, 09:35:35 UTC
0a12944 Fix #32579 - Issue in typeconstraint accumulation (#32605) The bug here is a bit subtle, but perhaps best illustrated with the included test case: ``` function f32579(x::Int64, b::Bool) if b x = nothing end if isa(x, Int64) y = x else y = x end if isa(y, Nothing) z = y else z = y end return z === nothing end ``` The code just after SSA conversion looks like: ``` 2 1 ─ goto #3 if not _3 3 2 ─ %2 = Main.nothing::Core.Compiler.Const(nothing, false) 5 3 ┄ %3 = φ (#2 => %2, #1 => _2)::Union{Nothing, Int64} │ %4 = (%3 isa Main.Int64)::Bool └── goto #5 if not %4 6 4 ─ %6 = π (%3, Int64) └── goto #6 8 5 ─ %8 = π (%3, Nothing) 10 6 ┄ %9 = φ (#4 => %6, #5 => %8)::Union{Nothing, Int64} │ %10 = (%9 isa Main.Nothing)::Bool └── goto #8 if not %10 11 7 ─ %12 = π (%9, Nothing) └── goto #9 13 8 ─ %14 = π (%9, Int64) 15 9 ┄ %15 = φ (#7 => %12, #8 => %14)::Union{Nothing, Int64} │ %16 = (%15 === Main.nothing)::Bool └── return %16 ``` Now, we have special code in SROA (despite it not really being an SROA transform) that looks at `===` and replaces it by a nest of phis of booleans. The reasoning for this transform is that it eliminates a use of a value where we only care about the type and not the content, thus making it more likely that the value will subsequently be eligible for SROA. In addition, while it goes along resolving which values feed into any particular phi, it accumulates and type conditions it encounters along the way. Thus in the example above, something like the following happens: - We look at %14, which πs to %9 with an Int64 constraint, so we only consider the #4 predecessor for %9 (due to the constraint), until we get to %3, where we again only consider the #1 predecessor, where we find the argument (of type Int64) and conclude the result is always false - Now we pop the next item of the stack from our original phi, look at %12, which πs to %9 with a Nothing constraint. At this point we used to terminate the search because we already looked at %9. However, crucially, we looked at %9 only with an Int64 constraint, so we missed the fact that `nothing` was in fact a possible value for this phi. The result was a missing entry in the generated phi node: ``` 1 ─ goto #3 if not b 2 ─ %2 = Main.nothing::Core.Compiler.Const(nothing, false) 3 ┄ %3 = φ (#1 => false)::Bool │ %4 = φ (#2 => %2, #1 => _2)::Union{Nothing, Int64} │ %5 = (%4 isa Main.Int64)::Bool └── goto #5 if not %5 4 ─ %7 = π (%4, Int64) └── goto #6 5 ─ %9 = π (%4, Nothing) 6 ┄ %10 = φ (#4 => %3, #5 => %3)::Bool │ %11 = φ (#4 => %7, #5 => %9)::Union{Nothing, Int64} │ %12 = (%11 isa Main.Nothing)::Bool └── goto #8 if not %12 7 ─ goto #9 8 ─ nothing::Nothing 9 ┄ %16 = φ (#7 => %10, #8 => %10)::Bool └── return %16 ``` (note the missing #2 predecessor in phi node %3), which would result in an undefined value at runtime, though in this case LLVM would have taken advantage of that to just return 0: ``` define i8 @julia_f32579_16051(i64, i8) { top: ; @ REPL[1]:15 within `f32579' ret i8 0 } ``` Compare this now to the optimized IR with this patch: ``` 1 ─ goto #3 if not b 2 ─ %2 = Main.nothing::Core.Compiler.Const(nothing, false) 3 ┄ %3 = φ (#2 => true, #1 => false)::Bool │ %4 = φ (#2 => %2, #1 => _2)::Union{Nothing, Int64} │ %5 = (%4 isa Main.Int64)::Bool └── goto #5 if not %5 4 ─ %7 = π (%4, Int64) └── goto #6 5 ─ %9 = π (%4, Nothing) 6 ┄ %10 = φ (#4 => %3, #5 => %3)::Bool │ %11 = φ (#4 => %7, #5 => %9)::Union{Nothing, Int64} │ %12 = (%11 isa Main.Nothing)::Bool └── goto #8 if not %12 7 ─ goto #9 8 ─ nothing::Nothing 9 ┄ %16 = φ (#7 => %10, #8 => %10)::Bool └── return %16 ``` The %3 phi node has its missing entry and the generated LLVM code correctly returns `b`: ``` define i8 @julia_f32579_16112(i64, i8) { top: %2 = and i8 %1, 1 ; @ REPL[1]:15 within `f32579' ret i8 %2 } ``` 17 July 2019, 18:36:52 UTC
261e2b9 make `IOStream` thread-safe (#32421) 17 July 2019, 16:33:21 UTC
29c08a7 fix #22298, race condition setting compiled function pointers (#32604) Should also fix e.g. the failure in https://build.julialang.org/#/builders/22/builds/3876 17 July 2019, 01:53:40 UTC
b4a358b Drop extra word (#32598) [skip ci] 16 July 2019, 23:49:38 UTC
80361a7 fix #32575, channel trying to switch to task on another thread (#32584) 16 July 2019, 20:18:50 UTC
9b987cc Fix size of buffer passed to GetModuleFileNameW. (#32596) 16 July 2019, 20:06:32 UTC
dfc645c avoid finalizing LLVMContext on exit (#32588) This avoids a possible crash if another thread is trying to compile something. 16 July 2019, 18:09:38 UTC
f578ada adjust some gc heuristics (#32556) - trigger a full collection if live size grows a lot and stays there - use a larger minor collect interval based on live_bytes helps #32472 and #28986 16 July 2019, 03:26:09 UTC
5366148 threads: fix scheduler variable confusion (#32551) gotta keep system vs runtime and global vs local straight! fix #32511 16 July 2019, 03:09:54 UTC
ba03920 Merge pull request #32518 from JuliaLang/vc/nvptx_no_patches [LLVM8] Prepare debuginfo emission for NVPTX 15 July 2019, 22:44:54 UTC
cb37580 fix the docstring of min_enabled_level (#32573) 15 July 2019, 15:41:24 UTC
fe9de99 Stop detaching process for precompiling modules. (#32384) This means that interrupting the precompilation (ctrl-c) or killing Julia will kill the process that is doing the precompilation. This is useful because currently, interrupting julia while it is precompiling a module will leave that precompilation running in the background. For large packages that take a long time to precompile, this can be frustrating, especially because the user most likely interrupted the precompilation because they _didn't_ want it to happen (e.g. maybe they realized they forgot to change something in the code). 15 July 2019, 05:14:09 UTC
back to top