d84d2ac | Jeff Bezanson | 06 August 2019, 22:49:45 UTC | wip | 06 August 2019, 22:49:45 UTC |
314e355 | Elliot Saba | 06 August 2019, 17:50:01 UTC | Use OpenLibm by default on armv7l (#32803) Use OpenLibm by default on armv7l | 06 August 2019, 17:50:01 UTC |
fca6d64 | Elliot Saba | 06 August 2019, 14:38:35 UTC | Use OpenLibm by default on armv7l | 06 August 2019, 16:17:27 UTC |
8aeb398 | Elliot Saba | 06 August 2019, 16:17:22 UTC | 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 | Elliot Saba | 06 August 2019, 15:57:37 UTC | Revert "Document some exported Sys CPU stuff (#31204)" This reverts commit 7f2922eb0935e03ba702001c827167561d20e88a. | 06 August 2019, 15:57:37 UTC |
e891bca | Valentin Churavy | 06 August 2019, 10:28:01 UTC | Merge pull request #30855 from NHDaly/Channel-constructors Add Channel{T}(f::Function) constructors. | 06 August 2019, 10:28:01 UTC |
7f2922e | Katharine Hyatt | 06 August 2019, 03:27:23 UTC | Document some exported Sys CPU stuff (#31204) | 06 August 2019, 03:27:23 UTC |
a288779 | Lyndon White | 05 August 2019, 21:41:26 UTC | Allow nothing to be printed (#32148) | 05 August 2019, 21:41:26 UTC |
53beb34 | Jeff Bezanson | 05 August 2019, 20:29:37 UTC | fix some issues with abstract named tuple types (#32725) fixes #32697, fixes #32698 | 05 August 2019, 20:29:37 UTC |
997ce45 | Hendrik Ranocha | 05 August 2019, 17:11:43 UTC | specialise kron for sparse mat/vec and Diagonal -> sparse matrix (#32793) | 05 August 2019, 17:11:43 UTC |
8272763 | Lyndon White | 05 August 2019, 14:59:49 UTC | internal: allow CodeInfo edges to be attached to MathodTable (#32779) | 05 August 2019, 14:59:49 UTC |
f928246 | Ashley Milsted | 05 August 2019, 13:46:04 UTC | 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 | Jeff Bezanson | 05 August 2019, 04:30:48 UTC | fix #32777, regression in type intersection of unions (#32788) Fortunately, #32771 allows reverting the offending change. | 05 August 2019, 04:30:48 UTC |
b7e9493 | Mark | 05 August 2019, 00:19:28 UTC | 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 | Jeff Bezanson | 04 August 2019, 22:20:46 UTC | fix #32607, bug in typeintersect of `X{<:Tuple1}` vs. `X{Tuple2}` (#32771) | 04 August 2019, 22:20:46 UTC |
487ee95 | Valentin Churavy | 04 August 2019, 17:21:24 UTC | fix fortran ccall example (#32784) | 04 August 2019, 17:21:24 UTC |
ca10039 | Lyndon White | 04 August 2019, 00:27:13 UTC | 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 | Lyndon White | 03 August 2019, 23:29:20 UTC | 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 | Jeff Bezanson | 03 August 2019, 17:05:55 UTC | 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 | Keno Fischer | 03 August 2019, 15:29:13 UTC | Merge pull request #32773 from JuliaLang/kf/32751 Fix missing GC root | 03 August 2019, 15:29:13 UTC |
d4f3176 | Keno Fischer | 02 August 2019, 22:19:17 UTC | 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 | Keno Fischer | 02 August 2019, 22:24:47 UTC | 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 | Colin Caine | 02 August 2019, 20:51:04 UTC | Support StepRange{T,U} where U is non-numeric (#32671) With thanks to @quinnj | 02 August 2019, 20:51:03 UTC |
62857f8 | Steven G. Johnson | 02 August 2019, 20:32:53 UTC | link numeric literal coefficients from math operations manual (#32757) | 02 August 2019, 20:32:53 UTC |
089cafc | Keno Fischer | 02 August 2019, 16:30:21 UTC | 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 | Keno Fischer | 02 August 2019, 16:16:42 UTC | 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 | Jeff Bezanson | 02 August 2019, 14:44:25 UTC | Merge branch 'jonnystorm-add-new-recvfrom-with-port' | 02 August 2019, 14:44:25 UTC |
0448a26 | Jonathan D. Storm | 27 July 2019, 03:57:12 UTC | Change `Sockets.recvfrom` to return both host and port | 02 August 2019, 14:43:53 UTC |
a607f83 | Valentin Churavy | 02 August 2019, 08:10:38 UTC | Merge pull request #31777 from nlw0/patch-1 Fixing IR dump code snippet in llvm.md | 02 August 2019, 08:10:38 UTC |
dc0bf52 | Jeff Bezanson | 02 August 2019, 03:01:50 UTC | fix #32703, bad ambiguity error (#32731) caused by 52838478aabe93120a0152ec5da733c9d8f0c39a | 02 August 2019, 03:01:50 UTC |
30b3636 | Daniel Karrasch | 01 August 2019, 19:37:14 UTC | fix test for sparse matrix assignment (#32756) | 01 August 2019, 19:37:14 UTC |
46c9a77 | Steven G. Johnson | 01 August 2019, 18:35:00 UTC | treat Pair as broadcast scalar (#32209) | 01 August 2019, 18:35:00 UTC |
4324531 | Morten Piibeleht | 01 August 2019, 17:11:06 UTC | 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 | Matt Bauman | 01 August 2019, 17:00:06 UTC | Remove straggling "default to scalar" broadcast doc (#32750) | 01 August 2019, 17:00:06 UTC |
722a2e2 | Nicolau Werneck | 20 April 2019, 00:09:56 UTC | Made `_dump_function` parameter `debuginfo` optional and fixed IR dump example on llvm.md | 01 August 2019, 13:12:05 UTC |
e9a375a | Xiang Liu | 01 August 2019, 02:08:05 UTC | Fix #32514, add link to DimensionMismatch (#32745) | 01 August 2019, 02:08:05 UTC |
927f7d8 | Christian Peel | 31 July 2019, 18:03:25 UTC | docstrings for dllist, dlpath (#32501) (#32507) | 31 July 2019, 18:03:25 UTC |
9d4e8ae | Tim Holy | 31 July 2019, 09:37:09 UTC | 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 | Valentin Churavy | 30 July 2019, 22:11:00 UTC | Merge pull request #32734 from jpsamaroo/jps/wasm-addrspaces Add LLVM patches for WebAssembly | 30 July 2019, 22:11:00 UTC |
9b8fa75 | Jeff Bezanson | 30 July 2019, 21:15:40 UTC | synchronize news and history with 1.2 branch (#32740) | 30 July 2019, 21:15:40 UTC |
a4f17c1 | Angelo Klin | 30 July 2019, 15:11:43 UTC | Remove doubled "the the" on line 540 (#32735) Remove a typo doubling "the" on line 540 | 30 July 2019, 15:11:43 UTC |
f563100 | Julian P Samaroo | 13 May 2019, 05:00:00 UTC | Add LLVM patches for WebAssembly | 30 July 2019, 12:28:55 UTC |
25eb8c6 | Jim Garrison | 30 July 2019, 07:16:53 UTC | Implement isdiag(::Bidiagonal), add tests (#32694) | 30 July 2019, 07:16:53 UTC |
442d159 | Sebastian Stock | 28 July 2019, 18:28:27 UTC | Small fixes in LinearAlgebra documentation (#32714) * Small fixes in LinearAlgebra documentation * Fix doctests for eigen | 28 July 2019, 18:28:27 UTC |
a811842 | Matt Bauman | 28 July 2019, 15:54:46 UTC | Add compat note for mod(n, range), followup to #32628 (#32669) | 28 July 2019, 15:54:46 UTC |
89b8057 | Valentin Churavy | 27 July 2019, 13:00:17 UTC | 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 | Leon Shen | 25 May 2019, 16:10:55 UTC | fix bug in block renaming for dead code elimination | 27 July 2019, 03:18:34 UTC |
20ef262 | Jim Garrison | 27 July 2019, 00:02:47 UTC | Implement isdiag(::Tridiagonal), add related tests (#32692) | 27 July 2019, 00:02:47 UTC |
d0e11cf | Daniel Karrasch | 26 July 2019, 23:45:36 UTC | 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 | Jerry Ling | 26 July 2019, 23:24:45 UTC | Add read file example for try (#32508) | 26 July 2019, 23:24:45 UTC |
abae4a8 | Alfredo Braunstein | 26 July 2019, 23:23:34 UTC | add the sprand change to NEWS.md (#32695) | 26 July 2019, 23:23:34 UTC |
be74956 | Katharine Hyatt | 26 July 2019, 18:16:22 UTC | Merge pull request #32691 from JuliaLang/mbauman-patch-2 Add minor code formatting to GC docs | 26 July 2019, 18:16:22 UTC |
4155ea8 | Katharine Hyatt | 26 July 2019, 16:18:47 UTC | Tests for sppromote pass-throughs (#32679) | 26 July 2019, 16:18:47 UTC |
4ed302d | Matt Bauman | 26 July 2019, 14:49:42 UTC | Add minor code formatting to GC docs The `_`s here were rendering as italics. Simple fix. | 26 July 2019, 14:49:42 UTC |
472b0a7 | 六月初六 | 26 July 2019, 14:00:04 UTC | `import` can operates on multiple names. (#32676) | 26 July 2019, 14:00:04 UTC |
8e66e89 | Morten Piibeleht | 26 July 2019, 13:57:59 UTC | Remove references to the doc"" string macro (#32409) | 26 July 2019, 13:57:59 UTC |
daa992a | Marco | 26 July 2019, 13:08:43 UTC | Remove unnecessary and slow Bidiagonal times Vector fallback (#32535) * remove fallback * removing other unnecessary fallbacks | 26 July 2019, 13:08:43 UTC |
8141750 | Valentin Churavy | 26 July 2019, 12:55:50 UTC | Merge pull request #32674 from JuliaLang/vc/pure fix propagation of pure and const results | 26 July 2019, 12:55:50 UTC |
3e5ffb9 | Valentin Churavy | 24 July 2019, 19:06:28 UTC | fix propagation of pure and const results | 25 July 2019, 02:48:47 UTC |
a8a567e | Daniel Karrasch | 24 July 2019, 21:15:19 UTC | [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 | Jeff Bezanson | 24 July 2019, 20:09:47 UTC | combine doc strings for `dot` (#32540) | 24 July 2019, 20:09:47 UTC |
2182389 | Michael Abbott | 24 July 2019, 12:43:38 UTC | 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 | Matt Bauman | 23 July 2019, 21:44:52 UTC | 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 | Kevin Squire | 23 July 2019, 20:48:57 UTC | Make UUIDs act as scalars when broadcasting (#32661) | 23 July 2019, 20:48:57 UTC |
f2513a8 | Katharine Hyatt | 23 July 2019, 05:06:09 UTC | Test for complex(SparseMatrixCSC) (#32657) | 23 July 2019, 05:06:09 UTC |
6c11e7c | Alex Arslan | 23 July 2019, 01:46:17 UTC | Set VERSION to 1.3.0-alpha (#32656) | 23 July 2019, 01:46:17 UTC |
3f53fb0 | Katharine Hyatt | 23 July 2019, 00:11:44 UTC | Two missing tests for SparseColumnView (#32654) | 23 July 2019, 00:11:44 UTC |
c86700d | Jeff Bezanson | 22 July 2019, 21:02:32 UTC | add experimental `@spawn` macro to Base.Threads (#32600) | 22 July 2019, 21:02:32 UTC |
684973e | Jeff Bezanson | 22 July 2019, 19:30:43 UTC | 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 | Jeff Bezanson | 22 July 2019, 17:57:12 UTC | fix #32582, type intersection bug in unions (#32590) Caused by 4f8a7b965a98c307f48820c35ca98f9d754096a9; reverts part of that. | 22 July 2019, 17:57:12 UTC |
544123c | Jeff Bezanson | 22 July 2019, 17:40:57 UTC | deprecate Distributed `@spawn` to `@spawnat :any` (#32638) | 22 July 2019, 17:40:57 UTC |
17c174a | Jeff Bezanson | 22 July 2019, 14:40:35 UTC | 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 | Bogumił Kamiński | 22 July 2019, 13:21:06 UTC | move definitions later in the load sequence | 22 July 2019, 13:21:06 UTC |
1113baa | Bogumił Kamiński | 22 July 2019, 13:10:59 UTC | add NEWS.md entry | 22 July 2019, 13:10:59 UTC |
7b78b6f | Bogumił Kamiński | 22 July 2019, 13:05:54 UTC | fix typo | 22 July 2019, 13:05:54 UTC |
02d9284 | Bogumił Kamiński | 22 July 2019, 12:53:15 UTC | add CartesianIndex() for Ref getindex and setindex! | 22 July 2019, 12:53:15 UTC |
db1fc0a | Keno Fischer | 22 July 2019, 01:18:29 UTC | 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 | Jeff Bezanson | 21 July 2019, 20:12:11 UTC | widen int16 task heap counters (#32644) These could easily overflow with large numbers of tasks. | 21 July 2019, 20:12:11 UTC |
d15fc9d | Gilles Peiffer | 21 July 2019, 19:21:26 UTC | Fix explanation for the product of BigInts in a vector (#32649) | 21 July 2019, 19:21:26 UTC |
c49ba0d | Stefan Karpinski | 21 July 2019, 02:12:25 UTC | RNG: rename get_local_rng => default_rng (#32641) | 21 July 2019, 02:12:25 UTC |
e25e1d4 | Stefan Karpinski | 21 July 2019, 02:07:22 UTC | fix compiler warning (fix #32640) (#32642) | 21 July 2019, 02:07:22 UTC |
6f4b6fb | ZacNugent | 20 July 2019, 21:39:24 UTC | allow for newlines in splitdrive (#32543) | 20 July 2019, 21:39:24 UTC |
e1439a3 | Daniel Karrasch | 20 July 2019, 15:24:05 UTC | add rdiv! for Cholesky(Pivoted) (#32594) * add rdiv! for Cholesky(Pivoted) * also test L-branches | 20 July 2019, 15:24:05 UTC |
b9b099f | Jeff Bezanson | 20 July 2019, 15:19:19 UTC | fix #32620, crash when assigning to static parameter (#32623) | 20 July 2019, 15:19:19 UTC |
bb8fefb | Alexander Seiler | 20 July 2019, 03:31:21 UTC | Avoid `typemax` checks for non-standard integers (#32631) | 20 July 2019, 03:31:21 UTC |
5c7ed66 | Jameson Nash | 19 July 2019, 21:28:01 UTC | 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 | Mason Protter | 18 July 2019, 23:22:56 UTC | 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 | Jerry Ling | 18 July 2019, 09:35:35 UTC | fix ast doc typo (#32619) | 18 July 2019, 09:35:35 UTC |
0a12944 | Keno Fischer | 17 July 2019, 18:36:52 UTC | 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 | Jeff Bezanson | 17 July 2019, 16:33:21 UTC | make `IOStream` thread-safe (#32421) | 17 July 2019, 16:33:21 UTC |
29c08a7 | Jeff Bezanson | 17 July 2019, 01:53:40 UTC | 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 | Páll Haraldsson | 16 July 2019, 23:49:38 UTC | Drop extra word (#32598) [skip ci] | 16 July 2019, 23:49:38 UTC |
80361a7 | Jeff Bezanson | 16 July 2019, 20:18:50 UTC | fix #32575, channel trying to switch to task on another thread (#32584) | 16 July 2019, 20:18:50 UTC |
9b987cc | Gunnar Farnebäck | 16 July 2019, 20:06:32 UTC | Fix size of buffer passed to GetModuleFileNameW. (#32596) | 16 July 2019, 20:06:32 UTC |
dfc645c | Jeff Bezanson | 16 July 2019, 18:09:38 UTC | 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 | Jeff Bezanson | 16 July 2019, 03:26:09 UTC | 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 | Jameson Nash | 16 July 2019, 03:09:54 UTC | 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 | Valentin Churavy | 15 July 2019, 22:44:54 UTC | Merge pull request #32518 from JuliaLang/vc/nvptx_no_patches [LLVM8] Prepare debuginfo emission for NVPTX | 15 July 2019, 22:44:54 UTC |
cb37580 | Kenta Sato | 15 July 2019, 15:41:24 UTC | fix the docstring of min_enabled_level (#32573) | 15 July 2019, 15:41:24 UTC |
fe9de99 | Nathan Daly | 15 July 2019, 05:14:09 UTC | 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 |