https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
d35536b incorporate gdtoa into julia Set options and remove flags and files that we do not need. 06 January 2023, 17:38:32 UTC
38a110b import gdtoa sources from mingw From https://github.com/mirror/mingw-w64/commit/ae2c774d179908176557447150c534f6b014a803 Sun, 18 Dec 2022 17:29:20 06 January 2023, 15:56:56 UTC
0eafda8 doc: clarify `let x` without an assignment (#48122) 06 January 2023, 15:29:58 UTC
46365ea improve the effects of `Base._tuple_unique_fieldtypes` (#48112) Discovered during inspecting #48097. 06 January 2023, 14:28:41 UTC
f056c34 Improve type stability of array_subpadding slightly (#48136) This should be slightly more efficient as the compiler now only tries to call `iterate` on `t` and `s` once, and will not try to destructure the result if the `iterate` call returns `nothing`. This change reduce spurious JET warnings. 06 January 2023, 08:19:13 UTC
463e5f0 add a note to `ismutable` docstring about `String` and `Symbol` (#48149) 06 January 2023, 03:43:23 UTC
6d14b0f Math tests: if fma is not available, relax some tests from exact equality to approximate equality (#48102) * Math tests: if fma is not available, relax some tests from exact equality to approximate equality * Apply suggestions from code review Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> * `has_fma` has no runtime support * Add `Rational{Int}` * Put the FMA support info in the testset context * Fix whitespace * Remove inaccurate testset name Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> 06 January 2023, 01:57:07 UTC
4562cfa Fix small nits in multiversioning (#47675) 05 January 2023, 20:17:59 UTC
54aa57c Make QuickerSort efficient for non-homogonous eltype (#47973) * set `v[j] = pivot` in partition rather than returning pivot to caller to make partition! type stable for non-concrete eltype 05 January 2023, 20:15:01 UTC
0913cbc Fix invalidations in `finish_show_ir` (#48134) The whole module is under `@nospecialize`, so inference needs us to annotate the argtypes. 05 January 2023, 20:03:05 UTC
dc2b4d9 Deprecate AMD's LWP extension (#48131) 05 January 2023, 18:32:40 UTC
321c5f5 Avoid a couple of InexactErrors in the IdDict code. (#48116) 05 January 2023, 15:59:45 UTC
35d1840 Switch back to LLVM's IR linker (#48106) Co-authored-by: Tim Besard <tim.besard@gmail.com> 05 January 2023, 15:52:54 UTC
b984c4e make get! type-stable for AbstractDict (#48128) 05 January 2023, 15:18:23 UTC
80aeebe Don't perform extra inference during incremental image creation (#48054) As noted in #48047, we're currently attempting to infer extra methods during incremental image saving, which causes us to miss edges in the image. In particular, in the case of #48047, Cthulhu had the `compile=min` option set, which caused the code instance for `do_typeinf!` to not be infered. However, later it was nevertheless queued for precompilation, causing inference to occur at an inopportune time. This PR simply prevents code instances that don't explicitly have the `->precompile` flag set (e.g. the guard instance created for the interpreter) from being enqueued for precompilation. It is not clear that this is necessarily the correct behavior - we may in fact want to infer these method instances, just before we set up the serializer state, but for now this fixes #48047 for me. I also included an appropriate test and a warning message if we attempt to enter inference when this is not legal, so any revisit of what should be happening here can hopefully make use of those. 05 January 2023, 12:47:42 UTC
a9506f5 Avoid allocations in reduction over adjoints (#48120) 05 January 2023, 08:05:58 UTC
a77774a Improve documentation on tuples and named tuples (#47981) * Improve documentation on semicolon, tuples and named tuples Co-authored-by: Stefan Karpinski <stefan@karpinski.org> 05 January 2023, 02:57:26 UTC
4a42367 [GCChecker] add support for tracking JL_NOTSAFEPOINT regions (#47978) We have regions of code that we either cannot (gcsafe_enter) or should not (locks) enter GC since it would cause data races or deadlocks. Teach the GCChecker how to analyze those state transitions. Additionally, mark all functions inside files named 'llvm-*.*' as not safepoints. This saves us some manual annotation effort. 04 January 2023, 20:05:55 UTC
b6794f9 Add test for invperm for incorrect permutation (#47869) 04 January 2023, 19:21:14 UTC
b604fc9 Specialize isinf(::IEEEFloat) (#48109) * specialize isinf(::IEEEFloat) Co-authored-by: mikmoore <mikmoore@users.noreply.github.com> 04 January 2023, 19:12:07 UTC
7b92f38 Add example for now(::Type{UTC}) and mention TimeZones.jl (#48117) 04 January 2023, 15:44:18 UTC
e73c261 Document array literals equivalent to hvncat (#48118) 04 January 2023, 15:33:31 UTC
cdcb07f optimizer: keep statements that may throw from being optimized by SROA (#48068) SROA should verify a statement won't throw, otherwise it can't be eliminated safely. Note that this commit skips the nothrow-ness verification on `getfield` statement. This is acceptable because currently we are unable to prove it in the presence of potentially undefined fields. This is okay because our SROA pass will eliminate such a `getfield` statement only if it determines that the forwarded value safely defines the potentially undefined field. 04 January 2023, 08:54:32 UTC
a5ab48f Merge pull request #48029 from N5N3/inter-fix3 Avoid some stackoverflow during typeintersect. 04 January 2023, 08:09:48 UTC
52af407 Use native fmin/fmax in aarch64 (#47814) * Use native fmin in aarch64 * Small cleanup + effects * Cleanup * Update base/math.jl Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> * Some more cleanup Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> 03 January 2023, 21:00:26 UTC
4831361 Parallelize precompiles generation II (#48049) Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> 03 January 2023, 15:07:01 UTC
87b1f2f 🤖 Bump the SparseArrays stdlib from 72827cd to 31b491e (#48084) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 03 January 2023, 09:21:28 UTC
36cd9c6 Avoid setting circular var's bounds during intersection. This fixes the MWE reported in https://github.com/JuliaLang/julia/issues/47874#issue-1491378956 And this fixes the remaining internal error in `Healpix.jl`'s test. gc fix 03 January 2023, 04:55:48 UTC
2901f0e Avoid stack-overflow in #46736 When we perform re-`intersection_unionall`, the `Union` bounds might be generated from `simple_join and thus not identical to the src `Union`. This commit adds a fast-path to skip the following `intersect_all. 03 January 2023, 04:55:48 UTC
e3c62cb Make sure `env` is restored between 2 adjacent `subtype_in_env_existential` 03 January 2023, 04:55:48 UTC
79e29e3 use invokelatest to prevent invalidations in TOML (#48083) 02 January 2023, 22:17:19 UTC
fe45f01 Refine LimitedAccuracy's ⊑ semantics (#48045) * Refine LimitedAccuracy's ⊑ semantics As discussed in #48030, this is a different attempt to fix the semantics of LimitedAccuracy. This fixes the same test case as #48030, but keeps `LimitedAccuracy` ε smaller than its wrapped lattice element. The primary change here is that now all lattice elements that are strictly `⊑ T` are now also `⊑ LimitedAccuracy(T)`, whereas before that was only true for other `LimitedAccuracy` elements. Quoting the still relevant parts of #48030's commit message: ``` I was investigating some suboptimal inference in Diffractor (which due to its recursive structure over the order of the taken derivative likes to tickle recursion limiting) and noticed that inference was performing some constant propagation, but then discarding the result. Upon further investigation, it turned out that inference had determined the function to be `LimitedAccuracy(...)`, but constprop found out it actually returned `Const`. Now, ordinarily, we don't constprop functions that inference determined to be `LimitedAccuracy`, but this function happened to have `@constprop :aggressive` annotated. Of course, if constprop determines that the function actually terminates, we do want to use that information. We could hardcode this in abstract_call_gf_by_type, but it made me take a closer look at the lattice operations for `LimitedAccuracy`, since in theory `abstract_call_gf_by_type` should prefer a more precise result. ``` * Apply suggestions from code review Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 02 January 2023, 18:56:34 UTC
7a561bd Hook up effect modeling for `TypeVar` and `UnionAll` (#48063) * Hook up effect modeling for `TypeVar` and `UnionAll` We already had effect modeling for `_typevar`, which `TypeVar` should just defer to. Add a simple model for `UnionAll` as well, though in the future we can add the Vararg case also. * Apply suggestions from code review Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 02 January 2023, 11:18:09 UTC
16f4f05 Disable further FileWatching tests (#47920) 02 January 2023, 11:18:03 UTC
8184b07 turn a comment into a test in sorting tests (#47965) Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> 02 January 2023, 11:17:45 UTC
b5b16fc Fix documentation in non-toplevel blocks (#48016) 02 January 2023, 10:58:23 UTC
75bc5ee use the correct env variable name to set default openblas num threads (#48064) This was add to OpenBLAS in https://github.com/xianyi/OpenBLAS/pull/3773 and was supposed to be used in https://github.com/JuliaLang/julia/pull/46844/ but was likely typod 01 January 2023, 20:19:56 UTC
4795004 Remove suplicated sqrt_fast in inconsistent intrinsics list (#48060) 01 January 2023, 01:38:19 UTC
266341e Make the `getproperty` example type stable (#48004) The example as written is not type stable, as one can verify with`@code_warntype`. Seems worth this small change to illustrate the preferable approach. On a more general note, I just recently figured out that `getproperty` is not type stable in general. (Simply replace the `obj.x + 1` with something like `obj.x / 2`.) Probably whoever reviews this PR will know that already but I wish that I had been warned long ago about that. I would recommend that a warning be put right here in these docs for it. I could draft the warning if there is openness to including it, but I figured that might be more debatable than the type annotation... Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> 01 January 2023, 01:28:50 UTC
adf7558 Pass down lattice in `ifelse_tfunc` (#48065) 01 January 2023, 01:26:34 UTC
516b097 Remove unsafe initialized=true option in sortperm! (#47979) * remove unsafe initialized=true option in sortperm! and partialsortperm! * Update NEWS.md 31 December 2022, 17:57:24 UTC
e5d0440 isassigned: check bounds on multidimensional indexes (#48003) * isassigned: check bounds on multidimensional indexes * isassigned: remove isempty check This check was added in the previous commit to preserve existing behavior when calling isassigned with an empty splat for the indexes. But it turns out different version of isassigned treat this case differently (e.g. AbstractArray vs Array). So the check is being removed to make isassigned behavior consistent and more in line with checkbounds and expectations of the [] operator. 31 December 2022, 16:18:03 UTC
d020702 Add missing Makefile dependency link (#48052) 31 December 2022, 15:56:12 UTC
cc5bc87 Adjust assertion for pkgimage & code-coverage (#48036) 30 December 2022, 22:38:25 UTC
4d206c9 Fix typo in ComposedFunction docstring (#48044) 30 December 2022, 15:07:56 UTC
a8adb39 Merge pull request #47983 from petvana/pv/parallel-repl-statements-v2 Parallelize precompiles generation 29 December 2022, 21:12:19 UTC
0c28433 Merge branch 'master' into pv/parallel-repl-statements-v2 29 December 2022, 20:07:13 UTC
6740224 Stop renumbering statements in inference proper (#48022) I don't think there's any good reason to try to delete the statements here. The very next thing we do is to convert to IRCode which drops dead code anyway, so this just seems redundant. In addition, it complicates Cthulhu-like analysis, which now has to track an extra set of statement numbers. 29 December 2022, 18:13:15 UTC
a1ee9af don't report skipped comments as failures (and only show failed when > 0) 29 December 2022, 17:33:46 UTC
8c5e490 Remove redundant chatch 29 December 2022, 15:30:27 UTC
f1ec0cd Use try-catch not to loose cursor 29 December 2022, 15:08:33 UTC
338b562 White spinner + disable cursor 29 December 2022, 14:10:35 UTC
86ae9e9 Fix to stdout 29 December 2022, 13:50:54 UTC
f0daa0d Detect if stdout is TTY or CI 29 December 2022, 13:39:13 UTC
5c1b99a Improve wording based on the review 29 December 2022, 12:41:49 UTC
c0f7635 Fix spacing 29 December 2022, 12:30:27 UTC
5083d8e Make clock spinning 29 December 2022, 12:22:42 UTC
f49f537 Fancy printing 29 December 2022, 12:08:52 UTC
9ded051 Add remarks for more cases of failed method lookup (#48023) * Add remarks for more cases of failed method lookup * Update base/compiler/typeinfer.jl Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 29 December 2022, 10:05:45 UTC
0f2665f [CompilerSupportLibraries_jll] Add libssp for more platforms (#48027) 29 December 2022, 07:30:43 UTC
1fda4bb Don't double-count inference time (#48033) * Use the same timing reentrancy counter for both inference and codegen * Add some timing tests * Add macro-based timer test 29 December 2022, 06:52:10 UTC
6ac5159 Replace dynamic dispatch with runtime branch on `rev` keyword in sortperm (#47966) 28 December 2022, 19:47:15 UTC
58d9c87 Change permissions of stdlib pkgimgs (#48019) * Change permissions of pkgimgs * Update base/loading.jl Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> 28 December 2022, 17:52:46 UTC
82fbf54 [CompilerSupportLibraries_jll] Add `libssp` as product on Windows (#48012) 28 December 2022, 16:19:51 UTC
b838067 Add dereferenceable LLVM attribute to some GC functions (#46256) 28 December 2022, 16:19:24 UTC
8324512 Add option to `jl_print_task_backtraces(bool)` to control whether or not to print DONE tasks (#47933) Add option to `jl_print_task_backtraces(bool)` to control whether or not to print DONE tasks This lets you print all live tasks, with less noise in the logs, in case it's been a while since the last GC. In some cases, we are seeing many thousands of DONE Tasks, which greatly increase the noise in the logs, and can overwhelm the DataDog logging. The API now takes a bool, which can allow us to control this setting, letting us print the DONE tasks if the user wants to, but also hide them if desired. 28 December 2022, 15:34:41 UTC
6ea5ad5 replace broken NFC link in manual (#48017) 28 December 2022, 14:49:11 UTC
02492f6 Update README.md (#48018) Fixed the version number of the current stable release 28 December 2022, 14:12:33 UTC
9a7a80c Merge branch 'master' into pv/parallel-repl-statements-v2 28 December 2022, 12:16:08 UTC
03b9cc6 Use fetch instead of errormonitor 28 December 2022, 10:00:56 UTC
68d4ee3 Use istaskfailed instead of errormonitor 28 December 2022, 08:29:58 UTC
dd8d58e Fix doc comment in internal `__convert_digit` (#47997) Co-authored-by: Sukera <Seelengrab@users.noreply.github.com> 28 December 2022, 08:07:01 UTC
fc4c666 Update calling-c-and-fortran-code.md (#47976) * Update calling-c-and-fortran-code.md Co-authored-by: Alex Arslan <ararslan@comcast.net> 28 December 2022, 08:05:46 UTC
8b2b7f5 minor fixes on `[getfield|setfield!]_tfunc`s (#48009) 28 December 2022, 02:11:08 UTC
9448c89 minor NFC improvements on abstractlattice.jl (#48008) 28 December 2022, 00:22:40 UTC
79bee80 Disable errormonitor temporarily 27 December 2022, 22:39:17 UTC
a40e24e Fix zero-length Markdown headers (#47725) * Fix zero-length Markdown headers * Add test on empty header 27 December 2022, 21:01:05 UTC
4c018c9 Merge branch 'master' into pv/parallel-repl-statements-v2 27 December 2022, 20:32:09 UTC
4c2a431 Initialize the rng of external threads (#47956) * Initialize the rng of external threads with uv_random 27 December 2022, 20:00:22 UTC
a815192 Wait for both steps 27 December 2022, 19:07:41 UTC
1794d64 Make printing thread-safe 27 December 2022, 18:43:09 UTC
1fb6ec8 Fix printing 27 December 2022, 15:51:56 UTC
a2db90f Implement support for object caching through pkgimages (#47184) This implements caching native code in "package images" (pkgimages). We now write two serialization files, one ending in `*.ji` and the other with the platform dynamic library extension (e.g., `*.so`). The `*.ji` contains "extended" header information (include the source-code dump for Revise), whereas the dynamic library includes the Julia objects, including LLVM-generated native code. Native code is compiled once during precompilation and then a second time to build a "clean" module. When we find an edge to an external function (already cached in anloaded pkgimage), we emit a global variable which we will patch during loading with the address of the function to call. This allows us to leverage the standard multiversioning capabilities. Co-authored-by: Tim Holy <tim.holy@gmail.com> Co-authored-by: Kristoffer Carlsson <kristoffer.carlsson@chalmers.se> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> Co-authored-by: Max Horn <max@quendi.de> Co-authored-by: Michael Schlottke-Lakemper <michael@sloede.com> Co-authored-by: Alex Ames <alexander.m.ames@gmail.com> 27 December 2022, 13:46:24 UTC
03bdf15 Merge pull request #47994 from JuliaLang/avi/improve-semi-concrete-accuracy Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making the codegen system recognize extended lattice information such as `Const` and `PartialStruct` and not-widening those information from `src::CodeInfo` when caching. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. 27 December 2022, 13:23:28 UTC
6979ff3 Improve printing, add errormonitor, and enable serial run for debug 27 December 2022, 12:37:44 UTC
7ace688 improve semi-concrete interpretation accuracy, take 2 Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making the codegen system recognize extended lattice information such as `Const` and `PartialStruct` and not-widening those information from `src::CodeInfo` when caching. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. 27 December 2022, 11:36:38 UTC
b7e3da6 Revert "improve semi-concrete interpretation accuracy" This reverts commit 67d9dc57709b37c8fe17d817c109efd8e2c8188c. 27 December 2022, 11:36:38 UTC
a2ead37 improve semi-concrete interpretation accuracy, take 1 Currently semi-concrete interpretation can end up with more inaccurate result than usual abstract interpretation because `src.ssavaluetypes` are all widened when cached so semi-concrete interpretation can't use extended lattice information of `SSAValue`s. This commit tries to fix it by making `CodeInstance` keep extended lattice information of `SSAValue`s that are widened and allowing semi-concrete interpretation to override `src.ssavaluetypes` when it uncompressed `src` from `CodeInstance`. I found there are other chances when semi-concrete interpretation can end up with inaccurate results, but that is unrelated to this and should be fixed separately. 27 December 2022, 11:35:58 UTC
a9e0545 compiler: Use correct method to construct empty NamedTuple (#48005) The `NamedTuple(())` method is not available in the inference world age. Empty named tuples needs to be constructed with `NamedTuple()`. This was causing the Diffractor tests to error. 27 December 2022, 11:16:34 UTC
3ff7186 Define `gt_fast` and `ge_fast` (#47972) The important thing here is that `>` is used in `max_fast`, `min_fast`, and `minmax_fast`. These functions did not SIMD in reductions because `>` didn't have an associated fast op. This PR fixes that. 27 December 2022, 10:26:37 UTC
2d0b640 allow external `AbstractLattice` to customize intrinsic tfuncs (#48000) This would be useful for `AbstractInterpreter`-based static analyzers that use custom `AbstractLattice`. 27 December 2022, 07:03:53 UTC
5c493c5 Fix reference to the wrong parse function (#48002) Reference linked to Base.parse instead of Meta.parse 26 December 2022, 16:58:00 UTC
5bd0160 minor lattice fix on `egal_tfunc` (#47998) 26 December 2022, 11:45:37 UTC
f5eeba3 Testsystem: allow skipping tests that require Internet with `--skip internet_required` (#47914) 26 December 2022, 08:40:51 UTC
162ee48 lattice: Don't forget to pass down lattice in Conditional tmerge (#47992) Also add some extra cases that before were taken care of by the tmerge_fast_path at the entry to the tmerge code. I briefly considered splitting an extra slow path function to avoid the one `===` in the ConstsLattice, but in the non-equality case that check should be quite fast, so it didn't seem worth it. 25 December 2022, 12:36:55 UTC
21529a9 irinterp: Add missing widenconst into tmeet (#47993) The `fixup_slot!` code in slot2ssa.jl indiscrimnately moves lattice elements into `PiNode` `typ` fields. As a result, we cannot assume that we have `typ::Type`, so we must widenconst in irinterp to avoid errors. 25 December 2022, 10:05:05 UTC
ea13810 Restore libgcc_s symlinkin in !macOS (#47986) Commit c8b72e2bf49046e8daca64214765694377277947 completely removed libgcc_s symlinking (I assume unintentionally) in !macOS. 24 December 2022, 23:57:00 UTC
3add4cd lattice: Don't short-circuit layers between PartialStruct and Type (#47988) This catches a corner case I missed in #46881. In particular, when both arguments are `Const`, it is legal for intermediate lattice layers between the PartialsLattice and the ConstLattice to do something other than give the merged type. The current code in the PartialsLattice was short-circuiting this, leading to inference imprecision. I think technically, we'd be ok to do the short-circuiting when both are known to be PartialStruct (since we know that they widenlattice to a type), but it doesn't seem worth the extra effort to check. 24 December 2022, 23:17:54 UTC
b540315 Add Juliaup and versions.json to release proc instr (#47984) 24 December 2022, 04:45:00 UTC
c28a71e Merge branch 'master' into pv/parallel-repl-statements-v2 23 December 2022, 22:47:36 UTC
back to top