https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
9b07a19 MurmerHash: avoid undef-behavior in C This pointer is not necessarily properly aligned, making this undefined behavior. All modern compilers should optimize this to the proper sequence for unaligned access. (confirmed with objdump that Apple LLVM version 9.0.0 (clang-900.0.38)) gives exactly the same asm for hashing.o as before) fix #26512 19 March 2018, 17:04:03 UTC
8812682 Merge pull request #26514 from JuliaLang/kf/invalidageupdate Fix incorrect world age range expansion 19 March 2018, 14:16:08 UTC
9a55c8f Add deprecations for equalto and occursin (#26480) Also deprecate the unexported EqualTo and OccursIn aliases (which were previously types before 26436). 19 March 2018, 03:59:05 UTC
90a2162 Fix incorrect world age range expansion This is a bit of a tricky one, so let me start at the beginning. In PR #25506, I pushed my WIP of a new inlining passes. However, one of the things it temporarily doesn't do is turn call sites to :invoke, causing significantly more jl_apply_generic calls to be codegened. On CI for that PR (as well as locally), we non-deterministically see errors like: ``` LoadError("sysimg.jl", 213, KeyError(LibGit2 [76f85450-5226-5b5a-8eaa-529ad045b433])) ``` Some investigation revealed that what happened here is that a `PkgId` got placed in a dictionary, but was later failed to be retrieved because its hash had supposedly changes. Further investigation reveals that while the hash function used to place the item in the dictionary was `hash(x::Union{String,SubString{String}}, h::UInt64)` in hashing2.jl, the hash function being used to retrieve it is `hash(@nospecialize(x), h::UInt64)` in hashing.jl. The former is loaded later than the latter and should thus invalidate all specializations of the latter, making them ineligible for selection by jl_apply_generic. However, looking at the appropriate age ranges showed that `typeof(hash).name.mt.cache` had entries for both hash functions with overlapping age ranges (which is obviously incorrect). Tracking age range updates, it turns out the world age range for the specialization of `hash(@nospecialize(x), h::UInt64)` was expanded by invalidate_backedges called upon the definition of a hash function inside `LibGit2`. This seems wrong. I believe invalidate_backedges should only ever truncate world age ranges rather than expanding them. This patch simply does that. The non-determinism of the original issue appears to have to do with which of the specializations happen to be in the `jl_lookup_generic_` `call_cache` fast-path. This issue is fairly hard to reproduce because it requires a very specific confluence of circumstances. Since the range of the captured specialization only gets extended to before the min_world age of the new definition, it is never visible in the latest world (e.g. at the REPL). The included test case demonstrates the issue by capturing the world age with a task. Commenting out the `f(x::Float64)` definition makes the test pass, because it is that definition that causes the expansion of the original specialization of `f`. 19 March 2018, 03:16:55 UTC
cb5fee8 remove unused Lisp procedures (#26510) 19 March 2018, 02:54:24 UTC
ed37984 Merge pull request #26500 from JuliaLang/aa/revert-remove-repackage Revert "Remove repackaging SuiteSparse script. It is no longer needed." 18 March 2018, 19:34:54 UTC
dc67f12 Merge pull request #26491 from bicycle1885/mod-name prohibit reserved-word module names 18 March 2018, 18:08:42 UTC
57cbdf9 make the REPL start faster (#26502) 18 March 2018, 09:35:53 UTC
86c9d9c Merge pull request #26420 from JuliaLang/kf/heapsroa WIP: [NewOptimizer] Get to feature parity 18 March 2018, 08:32:12 UTC
fb292c1 Fix the last couple test failures 18 March 2018, 04:41:33 UTC
1fbdd0d more documentation linking `Dict`, `==`, and `hash` (#26498) 17 March 2018, 22:55:24 UTC
69ee505 Merge pull request #26489 from JuliaLang/kc/bump_pkg3_2 Update Pkg3 17 March 2018, 20:45:13 UTC
4d9c4a9 set user for generate in test 17 March 2018, 18:44:49 UTC
a81c5b7 improve building for project (#210) (cherry picked from commit ef37aa7d4f68e47f74346da40daa671528385755) 17 March 2018, 18:44:49 UTC
7b27ae0 fix using relative paths w.r.t the project file (cherry picked from commit 799d49741cd5ab0edc28185a4fed82eb0f974b58) 17 March 2018, 18:44:49 UTC
f4cf681 update precompile 17 March 2018, 18:44:46 UTC
7dfa6ec additional tests for take/drop iterators (#12029) test that take and drop arguments are nonnegative 17 March 2018, 03:02:30 UTC
21058ef Revert "Remove repackaging SuiteSparse script. It is no longer needed." This reverts commit 1b099846879a02cd4c9884f33f690e6813f1415f. This script is used by Travis. 16 March 2018, 23:59:46 UTC
d3fc586 [NewOptimizer] Do proper liveness analysis before idf 16 March 2018, 23:48:58 UTC
464f29f Put a bandaid over sroa in loops The full solution requires the liveness analysis in idf I've been punting on so far. 16 March 2018, 23:48:58 UTC
87927b9 [NewOptimizer] Teach getfield elim about ccall preserves The old optimizer knows how to decay preserves of a mutable struct that is eligible for alloc elimination to its constituent parts. Teach the new optimizer the same. Fixes the remaining codegen tests. 16 March 2018, 23:48:58 UTC
8af40ea [NewOptimizer] Perform getfield elim for mutable structs The algorithm works essentially the same as SSA renaming and reuses idf. 16 March 2018, 23:48:58 UTC
cf65ee1 Fix SparseVector broadcasting oddities (#26474) * Fix SparseVector broadcasting oddities Lots of SparseVector oddities fixed here, all by deleting code. Previous behaviors that are now fixed include: ```julia julia> spzeros(5) .* [1] ERROR: DimensionMismatch("") Stacktrace: [1] _binarymap(::typeof(*), ::SparseVector{Float64,Int64}, ::Array{Int64,1}, ::Int64) at /home/mbauman/julia-wip3/usr/share/julia/site/v0.7/SparseArrays/src/sparsevector.jl:1325 [2] _vmul at /home/mbauman/julia-wip3/usr/share/julia/site/v0.7/SparseArrays/src/sparsevector.jl:1369 [inlined] [3] broadcast(::typeof(*), ::SparseVector{Float64,Int64}, ::Array{Int64,1}) at /home/mbauman/julia-wip3/usr/share/julia/site/v0.7/SparseArrays/src/sparsevector.jl:1388 [4] top-level scope julia> spzeros(5) .* ones(5) 5-element Array{Float64,1}: 0.0 0.0 0.0 0.0 0.0 julia> spzeros(5) .* ones(5) .* 1 # this is as expected 5-element SparseVector{Float64,Int64} with 0 stored entries ``` Those all now behave as you'd expect, returning a SparseVector in all cases. * Remove debugging code [ci skip] 16 March 2018, 20:45:04 UTC
83b0231 Remove kludgy VectorStyle and MatrixStyle (#26430) * Remove kludgy VectorStyle and MatrixStyle These broadcast styles were introduced in response to https://github.com/JuliaLang/julia/pull/23939#discussion_r147042741 as a way to limit the "greediness" of Sparse's broadcasting implementation -- sparse only wanted to allow known combinations of array types (including Array but not any AbstractArray). The idea was to allow us to gradually improve the sparse broadcast implementation over 1.x in a non-breaking manner. Unfortunately, these special styles for Array make defining new styles in the heirarchy a bit of a pain (ref. https://github.com/JuliaLang/julia/pull/23939#discussion_r155953830), and it was making my life harder in getting the 1.0 breaking changes in. This commit removes these special broadcast styles in favor of just having Sparse identify the cases itself and re-dispatch back into the default implementation in the cases it doesn't know how to handle. * Add a graceful deprecation 16 March 2018, 17:54:04 UTC
569981a Merge pull request #26481 from JuliaLang/mb/showsocketerror Fix display of Sockets.DNSError 16 March 2018, 17:22:26 UTC
1b09984 Remove repackaging SuiteSparse script. It is no longer needed. As per #26432. 16 March 2018, 16:41:33 UTC
71cb0dc Remove mention of Intel compilers. (#26432) Add a clear message against using SYSTEM versions of libraries. Remove the SuiteSparse section, which was mainly for old versions of SuiteSparse. We also do not encourage folks to use SYSTEM SuiteSparse. Add a word of caution about SYSTEM flags to the README. 16 March 2018, 16:34:40 UTC
41f70ed prohibit reserved-word module names 16 March 2018, 15:32:57 UTC
8fe827c testing/building projects (#209) (cherry picked from commit 23af62a65487f626c7e5585d0fb4dfe7c4c9ce67) 16 March 2018, 14:22:35 UTC
d29de40 Autocomplete (#205) * autocompletion for pkg3 commands and options (cherry picked from commit fd0c9ed49c038728efe6c8d7dac7cc49641f5ea5) * completions for installed packages (cherry picked from commit e1260764a67d7d1991c7200e54b5d5b82983ca9a) * remote completions, sorting * add tests for autocomplete * respect -m/-p when completing * test applying completions * add some more tests (cherry picked from commit 8d3269c64cdfbaff5c86e228e731cfd4a987ff94) 16 March 2018, 14:05:31 UTC
540a8c5 fix typo in header when printing manifest status (cherry picked from commit 19af2115037ff936666d9dd2e7940263c2c88c99) 16 March 2018, 14:05:29 UTC
73b5483 make clear that `tree` is an external command (cherry picked from commit d86e683ba7dc74c56b5ceee840a5f07b2d7c8a46) 16 March 2018, 14:04:36 UTC
ed0e5a4 fix bug when testing packages with test-specific dependencies (cherry picked from commit 572560bdb8bf2e72d580aa8c2c5a146b0bd0e9c0) 16 March 2018, 14:04:36 UTC
18f6129 fix and test bug when project is a git repo (cherry picked from commit bb3e8a3b3dbb00aad2c28a58de2aa993c6767ccb) 16 March 2018, 14:04:35 UTC
277e6d5 minor copy edits and formatting for Getting Started (#26439) * minor copy edits and formatting for Getting Started * fredrikekre's autojuliabannergenerator added * minor copy edits and formatting for Integers and FP * fixes * Update integers-and-floating-point-numbers.md 16 March 2018, 08:43:02 UTC
30318cf Fix display of pairs(::Vector) (#26482) 16 March 2018, 04:34:42 UTC
b16acdf Fix deprecation warning from LinearAlgebra.trace in sysimg (#26478) trace was renamed to tr in #26365 but the deprecation in sysimg was not updated. 16 March 2018, 02:36:50 UTC
857dd51 Fix display of Sockets.DNSError 15 March 2018, 23:04:52 UTC
29a1719 Merge pull request #26477 from JuliaLang/vc/armv7l increase MAX_INTERP_STATE_SIZE on armv7-l to 48 15 March 2018, 22:41:26 UTC
a599bed increase MAX_INTERP_STATE_SIZE on armv7-l to 48 15 March 2018, 18:31:07 UTC
71fbc70 replace `equalto` and `occursin` with curried `isequal`, `==`, and `in` (#26436) 15 March 2018, 18:28:08 UTC
66147ff Merge pull request #26365 from JuliaLang/jb/tr RFC: rename `trace` to `tr` 15 March 2018, 18:21:27 UTC
c6b2afc Fix findall() on sparse matrices when some stored entries are false (#26182) The number of returned indices needs to be adjusted in that case. 15 March 2018, 17:44:51 UTC
f355935 Ensure that all isequal methods return Bool to fix inference (#26184) Without this, the return type of isequal() would be inferred as Union{Bool,Missing} when the type of the argument is inferred as Any. 15 March 2018, 17:44:21 UTC
983f0f9 Support sparse broadcast with transposes and adjoints (#26331) Fixes #25331 15 March 2018, 08:50:40 UTC
08445af Change Type{Ref{T}} to Type{<:Ref{T}} (#26364) 15 March 2018, 04:19:31 UTC
e050ab6 Rename isupper, islower, ucfirst and lcfirst (#26442) Spell "uppercase" and "lowercase" in full for consistency with uppercase and lowercase functions. 15 March 2018, 04:12:48 UTC
5ad5c12 Deprecate {Linear,Cartesian}Indices(inds...) constructors (#26448) Previously, there had been an ambiguity between `LinearIndices(-2:2)` and `LinearIndices(collect(-2:2))`, with the former treating the argument as axes directly and the latter asking the argument for its axes. This removes the constructors with varargs `(axes...)` in favor of an explicit tuple of sizes and/or axes. 15 March 2018, 04:11:50 UTC
f9f3843 Corrected jl_type_infer when ENABLE_INFERENCE is not set (#26466) 15 March 2018, 04:08:33 UTC
8589fa7 Merge pull request #26465 from JuliaLang/vc/skipthreadingtest Remove libatomic test 15 March 2018, 03:56:32 UTC
583bdea delete invalid libatomic test. 14 March 2018, 23:27:41 UTC
4be51b7 Merge pull request #26093 from JuliaLang/nl/String Always resize input to zero length in String(::Vector{UInt8}) 14 March 2018, 22:57:12 UTC
4f70460 Merge pull request #26464 from JuliaLang/vc/relaxed_test relax cholmod suitesparse test, since it fails on AArch64 and PPC64 14 March 2018, 22:47:16 UTC
3fe38f8 docs: fix remaining uses of "by reference" for calling convention (#26447) 14 March 2018, 22:23:13 UTC
63a72d1 Make resize! a no-op when size does not change Else we set the last element to zero for one-byte element types like UInt8, which means that resizing a vector allocated with StringVector corrupts it. Also add redundant checks in Julia code to avoid a function call. 14 March 2018, 20:32:13 UTC
03bd792 Always resize input to zero length in String(::Vector{UInt8}) This makes the behavior more predictable than only resizing Vector{UInt8} inputs when they have been allocated via StringVector, as the caller may have obtained them from other code without knowing how they were created. This ensures code will not rely on the fact that a copy is made in many common cases. The behavior is also simpler to document. 14 March 2018, 20:32:13 UTC
b571283 relax cholmod suitesparse test, since it fails on AArch64 and PPC64 14 March 2018, 20:10:48 UTC
71ef5a0 Merge pull request #26456 from JuliaLang/vc/fixup_ccall fixup usage of AttributeBuilder in ccall.cpp for LLVM 5+ 14 March 2018, 17:52:33 UTC
f354532 updated NEWS links (see #26454) 14 March 2018, 17:04:25 UTC
c4a4b06 fixup usage of AttributeBuilder in ccall.cpp for LLVM 5+ 14 March 2018, 15:17:45 UTC
a0180d9 misc fixes that error's the doc build on --depwarn=error (#26452) 14 March 2018, 13:10:38 UTC
ead9eab prevent fill! from inlining (#26418) 14 March 2018, 08:38:25 UTC
3086c23 Merge pull request #26329 from JuliaLang/jn/cfunction-errors cfunction: improve codegen error handling 14 March 2018, 01:47:54 UTC
c5f1092 Add some comments to getfield elim pass 13 March 2018, 23:30:49 UTC
91f2f77 [NewOptimizer] Add back getfield elim pass This adds back a (fixed version of) the NewOptimizer getfield elim pass. This passes all getfield elim (and `@allocated`) tests in base, with the exception of two tests that check for getfield elim on mutables. That part is planned in the design of this pass, but will be part of a follow up PR. 13 March 2018, 23:30:49 UTC
3883deb default tolerance of pinv uses `min(size(A)...)`, qrfact uses max (#26429) * default tolerance of pinv uses `max(size(A)...)` * reverted code change - changed doc. Fixed qrfact tolerance 13 March 2018, 20:30:42 UTC
7beb110 stop using pass by reference in noteworthy difference (#26427) 13 March 2018, 08:55:02 UTC
46dcb35 Deja-VU fonts link: add missing closing parenthesis (#26425) 12 March 2018, 15:00:42 UTC
c6a6a65 Touch pcre_h.jl during the build on Windows (#26400) This syncs the modification time, thereby avoiding issues with clock skew while running Make on Windows. Also, make sure we delete a couple of files that shouldn't be there. Fixes #26399 12 March 2018, 07:53:24 UTC
e81e8f7 Merge pull request #26415 from JuliaLang/kc/Pkg3_bump Pkg3: update 12 March 2018, 07:52:17 UTC
0a7bb64 Deprecate fallback elsize for AbstractArray (#26379) Just like the deprecation of strides (#25321), the default implementation for `elsize` is generally not true. This deprecates the fallback, restructures it to be defined on the type (and not the value), and implements it where possible for the builtin array types and wrappers. 12 March 2018, 04:33:19 UTC
00ac33a Ensure fast contiguous SubArrays are actually strided (#26393) Ensure fast contiguous SubArrays are actually strided before using them in the definition of other StridedArrays. 12 March 2018, 04:07:25 UTC
6a02edf fix #26310, give `import` warnings even if source and dest are the same (#26383) 12 March 2018, 00:40:54 UTC
870e7e1 Merge pull request #26411 from JuliaLang/jb/methodroots dump.c and IR encoding tweaks 12 March 2018, 00:40:15 UTC
f2d5019 actually call Sys.iswindows and give a USER env in the tests 11 March 2018, 21:22:41 UTC
61bf935 docstringify comments, readable variable names (#26346) * docstringify comments, readable variable names, removed `m.pageoffset = 0` `m.pageoffset = 0` is the default for the implemented menus. If a menu needs to start at a different offset, it should be able to. * reverted `m.pageoffset=0` 11 March 2018, 19:30:43 UTC
f738de4 fix remaining `uninit`s in uninitialized PR #26316 (#26413) 11 March 2018, 19:18:35 UTC
c742c9a fix whitespace 11 March 2018, 18:51:03 UTC
b3a164b update precompile statements 11 March 2018, 16:41:10 UTC
f10e7ee Revert "disable optional precompile for Pkg3" This reverts commit 9c0042e5a9bbefe6818ef2a6eadd3a08e1097663. 11 March 2018, 15:32:48 UTC
05c24c3 put back deletion of temp dirs (cherry picked from commit 1a03bc10102c97f5646186752a75eb03549e077e) 11 March 2018, 15:30:00 UTC
735bb5c be more careful about closing LibGit2 objects (cherry picked from commit db39581a5011c74c5867aee8fdbf36e3ed93d0bb) 11 March 2018, 15:30:00 UTC
a8a89f4 make the clone path before trying to use it (cherry picked from commit 9f82c4287c5451896faaa6f596c2166d270aa60d) 11 March 2018, 15:28:54 UTC
3145b95 work around windows throwing on isdir (cherry picked from commit 20de9c1c740d256dd08a79af0180c286bfc68357) 11 March 2018, 15:28:54 UTC
fa634b9 add some more docs (cherry picked from commit df1a5c320839b179e809f83a1f07d75328440a05) 11 March 2018, 15:28:54 UTC
b46afe1 fixes to pinned packages tracking repo branch (cherry picked from commit 1277713735d32f7abd91d13b8688cd0acae3a519) 11 March 2018, 15:28:54 UTC
9c4b39d describe how to leave pkg repl mode (cherry picked from commit ec7f5e3b948769da39d458b2afa8d0b8ca5256e2) 11 March 2018, 15:28:54 UTC
1d4ccd9 tweak printing (cherry picked from commit 79814ed58701f4249fa3faa21526bb2d498c4f73) 11 March 2018, 15:28:54 UTC
a15acea fix preview command (cherry picked from commit 4330f20c999804a4a577f6fa6778341ec6f4498e) 11 March 2018, 15:28:54 UTC
83b784d add link to docs (cherry picked from commit fef36b5c9129099b202cddf7bd8e7a9626af6371) 11 March 2018, 15:28:54 UTC
24483ba drop https from repo see https://github.com/JuliaDocs/Documenter.jl/issues/663#issuecomment-372054838 (cherry picked from commit 0845fa65c6d9d876c01be2657714a9c1b70d4465) 11 March 2018, 15:28:54 UTC
4a6cf69 add a command to create a new package, write some docs, add a framework for testing the REPL (cherry picked from commit 3db23144b771ee08bfbdfe87f61475802878f779) 11 March 2018, 15:28:07 UTC
90abb7e allow users to develop unregistered and local packages (cherry picked from commit a7167dedb409bf0c70c701f40675e231aab5d2e6) 11 March 2018, 15:27:53 UTC
40f64e5 Pkg3: fix typo in recursive 10 March 2018, 22:21:54 UTC
8c2065c deprecate `flipdim` to `reverse` with a `dims` keyword argument (#26369) 10 March 2018, 22:01:17 UTC
9c5950f update common symbols lists for dump.c 10 March 2018, 20:56:33 UTC
3f848d5 workaround windows not deleting folder with open files (#26408) 10 March 2018, 20:55:24 UTC
4c31400 dump.c: remove need for table entries for builtin TypeNames 10 March 2018, 20:53:12 UTC
2f7d126 serialize common elements of Method.roots more efficiently 10 March 2018, 19:12:41 UTC
e47ae98 Link DOIs to preferred resolver (#26403) 10 March 2018, 16:54:33 UTC
back to top