https://github.com/JuliaLang/julia

sort by:
Revision Author Date Message Commit Date
4100322 fix #49318, structs with odd-size primitive types should count as having padding 14 April 2023, 16:21:29 UTC
ea5c9cb Make `normalize` work for `Number`s (#49342) 14 April 2023, 11:34:10 UTC
99c0dad Rename `ipython_mode` to `numbered_prompt` (#49314) Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> 14 April 2023, 05:55:31 UTC
29d1990 Add syevd LAPACK Hermitian eigensolver (#49262) * Add LAPACK cheevd and zheevd wrapper * Add interface to real symmetric eigensolver syevd 14 April 2023, 03:30:00 UTC
327da72 subtype: `simple_union` allocation optimization (#49293) 13 April 2023, 23:30:10 UTC
fdd71c7 Subtype: fix union estimation on non-type parameters. (#49345) 13 April 2023, 23:28:06 UTC
d6752eb Fix type_more_complex (#49338) * fix type_more_complex for Vararg{Tuple{}} and Vararg{Tuple} * add test for type_more_complex * Update base/compiler/typelimits.jl Co-authored-by: Jameson Nash <vtjnash@gmail.com> --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> 13 April 2023, 22:22:42 UTC
a187209 sroa_pass!: Mark statements that were updated (#49340) sroa_pass! can introduce new type information that inference did not see (e.g. when forwarding field accesses through a mutable). Currently, we just accept that in base, but there are external pass pipelines that run multiple rounds of inference and would like to refine these. Make this possible by introducing a new IR flag that sroa_pass! sets when it modifies a statement. There are currently no consumers in the Base pipeline, but the idea is that these can be passed into _ir_abstract_constant_propagation for refinement. 13 April 2023, 20:06:37 UTC
f7554b5 deps: Update openblas `.tar.gz` checksum (#49311) This was an oversight from #49283. Oops! 13 April 2023, 18:34:43 UTC
b987396 Fix doc. about linear from/to Cartesian indices (#49343) Since Julia (ordinary) arrays have 1-based indices and are in column-major order, the linear index `k` and the Cartesian index `(i,j)` of an element in a `m×n` Julia array are related by: `k = i + m*(j - 1)`. The examples of conversion between linear and Cartesian indices in the doc. use incorrect formulae although the results were correct in the specific element at `(1,3)`. This can be easily checked for other indices than `(1,3)` with a simple `2×3` array (as in the examples) built by `A = reshape(collect(1:6),2,3)`. 13 April 2023, 18:32:34 UTC
3aacf4d Merge pull request #49229 from wldeh/fix-base-sys-which fix(sysinfo): address permission errors in Base.Sys.which 13 April 2023, 18:01:23 UTC
c931884 fix another case where we might return free TypeVar (#48228) We had an environment here that looked like while computing the upper bound for J{S} where S: where S=T where T where I{T} where J{S} where S Then we started handling those, and filling in the values: First replacing S with T, which creates a `res` of `J{T}` where T where I{T} where J{S} where S Then we handled T, which is also going to set `wrap=0`, so our result for `J{T}` will not be made into `J{T} where T`. where I{T} (wrap 0) where J{S} where S Here we then had finished handling all the dependencies for J{S} where S, which resulted in an upper bound assignment of J{T} where I{T} where J{T} Next, we handle I{T}, though it is now unused, so while we will make `I{T} where T` (via innervars) here for it, this goes unuesd. And finally, we had our resulting clause: where J{T} But it is missing the `where T`, since `I` (from lhs) was discarded. Thus we need to add that back now, when handling some innervars, if we see our term got duplicated to a higher part of the bounds before reaching this handling for its placement movement. Co-authored-by: N5N3 <2642243996@qq.com> 13 April 2023, 16:56:47 UTC
049996d Merge pull request #49077 from JuliaLang/jn/typemap-split-more Split typemap more frequently / aggressively. This helps gain more advantage from other optimizations (e.g. type map splitting) sooner. 13 April 2023, 16:55:28 UTC
9ed4087 make thread 1 interactive when there is an interactive pool, so it can run the event loop (#49094) 13 April 2023, 13:04:06 UTC
1f3173e fix(sysinfo): address permission errors in Base.Sys.which (#49181) Resolves a discrepancy between Julia's Base.Sys.which function and the Unix which command when handling directories without read access in the PATH. By introducing a try-catch block for isfile and isexecutable checks, the function now gracefully skips inaccessible directories, mirroring the Unix which command behavior and preventing errors from being raised in such cases. 13 April 2023, 06:56:20 UTC
f84cb27 fix `PartialOpaque` handling within `issimplertype` (#49329) The proper handling has not been implemented here, but it should not error at least. 13 April 2023, 06:28:23 UTC
05fa0a7 🤖 [master] Bump the Pkg stdlib from 992a8c27b to 7ebf98b43 (#49339) 13 April 2023, 00:43:13 UTC
0fad80b Add optional vscale prefix to loopinfo test (#49333) 13 April 2023, 00:34:27 UTC
46e27e9 Merge pull request #49334 from JuliaLang/sf/accelerate_fixes Further relax another piece of the AbstractQ tests 12 April 2023, 20:13:01 UTC
5a6ce6a Further relax another piece of the AbstractQ tests Judging by the other `Matrix(Q)` tests, this should be an approximate equals. Testing with Apple Accelerate shows that all errors are on the order of `1e-16`. 12 April 2023, 19:04:56 UTC
b554e8f Add native UTF-8 Validation using fast shift based DFA (#47880) * Working Native UTF-8 Validation --------- Co-authored-by: Oscar Smith <oscardssmith@gmail.com> Co-authored-by: Steven G. Johnson <stevenj@mit.edu> 12 April 2023, 16:17:41 UTC
dcda267 Add tests for broadcast vectorization (#49317) 12 April 2023, 16:14:23 UTC
b4cc5c2 fix in maxthreadid (#49327) 12 April 2023, 13:57:09 UTC
fc4b079 Merge pull request #48809 from ven-k/vkb/imageing-default Fix imaging value for generating sysimages for multiple targets 12 April 2023, 02:25:44 UTC
acd51cf Adjust tests 11 April 2023, 21:15:29 UTC
2998c90 split typemap more frequently / aggressively Seems to have very little impact on size now (since we use tables much more heavily now instead), so try bumping this parameter. 11 April 2023, 15:58:46 UTC
5917a01 skip function when splitting typemap It is always the same value, so it just wastes a little bit of memory and time to inspect this. 11 April 2023, 15:58:46 UTC
3fa1bcb Incorporate review feedback 11 April 2023, 15:42:09 UTC
4f4842c test: pkgimages and object files with multiple cpu targets 11 April 2023, 15:42:09 UTC
d86285d fix: return true while either generating the output "or" using pkgimages 11 April 2023, 15:42:09 UTC
1aa65c3 when `x` is `NaN` in trig functions return `x` rather than `NaN` (#49285) * when x is NaN in trig functions return x rather than NaN * prefer `isnan(x) | isnan(y)` --------- Co-authored-by: mikmoore <95002244+mikmoore@users.noreply.github.com> 11 April 2023, 15:40:40 UTC
8fbef6e delete unnecessary `getindex` method (#49310) xref: <https://github.com/JuliaLang/julia/pull/47154#discussion_r1161062960> 11 April 2023, 03:27:18 UTC
0e361cf Merge pull request #48749 from JuliaLang/sf/shortest_artifact_matching Resolve artifact ambiguities using shortest match 11 April 2023, 00:19:37 UTC
d599c40 irshow: Be more robust in the face of invalid :invoke Exprs (#49312) In general, printing should take all reasonable steps to show even invalid data structures, since printing is used for debugging. In this case, the :invoke printing had some type asserts and minimum arg length constraints. Check those at the top and fall back to regular `Expr` printing if they are not met. 10 April 2023, 23:35:16 UTC
99938fc Resolve artifact ambiguities using shortest match This changes the behavior of `select_platform()` to resolve ambiguities using a two-step process. Previously, we would simply sort the resultant triplets and return the last one (so as to provide asemi- arbitrary stability, and also to prefer higher version numbers over lower version numbers in tags). However, with the proliferation of tags (and especially the new `sanitize=memory` tags) we need a way to exclude these "extra" tags when our `HostPlatform()` does not have them. This new matching algorithm excludes candidates from matching with the platform if there are other candidates with fewer total tags. This results in a "simplest match first" behavior, which better represents the intent of tags in the first place. 10 April 2023, 22:21:15 UTC
d1a56f5 Merge pull request #49313 from JuliaLang/jn/REPL-complete-fail [REPLCompletions] this code uses `nothing` as the failure token type 10 April 2023, 22:20:58 UTC
b96ec2c Docs: `julia_cmd`: Document use of `julia_cmd()[1]` (#48425) 10 April 2023, 20:51:49 UTC
4ced71a Bump to LBT v5.7.0 (#49281) This release of libblastrampoline contains two new features: ILP64 Accelerate support, and LAPACK_jll support. 10 April 2023, 18:54:34 UTC
844c20d Do not use `widen` for 128-bit ints in `MultiplicativeInverses` (#47995) * Do not use widen for UInt128 --------- Co-authored-by: Oscar Smith <oscardssmith@gmail.com> 10 April 2023, 17:50:45 UTC
2a19342 [REPLCompletions] this code uses `nothing` as the failure token type Need to convert the failure type from inference (Union{}) to the failure type for the new completions logic (nothing). Simultaneously update these tests to be more robust. There is no sort guaranteed order for `methods`, so the lookup needs to be the same as the completions is expected to do. Changed by 98988d8bfbc769c3d20736e0c2e20717b11cd4c9, which ended up conflicting with 35e4a1f9689f4b98f301884e0683e4f07db7514b. 10 April 2023, 15:56:21 UTC
f48194c Merge pull request #49123 from JuliaLang/jn/limit-converts Avoid calling no-op convert most of the time, syntactically. This is not quite as elegant, but dispatch can have a notable cost for latency, so doing something which doesn't generate edges can improve the compiler (since it is then impossible for the user to introduce dispatch changes into it). This is enough of an apparent latency / memory improvement due to the simplification of the abstract model that I think it is worth doing. 10 April 2023, 14:41:03 UTC
35e4a1f make Tuple{Union{}} unconstructable (#49111) Type intersection assumed it was equal to Union{}, so this makes it unconstructable so that holds true. This is similar to what the NamedTuple constructor does. Secondarily, this fixes an inference bug where it would create Vararg{Union{}} and then incorrectly handle that fieldtype. - Fixes #32392 - Addresses part of the concerns discussed in https://github.com/JuliaLang/julia/issues/24614#issuecomment-349679271 - Addresses part of the issues presented in https://github.com/JuliaLang/julia/issues/26175 - May allow improving jl_type_equality_is_identity (https://github.com/JuliaLang/julia/pull/49017/files#diff-882927c6e612596e22406ae0d06adcee88a9ec05e8b61ad81b48942e2cb266e9R986) - May allow improving intersection (finish_unionall can be more aggressive at computing varval for any typevars that appears in covariant position and has lb=Union{} and ub=leaf type) 10 April 2023, 14:17:06 UTC
ea72b94 Remove alloca from codegen (#49186) Replace with SmallVector for better readability. 10 April 2023, 14:15:36 UTC
d0f4327 REPLCompletions: Add completions for var"" identifiers (#49294) * REPLCompletions: Add completions for var"" identifiers Fixes #49280. Mostly just moving code around, but there's one extra place where we're pattern matching var"". I do hope that after the future parser replacement, we can do these things on the in-progress AST rather than textually. * Apply suggestions from code review --------- Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> 10 April 2023, 13:57:25 UTC
94da492 apply_type_tfunc: add heuristic complexity limit (#49167) In #48421 we removed all limits from apply_type, but that can lead to significant expression complexity which may be hard for subtyping to deal with. Try adding a heuristic size limiting constraint. Also do a bunch of code rearrangement and slight cleanup so that this change does not make the logic look complicated here. Solves #49127 10 April 2023, 12:08:18 UTC
cc10e8c 🤖 [master] Bump the Pkg stdlib from fe2b3bdac to 992a8c27b (#49307) 10 April 2023, 11:07:02 UTC
7ddb4e5 Update parallel.md (#49308) Removes the duplicate header `Synchronization` 10 April 2023, 07:59:05 UTC
84906d9 Move interactive check in code load Pkg.precompile (#49304) 10 April 2023, 00:56:26 UTC
ab4863f Merge pull request #49257 from JuliaLang/kc/revert_ext_load Revert "delay loading of extensions as much as possible (#48674)" 09 April 2023, 20:04:43 UTC
4ccaa1b fix new scope assignment warning in Distributed (#49303) Disambiguate scope of the `wp` variable inside `try`-`catch` in distributed tests by qualifying it and suppress the warning reported in the tests. fixes #49289 09 April 2023, 19:36:52 UTC
aa16cea add a test that extension is available during precompilation 09 April 2023, 17:00:13 UTC
bf379e2 Revert "delay loading of extensions as much as possible (#48674)" This reverts commit e3043a875d432ec4bd7c073874a654b55421438f. 09 April 2023, 17:00:13 UTC
1f5e0a2 move out Distributed from the sysimage (#49258) 09 April 2023, 15:27:53 UTC
618a000 🤖 [master] Bump the Pkg stdlib from 429175914 to fe2b3bdac (#49295) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> 09 April 2023, 04:56:38 UTC
ffca15a teach inference about splitting isa on the type Sometime `fieldtype` returns Union{Types}, which we can split during the if, to avoid union splitting on the convert call later when. 09 April 2023, 02:22:45 UTC
b33a763 avoid calling no-op convert most of the time While these are free at runtime, they incur a small compile time cost to create an enumerate the backedge to `convert(::Type{T}, ::T) where T` which is shadowed by pretty much every `convert` method ever added later, requiring careful re-checking for invalidations. This drops the number of specializations of that method from over 1000 to under 100. With the other commits, seems to save over 1 MB (1%) from the standard system image. 09 April 2023, 02:22:45 UTC
139f07b avoid calling no-op convert in lowering when already isa This necessitated removing the unreachable DCE pass, since it would skip emitting SSA assignments, and then attempt to emit a label and then use the value, which was not legal. That necessitated making sure the IR was valid even when it was dead (a couple places tried to emit literal #f into the IR, instead of (null) or skipping it). 09 April 2023, 02:22:45 UTC
339c2c5 remove redundant type-assert for global assignment Makes a better error message too. Saves about 0.1% (0.15MB) on the standard system image. 09 April 2023, 02:22:45 UTC
2ef3361 syntax: minor cleanup of convert-for-type-decl code [NFC] 09 April 2023, 02:22:45 UTC
1cf5091 simply Union inside UnionAll inside Union during construction (#49279) Allows more opporutunities to discover (and eliminate) repeated components, as well as helping to separate the UnionAll variables into separate domains for subtyping's separability analysis. 08 April 2023, 17:27:34 UTC
197710e Fix debug assert when using module as tparam (#49292) This was an oversight in the implementation of #47749 and caused spurious asserts in debug mode: ``` julia> struct Foo{A, B}; end julia> Foo{Base} julia-debug: /home/keno/julia/src/builtins.c:350: type_object_id_: Assertion `!tv->name->mutabl' failed. ``` 08 April 2023, 08:21:27 UTC
804da71 Recompile sysimage when generate_precompile.jl is changed (#49043) 08 April 2023, 00:25:13 UTC
14afdd2 Silence `gfortran: command not found` in build logs (#49243) Looks like these snuck in after the last round we silenced these warnings. 07 April 2023, 19:40:53 UTC
50606b2 deps: Upgrade OpenBLAS to v0.3.23 (#49283) 07 April 2023, 19:40:01 UTC
1bd8482 subtype: reuse existing allocations when possible (#49277) When part of a type is a subtype of the other part, we can reuse the existing object to represent the result of that part. Additionally, we can sometimes defer allocating this until it is known how long it needs to be and whether it is already present in the type cache. 07 April 2023, 19:39:20 UTC
02704d9 normalize unions made in subtyping (#49276) We observed a case where simple_tmeet made a Union of egal things, which is undesirable. There also was no sorting of the result, as it normally done, and theoretically, simplification with an omit_bad_union to remove `S` could similar result in a Union that should be further simplified to remove redundancies. ``` Union{Union{Val{T}, S} where T<:AbstractString, Union{Val{T}, Int64} where T<:AbstractString} where S ``` (In principle, that simplification might also be possible to do during the original jl_type_union call when flattening it: see #49279) 07 April 2023, 18:30:13 UTC
0c24073 slightly optimize has_free_typevars (#49278) Manually convert these to tail-recursive form, so the stack can be unwound directly as soon as it finds an answer in many common cases (DataType with many simple UnionAll wrappers). 07 April 2023, 18:26:54 UTC
a1013e7 more robust validation of allocation type (#49269) We generally hit the runtime in pretty specific places when allocations look funky (because they are missing a typevar bound, so inference is not too willing to deal with it). Try to throw an error in those cases before those can get allocated and cause problems later from being non-concrete objects. Fix #49203 07 April 2023, 17:25:31 UTC
8baf10e inference: cleanup some lattice operations (#49271) The smerge function was bypassing some of the limits of tmerge, which was undesirable, though the impact is apparently negligible. Co-authored-by: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> 07 April 2023, 17:24:23 UTC
f2cbca6 Merge pull request #49261 from N5N3/some-simple-fast Some simple intersection/subtyping performance tuning. 06 April 2023, 18:20:02 UTC
def2dda make default worker pool an AbstractWorkerPool (#49101) Changes [Distributed._default_worker_pool](https://github.com/JuliaLang/julia/blob/5f5d2040511b42ba74bd7529a0eac9cf817ad496/stdlib/Distributed/src/workerpool.jl#L242) to hold an `AbstractWorkerPool` instead of `WorkerPool`. With this, alternate implementations can be plugged in as the default pool. Helps in cases where a cluster is always meant to use a certain custom pool. Lower level calls can then work without having to pass a custom pool reference with every call. 06 April 2023, 02:48:02 UTC
1bf65b9 Log only if something was invalidated (#49264) 05 April 2023, 17:46:56 UTC
6bfb7fb move out Test from the sysimage (#49134) 05 April 2023, 16:23:38 UTC
5235bfb Avoid re-intersection for simple case 05 April 2023, 09:27:01 UTC
f1de0a9 Skip the subtype check in `rename_unionall` 05 April 2023, 09:27:01 UTC
280f999 Enable seperatable subtyping for equality check. 05 April 2023, 09:26:44 UTC
bd1a664 Fix LazyString building with non-ASCII preceding $ (#49248) 05 April 2023, 06:55:24 UTC
8be6f0f move out LazyArtifacts from the sysimage (#49130) 05 April 2023, 06:53:25 UTC
80c2ec4 move out SharedArrays from the sysimage (#49131) 05 April 2023, 06:52:45 UTC
4134e93 use Pkg.precompile during loading via Pkg hook (#49242) 05 April 2023, 02:28:02 UTC
96812bd subtype: allocate space for small environments on the stack (#49215) For comparisons of expressions with less than about 4-8 variables, allocate all of the save space on the stack instead of a temporary short-lived svec. 04 April 2023, 20:34:39 UTC
93df7e2 (re-)allow include_dependency(directory) (#49244) same for symlinks, adjust docs accordingly and clarify that it refers to the mtime 04 April 2023, 14:32:51 UTC
822d9b8 Do not create sigwait() thread when JL_OPTIONS_HANDLE_SIGNALS_OFF (#48957) We already disable part of the signal-handling machinery, but it seems that this piece was missed for an unknown reason. This is important to disable so that, e.g. `sigwait()` can be received reliably by the main application (which may even be another copy of Julia). 04 April 2023, 13:28:28 UTC
50f50a7 Make mark_obj32 like the 16 and 8 bit function by (#49240) pushing the parent into the remset 04 April 2023, 11:52:20 UTC
3f0f8d9 effects: improve effect analysis for `isdefined` call (#49226) When applied to non-immutable object, `isdefined_effects` should taint `:consistent`-cy by `CONSISTENT_IF_INACCESSIBLEMEMONLY` instead of `ALWAYS_FALSE`. This commit also fixes up its `inaccessiblememonly` modeling. 04 April 2023, 08:19:54 UTC
b258051 move out Profile from the sysimage (#49132) 04 April 2023, 04:42:50 UTC
2ec27e9 Merge pull request #48913 from JuliaLang/avi/irsv inference: refactoring to allow irinterp to perform `:call` inference 04 April 2023, 00:09:44 UTC
98988d8 REPLCompletions: replace `get_type` by the proper inference (#49206) This PR generalizes the idea from #49199 and uses inference to analyze the types of REPL expression. This approach offers several advantages over the current `get_[value|type]`-based implementation: - The need for various special cases is eliminated, as lowering normalizes expressions, and inference handles all language features. - Constant propagation allows us to obtain accurate completions for complex expressions safely (see #36437). Analysis on arbitrary REPL expressions can be done by the following steps: - Lower a given expression - Form a top-level `MethodInstance` from the lowered expression - Run inference on the top-level `MethodInstance` This PR implements `REPLInterpreter`, a custom `AbstractInterpreter` that: - aggressively resolve global bindings to enable reasonable completions for lines like `Mod.a.|` (where `|` is the cursor position) - aggressively concrete evaluates `:inconsistent` calls to provide reasonable completions for cases like `Ref(Some(42))[].|` - does not optimize the inferred code, as `REPLInterpreter` is only used to obtain the type or constant information of given expressions Aggressive binding resolution presents challenges for `REPLInterpreter`'s cache validation (since #40399 hasn't been resolved yet). To avoid cache validation issue, `REPLInterpreter` only allows aggressive binding resolution for top-level frame representing REPL input code (`repl_frame`) and for child `getproperty` frames that are constant propagated from the `repl_frame`. This works, since 1.) these frames are never cached, and 2.) their results are only observed by the non-cached `repl_frame` `REPLInterpreter` also aggressively concrete evaluate `:inconsistent` calls within `repl_frame`, allowing it to get get accurate type information about complex expressions that otherwise can not be constant folded, in a safe way, i.e. it still doesn't evaluate effectful expressions like `pop!(xs)`. Similarly to the aggressive binding resolution, aggressive concrete evaluation doesn't present any cache validation issues because `repl_frame` is never cached. Also note that the code cache for `REPLInterpreter` is separated from the native code cache, ensuring that code caches produced by `REPLInterpreter`, where bindings are aggressively resolved and the code is not really optimized, do not affect the native code execution. A hack has also been added to avoid serializing `CodeInstances`s produced by `REPLInterpreter` during precompilation to workaround #48453. closes #36437 replaces #49199 03 April 2023, 20:29:54 UTC
10e2001 inference: refactoring to allow irinterp to perform `:call` inference This commit implements a significant refactoring of the inference routines, which is necessary to enable `:call` inference in irinterp. While this commit does not yet enable `:call` inference, a subsequent small commit will do so. This is because external `AbstractInterpreter`s first need to adjust their code for this refactoring, and in the event of a regression detected by the recursive `:call` inference, we will be able to simply revert the small commit. Additionally, this commit improves the robustness of irinterp by allowing it to handle invoke calls, which currently result in a crash. TODOs: - [x] implement a simple recursion detection mechanism for `IRInterpretationState` - [x] add proper invalidation support - [x] allow constant inference from semi-concrete interpretation - [x] propagate callinfo and allow double inlining 03 April 2023, 06:12:05 UTC
46813d3 optimize `Core.Compiler` a bit (#49227) 03 April 2023, 04:56:52 UTC
ff9435c Delete codesign.sh (#48545) 03 April 2023, 00:03:24 UTC
a612220 effects: add docstrings to the type-based-effect-analysis queries (#49222) 02 April 2023, 06:28:53 UTC
a20a3d0 effects: power-up effects analysis for array operations (#47154) Mostly by making use of newly added `:inaccessiblememonly` effect property. Now we can fold simple vector operations like: ```julia julia> function simple_vec_ops(T, op!, op, xs...) a = T[] op!(a, xs...) return op(a) end; simple_vec_ops (generic function with 1 method) julia> for T = Any[Int,Any], op! = Any[push!,pushfirst!], op = Any[length,size], xs = Any[(Int,), (Int,Int,)] let effects = Base.infer_effects(simple_vec_ops, (Type{T},typeof(op!),typeof(op),xs...)) @test Core.Compiler.is_foldable(effects) end end julia> code_typed() do simple_vec_ops(Any, push!, length, Any,nothing,Core.Const(1)) end 1-element Vector{Any}: CodeInfo( 1 ─ return 3 ) => Int64 ``` 02 April 2023, 05:27:09 UTC
ce64b80 Merge pull request #48853 from JuliaLang/avi/boundscheck effects: assume `:nothrow`-ness more when bounds checking is manually turned off 02 April 2023, 01:09:54 UTC
b8057f3 Don't hardcode LLVM version number (#49051) 01 April 2023, 20:39:10 UTC
121dca6 NEWS: add news for task-local RNG split change (#49217) 01 April 2023, 20:21:45 UTC
8b86d91 effects: analyze bounds checking of `getfield` properly This allows us to prove `:nothrow`-ness of `getfield` when bounds checking is turned off manually. It still taints `:nothrow` when a name of invalid type is given. 01 April 2023, 15:16:10 UTC
e022ab2 effects: avoid `UndefRefError` error check when analyzing `arrayset` This helps us prove `:nothrow`-ness of `arrayset` when bounds checking is turned off manually. 01 April 2023, 15:15:12 UTC
1eee6ef Make :open ccall use variadic cconv (#49212) 01 April 2023, 03:25:19 UTC
7618e64 Tasks: don't advance task RNG on task spawn (#49110) 31 March 2023, 23:22:14 UTC
back to top