https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
c487dd0 inference: fix vararg normalization in rewrap (#39134) Fixes #39082 10 January 2021, 19:28:43 UTC
9e7e23d Merge pull request #39166 from Thalassocracy/fix-documentation Replace broken link in distributing.md 10 January 2021, 17:24:39 UTC
927c9fa make lowrankupdate/downdate more permissive (#39150) * make lowrankupdate/downdate more permissive * add tests for abstract vectors 10 January 2021, 13:04:39 UTC
aea60ed Replace broken link in distributing.md 10 January 2021, 00:50:50 UTC
ffa966e Remove start_repl_server code from REPL module (#39162) `REPL.start_repl_server(port::Int)` uses outdated API and no longer functions. It should be removed. ```julia julia> import REPL julia> REPL.start_repl_server(8080) ERROR: MethodError: no method matching listen(::REPL.var"#80#81", ::Int64) ``` 09 January 2021, 23:49:00 UTC
e57501c minor code quality improvements (#39159) 09 January 2021, 23:43:31 UTC
1393310 fix logdet(Diagonal{<:Real}) with negative entries (#39158) 09 January 2021, 20:02:56 UTC
8937f7e gf: avoid adding cache entries wider than the original method (#39140) Sometimes we want to widen the compilation signature, but then end up with something which does not fit the original pattern. This then can cause problems later, when we try to use the Method (from the cache), but discover it does not actually match the call. Fixes #38999 09 January 2021, 04:17:39 UTC
ca07546 fix count(::BitArray; dims) (#39149) Not sure why this worked before #37461, perhaps #9498? 08 January 2021, 18:34:09 UTC
438f9cb Core printing: improve show of methods (#39135) This adds their environment, so that their TypeVars will print correctly. 08 January 2021, 18:32:56 UTC
6cff73f make methods of `alloc_buf_hook` return the same types (#39141) 08 January 2021, 09:32:34 UTC
83bee67 fix some compiler warnings (#39142) - unused jl_iterate_func - cast type of realloc in jl_init_threading 08 January 2021, 02:28:41 UTC
6c42190 added automatic keyword assignment support to test macro (#38270) * added automatic keyword assignment support to @test macro * added some tests for test macro using atol keyword * x = a.x syntax support added * Update stdlib/Test/src/Test.jl Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> 07 January 2021, 20:27:24 UTC
34ab0a9 Merge pull request #39051 from JuliaLang/vc/sext Annotate function arguments with sext/zext 07 January 2021, 18:56:43 UTC
66c9f6a fix #39117, overly-specific type from `default_eltype` (#39130) 07 January 2021, 16:58:28 UTC
59eb9f9 remove Core._apply Builtin (#39115) We can emulate this deprecated function, until we delete it in v2. This in turn revealed some missing error checks, which we also add. Fixes #39113 07 January 2021, 16:57:16 UTC
fa14d0b `addenv()`, by default, should inherit from `ENV` (#39100) The spirit of `addenv()` is to be non-destructive, however because a `Cmd` object with an `env` member that is set to `nothing` (the default) inherts from the current environment when it is run. This means that the following, rather surprising behavior holds true on current master: ``` julia> ENV["FOO"] = "foo" run(`/bin/bash -c "echo \$FOO \$BAR"`) run(addenv(`/bin/bash -c "echo \$FOO \$BAR"`, "BAR" => "bar")) foo bar ``` This PR adds an `inherit` flag to `addenv()` to allow keeping this behavior if it is actually desired (this might make sense if you are constructing `.env` blocks over a series of `addenv()` calls and you don't want to have to special-case your first operation as a `setenv()` rather than an `addenv()`. 07 January 2021, 16:55:50 UTC
c70a5bc fix part of #38936, getfield elim handling union of tuples (#39107) This fixes the regression since 1.5 07 January 2021, 16:51:48 UTC
f5c8e67 Fix alloc opt pass on LLVM 11+. (#39119) 07 January 2021, 16:49:43 UTC
a319ae4 Revert "Improve copyto! for short heterogeneous tuples (#39035)" (#39128) This reverts commit b00e9f0bac05de913d5b869739bcc93ac259c9f7, which has a 1/64 chance of failing tests. 07 January 2021, 15:45:27 UTC
03957db Remove try from at-time and close compile timer during throw (#39133) * remove try from at-time and close compile timer during throw * add scope tests for at-time and aat-timev 07 January 2021, 15:36:15 UTC
86639e1 Add a warning that HTML should not be used #38909 (#39072) * Add a warning that HTML should not be used #38909 07 January 2021, 06:20:18 UTC
0949eb2 silence unused variable warning 06 January 2021, 19:45:22 UTC
5c6e21e inference: minor typing improvements for `InferenceState.stmt_types` (#39096) 06 January 2021, 18:22:03 UTC
ed89ae7 Test for Windows delete permissions in system folders (#39078) 06 January 2021, 17:00:37 UTC
9f8bdc2 fix Meta.partially_inline! again (#39112) forgot to take `statement_offset` into account in #38519 06 January 2021, 08:09:40 UTC
158e22f Measure compile time only when using time macros pt.2: handling when code under test throws and make compile timing thread-local (#38915) * ensure compile timing disables in time & timev macros * make comp measurement switching threadsafe 06 January 2021, 08:09:19 UTC
f46da9e mark integer parameters as sext/zext 06 January 2021, 00:22:09 UTC
399f8ba Merge pull request #39101 from JuliaLang/sf/sandbox_fixes Fixes so that test suite can run in more tightly sandboxed environment 05 January 2021, 22:27:17 UTC
3931b22 filesystem: use libuv for rmdir directly (#39013) 05 January 2021, 18:15:52 UTC
ee6f6f1 fix typo in metaprogramming.md (#39095) Fix typo 05 January 2021, 09:50:03 UTC
fd671b3 [REPL] Do not require test to run within `/tmp` 05 January 2021, 08:35:46 UTC
7a6f423 [REPL]: Don't write to the user's home directory Instead of writing out to actual `$HOME`, create a temporary directory and set that as `$HOME`/`$USERPROFILE`. 05 January 2021, 07:59:57 UTC
383db92 Bump Documenter to 0.26.1 (#39097) 05 January 2021, 07:44:11 UTC
7dae29d [Artifacts]: Download to temporary directories, not `stdlib` We can't assume that `stdlib` is in a writable location; always download temporary testing files to `$TMPDIR`. 05 January 2021, 06:48:34 UTC
1a333a9 fix inf rational (#39063) 04 January 2021, 23:44:04 UTC
ee66728 Merge pull request #39080 from aviatesk/typingedges minor typing improvements for `(frame::InferenceState).stmt_edges` 04 January 2021, 22:59:35 UTC
e2f4073 Fixes for non-Int based lengths (#37741) 04 January 2021, 19:44:04 UTC
1dc3804 Small drive-by cleanup: Make constant explicit (#39056) This code is a bit of a leftover from when we still had `nfields(::Type)`, but at this point it was always just returning the number of fields of `DataType`. I was a bit confused by this code, so I thought just using `jl_datatype_t` here explicitly makes clear that it does actually just return said constant. 04 January 2021, 18:21:04 UTC
974e6ec Remove outdated TODO about string encodings (#39077) 04 January 2021, 17:32:19 UTC
8d643a2 LICENSE: copyright end date 2019 -> 2021 (#39084) 04 January 2021, 04:44:08 UTC
628b7ac minor typing improvements for `(frame::InferenceState).stmt_edges` 03 January 2021, 03:58:15 UTC
5ee2d60 Written tests for typemin/typemax (#39057) * Written tests for typemin/typemax * Added test w.r.t Int128 01 January 2021, 10:48:37 UTC
82d79ce Add `ismutabletype` (#39037) Determines whether a type was declared using `mutable struct`. Naming follows from the `ismutable` query we already have, analogous to `isbits`/`isbitstype`. Replaces #18168. 31 December 2020, 07:00:17 UTC
b00e9f0 Improve copyto! for short heterogeneous tuples (#39035) There was a complaint on Twitter [1], that Julia is slower than Ruby(!) at allocating short heterogeneous arrays. The code looks something like this: ``` f() = for i in 1:100000; b=[1,2.0]; end; ``` Of course, this benchmark is silly because the arrays are unused, so the entire code should be dropped once we have further improvements to our lifetime analysis, which will change the runtime 0. However, since we're not quite able to do that yet, it is somewhat unexpected that we should be slower than Ruby here. Admittedly our arrays are tuned for larger sizes, but still. Upon further investigation, it turns out that the issue is that we're allocating extra boxed objects when pulling the fields out of the literal, since we don't have any specialization for `copyto!` from tuples, falling back to the generic `copyto!` method, which is type unstable in the presence of heterogeneous tuples. Since this code is reachable from surface syntax, I think it's worth putting in a couple of specializations to accelerate the array construction, which is what this PR does (up to tuples of length 10 to avoid excessive codegen). Since the type-instability issue applies whether the value is used or not, this should still be useful even if we're able to prove that the allocations can be dropped entirely. Before: ``` julia> @benchmark f() BenchmarkTools.Trial: memory estimate: 21.36 MiB allocs estimate: 600000 -------------- minimum time: 14.928 ms (0.00% GC) median time: 16.297 ms (0.00% GC) mean time: 16.323 ms (3.84% GC) maximum time: 26.042 ms (0.00% GC) -------------- samples: 307 evals/sample: 1 ``` After: ``` julia> @benchmark f() BenchmarkTools.Trial: memory estimate: 9.16 MiB allocs estimate: 100000 -------------- minimum time: 2.117 ms (0.00% GC) median time: 2.276 ms (0.00% GC) mean time: 2.455 ms (7.62% GC) maximum time: 4.638 ms (28.99% GC) -------------- samples: 2036 evals/sample: 1 ``` Which puts us about on par with Ruby on my machine (not entirely unsurprising, since this is essentially an allocation benchmark at this point and both allocators are written in C). 31 December 2020, 06:59:47 UTC
1ad6aed Merge pull request #39052 from JuliaLang/sf/win_embedding_fixes Various fixes to trampolines for embedding on Windows 31 December 2020, 03:54:08 UTC
ed9dde2 Test for checkout_head (#39034) * Test for checkout_head * Remember to actually close the file * And actually force the checkout 31 December 2020, 03:48:21 UTC
8981e0b [cli/loader]: Don't allow initialization to run more than once There are multiple ways of fixing this, but let's just not let trampolines get re-set after they've already been set. 30 December 2020, 22:27:00 UTC
b26a386 [cli/trampolines] Fix section directive for windows trampolines By naming the section `text` instead of `.text` these sections were mapped into memory without the executable bit set, causing segfaults when attempting to use any trampolines on Windows. 30 December 2020, 22:25:32 UTC
144f781 [loader/libjulia]: Call `setup_stdio()` when loading `libjulia` This allows libjulia's initialization routines to properly output to `stdout` in embedding scenarios. 30 December 2020, 22:24:12 UTC
3d922e4 specialize on mapfoldl(::Type, ...) (#39019) Before: ```julia julia> using BenchmarkTools julia> b = rand(Bool, 10000); julia> @btime mapfoldl(Int, +, b; init=0) 1.136 ms (9025 allocations: 141.02 KiB) 5057 ``` After: ```julia julia> @btime mapfoldl(Int, +, b; init=0) 1.094 μs (1 allocation: 16 bytes) 5057 ``` 30 December 2020, 19:00:17 UTC
31eb6c2 Avoid StepRangeLen eltype widening (#38979) 30 December 2020, 18:03:27 UTC
d46198d [libuv] Bump to include `DELETE` win ACL patch (#39038) This bump to LibUV adds an important permission to files which should allow them to be deleted more reliably when created in "system"-like locations such as `C:\`. 30 December 2020, 07:26:33 UTC
aeb933c Merge pull request #39036 from JuliaLang/kf/compilerroundup Round up and rebase approved compiler PRs 30 December 2020, 04:57:00 UTC
8a2ccf2 Some `getfield` related fixes in inference * Use the field index passed in in `lift_leaves` The caller has already done all the computation including bound checking. The `field` computed in this function is also affecting all the following iterations which is almost certainly wrong. * Remove unnecessary type check on `field` in `lift_leaves` since it is always `Int` * Move a branch disabling `return nothing` higher up * Remove some duplicated calculation on field index in `getfield_elim_pass!` * Fix `try_compute_fieldidx` to return `nothing` for non-`Int` `Integer` field index. This can cause `getfield_nothrow` to return incorrect result. It also gives the caller worse type info about the return value. * Teach `getfield_nothrow` that `isbits` field cannot be undefined and getfield on such field cannot throw. This is already handled in `isdefined_tfunc`. * Fix a few wrong use of `isbits` in dead branches ---- Ref #26948 (fa02d34496eb2bed9a55e4f77cb135a6b4180edc) Ref #27126 (9100329d189b3d2ac6d1e03bfc7431cbe8d18c00) 30 December 2020, 02:04:13 UTC
bb2e065 Fix Dict key check in type inference This has been there since #27126 (9100329d189b3d2ac6d1e03bfc7431cbe8d18c00) Dudging by the use of `reverse_mapping[stmt_val]` below this should either be a branch condition or an assert. 30 December 2020, 02:03:45 UTC
ad7e59a Document destructuring syntax in anonymous function argument (#39024) When destructuring a single tuple in an anonymous function argument, you have to include an extra comma to force a 1-tuple. Otherwise ((x,y)) collapses to (x,y). This is not the case for named functions. Co-authored-by: Graham Smith <grahamas@gmail.com> 29 December 2020, 21:08:46 UTC
345ce78 remove unnecessary ::Union{} type asserts (#35817) * remove unnecessary ::Union{} type asserts 29 December 2020, 17:00:58 UTC
ae3a3cc Improve performance for dot(AdjTrans,AdjTrans) (#39004) * Improve performance for dot(AdjTrans,AdjTrans) * generalize to Adjoint/Transpose 29 December 2020, 08:43:39 UTC
fc3fe4f fix IR showing not to show TypedSlot type twice (#38961) * fix IR showing not to show TypedSlot type twice * Update base/compiler/ssair/show.jl Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Keno Fischer <keno@juliacomputing.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> 29 December 2020, 07:45:49 UTC
4c4aaff Change arguments to (internal) `show_tuple_as_call` to kwargs (#39020) Forward port from #37849 to reduce the number of unrelated changes in that PR. The argument list here was simply getting unwieldy. The new `hasfirst` argument isn't yet used in this PR, but will be used in #37849. 29 December 2020, 05:03:26 UTC
a2b6426 Fix insert_node_here! if called at the end of the IR (#39021) This method was throwing an error when called after the compaction had processes the last instruction in the IR (with reverse affinity). This currently can't, because we never use this method after compacting a terminal instruction (inlining uses it to split BBs), but can after the new code in #37849, so fix the bug now. Forward port from #37849. 29 December 2020, 02:57:55 UTC
770e228 add news for `at-invokelatest` and `at-invoke` (#39000) 29 December 2020, 00:32:58 UTC
8e0183f filesystem: code cleanup in request calls (#39012) The canonical way we allocate the libuv requests in the filesystem API is through malloc/free calls. Clean up the code to be more DRY. 28 December 2020, 17:36:46 UTC
187f96b Remove outdated references to Travis (#39011) 28 December 2020, 14:35:01 UTC
c3d7338 Improve docs about let blocks (#39003) This section was probably written before the distinction between hard and soft scopes was added. 28 December 2020, 14:26:48 UTC
42bb1b2 Revert "win: Set correct folder permissions after folder creation (#38942)" (#39014) This reverts commit 556cee7f0971407eaf547e291d66041e16293b6b. 28 December 2020, 09:51:50 UTC
471a55e Merge pull request #39009 from JuliaLang/sf/dlopen_libjulia Improve consistency of SONAME usage, fix debug installation 27 December 2020, 18:02:35 UTC
5d2fcdb keys(::Generator) pass through (#34678) * keys(::Generator) pass-through Let keys pass through to allow lightweigth/lazy find* and arg* functions * Update test/functional.jl Co-authored-by: Matt Bauman <mbauman@gmail.com> Co-authored-by: Matt Bauman <mbauman@gmail.com> Co-authored-by: Simeon Schaub <simeondavidschaub99@gmail.com> 27 December 2020, 14:03:03 UTC
556cee7 win: Set correct folder permissions after folder creation (#38942) libuv's mkdir does not implement the mode argument on Windows, as a result the folder mode is never passed on the Windows platform. Forcibly change the folder permissions to agree with the mode passed into `mkdir`. 27 December 2020, 09:45:40 UTC
d04793f add missing newline to UnionAll Vararg warning (#39010) 27 December 2020, 09:42:28 UTC
176a6e6 Fix lack of `JL_MAJOR_SHLIB_EXT` on Windows 27 December 2020, 00:43:44 UTC
6c047cc [loader] Must invalidate `.o` files when `VERSION` changes (#38800) This doesn't happen that often, (only when `VERSION` changes) but we need to be sensitive to the path to `libjuliainternal.so` changing. 26 December 2020, 23:58:57 UTC
0af737c Use `strcmp()` to compare `f_lib` and `JL_LIBJULIA_DL_LIBNAME` (#39005) This future-proofs us from someone trying lookup a symbol from `libjulia.dll`, even though that should be quite rare, it may happen. 26 December 2020, 23:49:17 UTC
7aa128e Improve consistency of SONAME usage, fix debug installation SONAME and RPATH inconsistency resulted in `julia`/`julia-debug` occasionally being unable to find `libjulia.so`, due to `libjulia-internal` not having the right RPATH set (it was set to `$ORIGIN:$ORIGIN/julia`, when it now needs to be set to `$ORIGIN:$ORIGIN/..`). Use `patchelf` to address this during `make install`. We also want to use the SONAME of e.g. `libjulia` as much as possible, so as to avoid searching the filesystem for libraries that are already opened. Also fix a few bugs in building `julia-debug`. 26 December 2020, 23:47:40 UTC
d0478ca Update the AST docs on `nothing` `:method` expressions (#38496) Fixes #38451 26 December 2020, 20:33:01 UTC
8af7a04 build: pack checksums into fewer files by target (#38963) Hopefully this should preserve the ability to generate these in parallel (and keep a clean tree) and prevent conflicts when updating different deps targets, while consolidating any related files 26 December 2020, 19:21:49 UTC
70e00a6 move NEWS from #38675 to the correct section [ci skip] 26 December 2020, 18:30:35 UTC
729114f move `escape_string` NEWS (from #38597) to the correct section [ci skip] 26 December 2020, 18:29:43 UTC
dedf290 makefile: better debug comment in output (#39002) 25 December 2020, 20:12:11 UTC
a094c2f Add reference to `indent` function (#38940) * Add reference to indent function * Update base/strings/io.jl Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu> Co-authored-by: Keno Fischer <keno@juliacomputing.com> Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu> 25 December 2020, 17:23:25 UTC
1e2e482 Remote restriction on documenting empty baremodules (#38998) Replaces and closes #13109. The underlying bug here appears to have been fixed and the restriction here was never triggered since lowering now always inserts LineNumberNodes, but we might as well remove the restriction since the bug is fixed. 25 December 2020, 09:27:37 UTC
560676d define at-invoke macro: (#38438) - provides easier syntax to call `Core.invoke`, e.g. `@invoke f(a::Integer)` will be expanded into `invoke(f, Tuple{Integer}, a)` - when type annotation is omitted, the argument type is specified as `Any` Built on top of #37971 25 December 2020, 08:52:19 UTC
29d5d60 Fix trampoline on PPC (#38980) * [Make] Normalize ppc64le to powerpc64le * [CLI] Fix trampoline on PowerPC 1. Add global entry 2. Don't store `r2` on parent frame 3. Conservative load from toc * remove jl_compile_extern_c from exported funcs 25 December 2020, 07:35:59 UTC
9fa97f9 fixed a bug in the build system (#38997) 25 December 2020, 07:35:05 UTC
ec386bd Construct constant LLVMPtr correctly (#38958) Co-authored-by: Julian Samaroo <jpsamaroo@jpsamaroo.me> Co-authored-by: Julian Samaroo <jpsamaroo@jpsamaroo.me> 25 December 2020, 02:04:19 UTC
4d7289b Missing tests for accumulate (#38943) 25 December 2020, 02:01:44 UTC
570384e extend iseven/isodd to Number (#38976) * extend iseven/isodd to Number * add PR num to NEWS 25 December 2020, 01:59:05 UTC
60b68ce Arg. to avoid escaping backslahes (escape_string) (#38597) * Arg. to avoid escaping backslahes (escape_string) This commit adds an argument to `escape_string` to assume that all backslashes (`\\`) are already escaped. Hence, `\\cdot` becomes `\\cdot` instead of `\\\\cdot`. The default value to this argument is `false`. Hence, this does not break any existing code since `escape_string` behaves exactly the same as before if no additional option is passed. Closes #34042 * Replace `bsescaped` arg. with `keep` keyword * Update NEWS.md * Fix doc tests * Add compat annotation Co-authored-by: Ronan Arraes Jardim Chagas <ronan.arraes@MacBook-Pro-de-Ronan.local> 25 December 2020, 01:50:31 UTC
6369f02 Correct handling of non-Booleans in eval_test (#38695) 25 December 2020, 01:49:35 UTC
3aef83b use parent type in similar(::ReinterpretedArray) (#38965) We already do this for `SubArray`, `PermutedDimsArray`, and `ReshapedArray`, so I think this makes sense here. This also adds tests for `similar(::ReshapedArray)`, since I didn't notice that was actually defined before. ref https://github.com/JuliaGPU/CUDA.jl/issues/602 25 December 2020, 01:42:14 UTC
d70161e Document __module and __source (#38987) Co-authored-by: June-6th <2660994113@qq.com> 25 December 2020, 01:37:42 UTC
390e40a Tests for push and pushfirst for abstractarray (#38991) 25 December 2020, 01:36:33 UTC
59c51f5 Use occursin instead of findfirst(...) === nothing (#38990) 25 December 2020, 01:35:47 UTC
414410b Document the opposites of any and all (#38985) 25 December 2020, 01:33:56 UTC
c377eed Refactor JL_GC_PUSHFRAME to internalize layout assumptions (#38982) Right now callers of JL_GC_PUSHFRAME need to be aware that the roots start three pointers after the end of the struct. That seems like an implementation detail of the macro, so refactor the macro to also take the assignment location for the locals instead. In the process fix an error where the gc-analyzer version of this code assumed a different layout. 24 December 2020, 07:20:25 UTC
d6a655b codegen: use new freeze intrinsics to avoid poison UB (#38977) LLVM would likely be required to insert this anyways to make hoisting legal (converting branches to and/or), so might as well add it ourselves, so that users can legally write that code directly. 24 December 2020, 05:29:37 UTC
ccaaf56 Assert that _artifact_str returns a String (#38975) I have no idea whether this is important, but I noticed this while investigating triggers for inference in a package. Feel free to close if you think this is irrelevant. Incidentally, `_artifact_str` is a ~60ms precompile (that's just the inference, not the codegen). I see that its precompile was commented out in 924484f2f00; just mentioning it in case there's an opportunity to squeeze out a bit more latency-reduction. 24 December 2020, 05:12:02 UTC
48c4283 Merge pull request #38938 from imciner2/im/symfix Fix libjulia symbol trampolines, and export `jl_n_threads` 24 December 2020, 03:42:33 UTC
46487ae Fix #23646: relpath recognizes Windows drive letters (#38259) 23 December 2020, 18:22:13 UTC
back to top