swh:1:snp:a72e953ecd624a7df6e6196bbdd05851996c5e40
- HEAD
- refs/branches/jn/codeinfo-lineno
- refs/heads/KristofferC-patch-1
- refs/heads/KristofferC-patch-2
- refs/heads/KristofferC-patch-3
- refs/heads/KristofferC-patch-4
- refs/heads/KristofferC-patch-5
- refs/heads/KristofferC-patch-6
- refs/heads/KristofferC-patch-7
- refs/heads/SubtypeError
- refs/heads/aa-tcp-write-opt-18
- refs/heads/aa/build-llvm-unwind
- refs/heads/aa/freebsd-llvm-libunwind
- refs/heads/aa/test-throws-nothing
- refs/heads/add-buffer-type
- refs/heads/add-buffer-type2
- refs/heads/adnan-alhomssi-aa-export-numstacks-counter
- refs/heads/adr/snapshot
- refs/heads/ajf/arrays-are-tables
- refs/heads/ajf/broadcast-dicts
- refs/heads/ajf/cartesianrange-array
- refs/heads/ajf/default-length-definition
- refs/heads/ajf/deprecatemultivaluenonscalarindexedassignment
- refs/heads/ajf/dict-iterate-values
- refs/heads/ajf/mappedarray
- refs/heads/ajf/pairs2
- refs/heads/ajf/propage_inbounds_broadcast
- refs/heads/ajf/skipmissing-length
- refs/heads/ajf/strides-trait
- refs/heads/amp-ref
- refs/heads/anj/map
- refs/heads/asan_tasks_eh
- refs/heads/avi/1.11-precompile-ext-absint
- refs/heads/avi/46713
- refs/heads/avi/47137-again
- refs/heads/avi/52991
- refs/heads/avi/EASROA
- refs/heads/avi/async-completion
- refs/heads/avi/bailout-effects
- refs/heads/avi/bailoutintrinsics
- refs/heads/avi/boundscheck-docs
- refs/heads/avi/boundserror
- refs/heads/avi/callinfo-effects
- refs/heads/avi/codegen-custom-lookup-oc
- refs/heads/avi/configconstprop
- refs/heads/avi/constType-Union
- refs/heads/avi/early_const_prop
- refs/heads/avi/effects-override-bittype
- refs/heads/avi/effects_constprop
- refs/heads/avi/elim-wasterful-constprop
- refs/heads/avi/follow-52415
- refs/heads/avi/gpucompiler-384
- refs/heads/avi/hunt-type-instabilities
- refs/heads/avi/inbounds-nothrow
- refs/heads/avi/infer_effects
- refs/heads/avi/infresult_iterator
- refs/heads/avi/inline_string
- refs/heads/avi/inlining-policy
- refs/heads/avi/inlining_cost
- refs/heads/avi/interval
- refs/heads/avi/jet413
- refs/heads/avi/kwinline
- refs/heads/avi/moreeffects
- refs/heads/avi/multisroa
- refs/heads/avi/mutablephi
- refs/heads/avi/optlifetime
- refs/heads/avi/plugin8
- refs/heads/avi/plugin8-2
- refs/heads/avi/remove-throw-block-unopt
- refs/heads/avi/return_type-max_methods
- refs/heads/avi/rm-allow_abstract
- refs/heads/avi/temp-methodinstance-to-invoke
- refs/heads/avi/turn-on-aliasedfieldanalysis
- refs/heads/avi/typed_hvcat-return_type
- refs/heads/avi/typelattice
- refs/heads/avi/typetypeinf
- refs/heads/avi/undef
- refs/heads/backport-1.1.0
- refs/heads/backports-release-1.1
- refs/heads/backports-release-1.10
- refs/heads/backports-release-1.11
- refs/heads/backports-release-1.6
- refs/heads/backports-release-1.8
- refs/heads/breakmore
- refs/heads/caf/bump-juliasyntax-0.4.7
- refs/heads/cjf/disallow-infix-macros
- refs/heads/cjf/fpe-exceptions
- refs/heads/cjf/hide-in-stacktrace-meta
- refs/heads/cjf/hide-stacktrace-frames
- refs/heads/cjf/internal-properties
- refs/heads/cjf/logging-custom-levels
- refs/heads/cjf/logging-custom-levels-wip
- refs/heads/cjf/remove-loaderror
- refs/heads/cjf/toplevel-backtraces
- refs/heads/cjf/toplevel-backtraces-via-interpframe-stack
- refs/heads/cjh/doxygen
- refs/heads/cjh/fix-4774
- refs/heads/cjh/parallel-bench
- refs/heads/ct/julia-opt-zone
- refs/heads/curry
- refs/heads/cv/abstractstring-eq
- refs/heads/cv/arm-hotfix
- refs/heads/cv/broadcast-steprange-timetype
- refs/heads/cv/char-code-reservation
- refs/heads/cv/dates-replace
- refs/heads/cv/fix-redundant-dict-error
- refs/heads/cv/generator-indexing
- refs/heads/cv/invalid-rational
- refs/heads/cv/namedtuple-pair
- refs/heads/cv/no-color-force-color
- refs/heads/da/devcontainer-update
- refs/heads/dcn-1.9-with-mem-pressure-callback
- refs/heads/dcn-3-color
- refs/heads/dcn-canonicalize-callable-names
- refs/heads/dcn-check-oldest-object-in-size-class
- refs/heads/dcn-compiler-obj-pools
- refs/heads/dcn-count-stack-bytes
- refs/heads/dcn-gc-interface
- refs/heads/dcn-gc-paper-1.9-branch
- refs/heads/dcn-gc-paper-dev-branch
- refs/heads/dcn-heap-size-hint-env
- refs/heads/dcn-null-out-gc-slots
- refs/heads/dcn-page-profiler-more-verbose-types
- refs/heads/dcn/docs
- refs/heads/dcn/mq
- refs/heads/dk/banded
- refs/heads/dk/blaspromo
- refs/heads/dk/choleskypivot
- refs/heads/dk/hvcat_scaling_number
- refs/heads/dk/missing
- refs/heads/dk/muladdmul
- refs/heads/dk/stable_div
- refs/heads/dont-tabcomplete-internals
- refs/heads/dpa/base-prompt-public-api
- refs/heads/dpa/ci-environment-variable
- refs/heads/dpa/deprecation_exec
- refs/heads/dpa/diagnostics-interactiveutils
- refs/heads/dpa/infodump-interactiveutils
- refs/heads/dpa/more-public-task-local-storage-methods
- refs/heads/dpa/new-global-load-path-entry
- refs/heads/dpa/parentmodule
- refs/heads/dpa/pidfile-windows-eacces
- refs/heads/dpa/sparsearrays
- refs/heads/dpa/versioninfo-official-release
- refs/heads/fe/--threads-propagate
- refs/heads/fe/-P
- refs/heads/fe/active-depot
- refs/heads/fe/backport-31967
- refs/heads/fe/deprecate-logging
- refs/heads/fe/depwarn-default
- refs/heads/fe/doctest-fix
- refs/heads/fe/errorexception
- refs/heads/fe/helpmode-stdout
- refs/heads/fe/hermsym-matrixfunc
- refs/heads/fe/integer-construction
- refs/heads/fe/misc
- refs/heads/fe/nvr
- refs/heads/fe/repr-versioninfo
- refs/heads/fe/rm-artifacts
- refs/heads/fe/ssh
- refs/heads/fe/structured-matrix-constructor
- refs/heads/fe/version-v2
- refs/heads/fix9475
- refs/heads/gb/analyzer-fun
- refs/heads/gb/branch-bits
- refs/heads/gb/gc-correct-constraint
- refs/heads/gb/gc-other-impl
- refs/heads/gb/gc-rever
- refs/heads/gb/hashtable_typelist
- refs/heads/gb/libfuncattrs
- refs/heads/gb/llvmpasses-dep
- refs/heads/gb/memcmo
- refs/heads/gb/memory-extra-check
- refs/heads/gb/mi-alias
- refs/heads/gb/pipeline-fun
- refs/heads/gb/rpath-fun
- refs/heads/gb/small-image
- refs/heads/gb/small-image2
- refs/heads/gb/stack-protect
- refs/heads/gb/vecalign
- refs/heads/gpu-broadcast
- refs/heads/id_norm
- refs/heads/jb/06_compiler_perf
- refs/heads/jb/39698
- refs/heads/jb/AbstractOneTo
- refs/heads/jb/IdUnitRangeparent
- refs/heads/jb/allowoverwrite
- refs/heads/jb/analyzevars
- refs/heads/jb/arraygcperf
- refs/heads/jb/badidentifierstart
- refs/heads/jb/bidi16
- refs/heads/jb/cg_temp
- refs/heads/jb/codeinfostuff
- refs/heads/jb/copyanonfns
- refs/heads/jb/copyfile
- refs/heads/jb/diagblockdiagonal
- refs/heads/jb/dotcolon
- refs/heads/jb/fastercat
- refs/heads/jb/fix14106
- refs/heads/jb/fix29501
- refs/heads/jb/fix38902
- refs/heads/jb/fix39834
- refs/heads/jb/fix47318
- refs/heads/jb/fix49318
- refs/heads/jb/fix52120
- refs/heads/jb/freethreadstate
- refs/heads/jb/gotofromtry
- refs/heads/jb/implicitssa
- refs/heads/jb/interpreter_opt
- refs/heads/jb/iowriteperf
- refs/heads/jb/jr/tuplelattice
- refs/heads/jb/latency10
- refs/heads/jb/latency12
- refs/heads/jb/latency3
- refs/heads/jb/latency33615
- refs/heads/jb/latency_experiments
- refs/heads/jb/limitedmethods
- refs/heads/jb/macrostuff
- refs/heads/jb/modprefixshow
- refs/heads/jb/news111
- refs/heads/jb/novaoverride
- refs/heads/jb/nullableget
- refs/heads/jb/open3
- refs/heads/jb/quietparams
- refs/heads/jb/r5rs
- refs/heads/jb/revinlinethresh
- refs/heads/jb/ruleinlinecost
- refs/heads/jb/serializeperf
- refs/heads/jb/shortstrlen
- refs/heads/jb/silentparams
- refs/heads/jb/simpler_intersection2
- refs/heads/jb/sjkelly-sjk/precomp_trace2
- refs/heads/jb/steprangegetindex
- refs/heads/jb/stripmeta
- refs/heads/jb/sysimgLogging
- refs/heads/jb/tasksize
- refs/heads/jb/taskwaitswitch
- refs/heads/jb/threadedregion-test
- refs/heads/jb/typedefIR2
- refs/heads/jb/typegetfield
- refs/heads/jb/typemap0
- refs/heads/jb/varlocs
- refs/heads/jcb/arrayviews
- refs/heads/jcb/evalmacrocallthrows
- refs/heads/jcb/juliarepl
- refs/heads/jcb/simdmdloop
- refs/heads/jh/setops
- refs/heads/jishnub/abstractqsimilar
- refs/heads/jishnub/blocktridiagonalindexing
- refs/heads/jishnub/getindexint
- refs/heads/jishnub/ntupleshow
- refs/heads/jishnub/onetopromoterule
- refs/heads/jishnub/oopmuldisambiguate
- refs/heads/jishnub/rangebroadcastambiguity
- refs/heads/jishnub/rangezero
- refs/heads/jishnub/tricopyto
- refs/heads/jishnub/twiceprecisionzero
- refs/heads/jishnub/upperlowertriangularfn
- refs/heads/jmw/null-syntax
- refs/heads/jn/26512
- refs/heads/jn/29872-compare
- refs/heads/jn/34886
- refs/heads/jn/37349
- refs/heads/jn/StructRet_abi
- refs/heads/jn/Tuple-applytype-bottom
- refs/heads/jn/array-inbounds-audit
- refs/heads/jn/atomic-modify-opt
- refs/heads/jn/avi/noopt-interp-irinterp-compare
- refs/heads/jn/backedge-fixup
- refs/heads/jn/backports-release-1.4
- refs/heads/jn/better-broadcast-inlining
- refs/heads/jn/bigfloat-mem
- refs/heads/jn/broadcast-some-more
- refs/heads/jn/check_sadd
- refs/heads/jn/compile-all-0.6
- refs/heads/jn/compile_all_generic_box
- refs/heads/jn/drop-inexact
- refs/heads/jn/exposed-hygiene
- refs/heads/jn/fix-macro-scope-design
- refs/heads/jn/fix34159
- refs/heads/jn/gc-pool-lazy
- refs/heads/jn/generalized-LOAD_PATH-compilecache
- refs/heads/jn/have_fma_sysimg
- refs/heads/jn/iddict
- refs/heads/jn/import-strtod
- refs/heads/jn/in-isequal
- refs/heads/jn/iocolor
- refs/heads/jn/iocolor2
- refs/heads/jn/ircode-memory
- refs/heads/jn/isdefined-safely
- refs/heads/jn/iterate
- refs/heads/jn/jb-subtype
- refs/heads/jn/jb-subtype-const-type-fix
- refs/heads/jn/jb-subtype-faster-isa-Type
- refs/heads/jn/jlinterpreter
- refs/heads/jn/kf-linecolstr
- refs/heads/jn/kf/iterate-wip
- refs/heads/jn/kf/newlocs
- refs/heads/jn/lazydoc
- refs/heads/jn/license-committers
- refs/heads/jn/llvmcall2
- refs/heads/jn/localize-multiversioning
- refs/heads/jn/memoize-freevars
- refs/heads/jn/methmatch-cache
- refs/heads/jn/mixed-equal
- refs/heads/jn/ml-match-opt
- refs/heads/jn/ml-matches-leaf-cache2
- refs/heads/jn/modulecoalescing
- refs/heads/jn/more-faster-typeset
- refs/heads/jn/more-inline-costs
- refs/heads/jn/msvclink
- refs/heads/jn/new-stdlib-script-docs
- refs/heads/jn/newir-test-fixes
- refs/heads/jn/noinline-structs
- refs/heads/jn/opt-makefile-compile-take2
- refs/heads/jn/release0.6-26833
- refs/heads/jn/requirenewmodule
- refs/heads/jn/simple-scope
- refs/heads/jn/slot-type-infer-optimize
- refs/heads/jn/steprange
- refs/heads/jn/subtype-sig-equal
- refs/heads/jn/test-warn-repr
- refs/heads/jn/threading
- refs/heads/jn/tune_whos
- refs/heads/jn/tuplecc
- refs/heads/jn/type-construction-normalization
- refs/heads/jn/typeinfo_arg
- refs/heads/jn/typename_hide_null_svec
- refs/heads/jn/undeffield-codegen-opt
- refs/heads/jn/unhandled_exception_handler
- refs/heads/jn/union-bits-layout
- refs/heads/jn/update-precompile-heuristic
- refs/heads/jn/widen_method_matchs
- refs/heads/jq-19-backport
- refs/heads/jq-dense-strings
- refs/heads/jq-tcp-socket-keepalive
- refs/heads/jq/40303
- refs/heads/jq/buffer
- refs/heads/jq/bufferall
- refs/heads/jr/betterspoof
- refs/heads/jr/cinfoworldboundstmp
- refs/heads/jr/compiledebug
- refs/heads/jr/moarpartialtuple
- refs/heads/jr/ptupleprop
- refs/heads/jr/tmp2
- refs/heads/jr/tupleconst
- refs/heads/jr/tuplekindtypefix
- refs/heads/jr/tuplelatticeold
- refs/heads/jr/wip
- refs/heads/julia-in-julia
- refs/heads/kc/1.9.0-beta3
- refs/heads/kc/JULIA_ENV
- refs/heads/kc/TM
- refs/heads/kc/arg_usings
- refs/heads/kc/artifact_str_world
- refs/heads/kc/assume_unchanged_loading
- refs/heads/kc/backport_gcc10
- refs/heads/kc/backport_vtj
- refs/heads/kc/backporter
- refs/heads/kc/backports-release-1.10
- refs/heads/kc/build_stdlib_env
- refs/heads/kc/cache_precompile
- refs/heads/kc/cglobal
- refs/heads/kc/codeloading2.0
- refs/heads/kc/complete_num
- refs/heads/kc/core_compiler_tracy
- refs/heads/kc/creating_packages_revert
- refs/heads/kc/debug_mode
- refs/heads/kc/debug_mode2
- refs/heads/kc/debug_precompile
- refs/heads/kc/debug_release-1.9
- refs/heads/kc/dir_dlload
- refs/heads/kc/doctest_meta2
- refs/heads/kc/doctests_CI
- refs/heads/kc/exception_trait
- refs/heads/kc/excise_libgit2_v2
- refs/heads/kc/extension
- refs/heads/kc/fix_init
- refs/heads/kc/fix_print_type
- refs/heads/kc/glue_modules
- refs/heads/kc/immut_dict
- refs/heads/kc/inline_print
- refs/heads/kc/inval
- refs/heads/kc/llvm-opt-zone
- refs/heads/kc/llvm-opt-zone2
- refs/heads/kc/llvm_pass_trac
- refs/heads/kc/loading_debug_error
- refs/heads/kc/loading_stuff
- refs/heads/kc/move_dates_anub
- refs/heads/kc/n_triggers
- refs/heads/kc/perf_ident
- refs/heads/kc/pidlock_repl_history
- refs/heads/kc/pkg3_patch
- refs/heads/kc/pkgdir_fix
- refs/heads/kc/pkgstdlib
- refs/heads/kc/precompile_overhead
- refs/heads/kc/precompile_with_pkg3
- refs/heads/kc/repl_fast
- refs/heads/kc/reuse_compile
- refs/heads/kc/reuse_precompile
- refs/heads/kc/seed_fast
- refs/heads/kc/set_threads
- refs/heads/kc/so_long_and_thanks_for_the_packages
- refs/heads/kc/sprint_displaysize
- refs/heads/kc/stat_reductions
- refs/heads/kc/stdlib
- refs/heads/kc/stdlib_markdown
- refs/heads/kc/stdlib_path_internal
- refs/heads/kc/stdlib_printing
- refs/heads/kc/str_lit_cont
- refs/heads/kc/substr_toml
- refs/heads/kc/substring_parse
- refs/heads/kc/test
- refs/heads/kc/test_inline
- refs/heads/kc/toml_loading
- refs/heads/kc/tracy_plot
- refs/heads/kc/tuple_afoldl
- refs/heads/kc/type_cache_insert_default
- refs/heads/kc/unused
- refs/heads/kc/upgradable_stdlibs
- refs/heads/kc/warn_using
- refs/heads/kc/was
- refs/heads/kc/weak_deps_2
- refs/heads/kc/whatdocstoshow
- refs/heads/kc/wip_stacktraces
- refs/heads/kc/zone
- refs/heads/kf/53515
- refs/heads/kf/anysparamlattice
- refs/heads/kf/asan2
- refs/heads/kf/bbmsan
- refs/heads/kf/cedarwip
- refs/heads/kf/cfgwip
- refs/heads/kf/circshift
- refs/heads/kf/closestcandidates
- refs/heads/kf/codegen
- refs/heads/kf/codeinstwip
- refs/heads/kf/codetypedconst
- refs/heads/kf/compiler_wip_dont_look
- refs/heads/kf/compilerperfwip
- refs/heads/kf/customlattice
- refs/heads/kf/cvppipeline
- refs/heads/kf/cwip
- refs/heads/kf/cyclepostorder
- refs/heads/kf/effectpreconds
- refs/heads/kf/erroroptwip
- refs/heads/kf/expzerocase
- refs/heads/kf/fastsysimg
- refs/heads/kf/fieldtypetfuncunion
- refs/heads/kf/filestdio
- refs/heads/kf/forcedartemp
- refs/heads/kf/gallium
- refs/heads/kf/getfieldlowering
- refs/heads/kf/heappromote
- refs/heads/kf/hooks3
- refs/heads/kf/ia/conditionalbug
- refs/heads/kf/incomplete2
- refs/heads/kf/incomplete_type
- refs/heads/kf/inferencefaster
- refs/heads/kf/interphook
- refs/heads/kf/iter
- refs/heads/kf/iteratewip
- refs/heads/kf/jb/rm_deps_3
- refs/heads/kf/jscall
- refs/heads/kf/loosenhardlimit
- refs/heads/kf/magiccompilerdustforceleste2
- refs/heads/kf/magiccompilerdustforceleste3
- refs/heads/kf/magiccompilerdustforceleste4
- refs/heads/kf/mimedata
- refs/heads/kf/mmap
- refs/heads/kf/multiany
- refs/heads/kf/newclidrivers
- refs/heads/kf/newdinfo
- refs/heads/kf/notworkingbadwip
- refs/heads/kf/opaque_closures2
- refs/heads/kf/permuteddimssimilar
- refs/heads/kf/reclimit
- refs/heads/kf/refactortodo
- refs/heads/kf/replfixes
- refs/heads/kf/rmwatchers
- refs/heads/kf/sanitizermake
- refs/heads/kf/stdioredirect
- refs/heads/kf/switchwip
- refs/heads/kf/sysimglinkopenlibm
- refs/heads/kf/topush
- refs/heads/kf/tpu
- refs/heads/kf/tpu2
- refs/heads/kf/tpu3
- refs/heads/kf/typeoftypes
- refs/heads/kf/typeofvalid
- refs/heads/kf/unionpenalties2
- refs/heads/kf/unionsplit2
- refs/heads/kf/uvint32
- refs/heads/kf/wasm
- refs/heads/kf/wasm2
- refs/heads/kf/wasm3
- refs/heads/kf/wasm4
- refs/heads/kf/wine-check_ws
- refs/heads/kf/winefix2
- refs/heads/kf/winfix
- refs/heads/kf/wip
- refs/heads/kf/wrapintops
- refs/heads/kf/xlademo
- refs/heads/kp-improve-rl
- refs/heads/kp/disable-gc-atexit
- refs/heads/kp/fix-53325
- refs/heads/kp/old_partr
- refs/heads/kp/schedtask
- refs/heads/ksh/pkgtestset
- refs/heads/ksh/sockdoc
- refs/heads/ksh/transcode
- refs/heads/lh/bump-jls
- refs/heads/lh/dict-token-api
- refs/heads/lh/fix-typos
- refs/heads/lh/fix-typos-base
- refs/heads/lh/prepared-comparisons
- refs/heads/lh/stacktrace-reverse-print
- refs/heads/lh/typos-fixup-base
- refs/heads/lh/using-as
- refs/heads/master
- refs/heads/mb/I,broadcast
- refs/heads/mb/aliasscopebroadcast
- refs/heads/mb/inbounds-expression
- refs/heads/mb/outline-broadcast
- refs/heads/mb/recursive-cat
- refs/heads/mb/self-aliasing-broadcasts
- refs/heads/mb/thisshouldhaveoccurredtome
- refs/heads/mb/transpose
- refs/heads/mb/true28866
- refs/heads/mb/viewdefault
- refs/heads/mh/circular_types
- refs/heads/mh/ctor-inferability
- refs/heads/mh/fix-38327
- refs/heads/mh/fix-38364
- refs/heads/mh/fix-50548
- refs/heads/mh/fix-50617
- refs/heads/mh/improve-tmeet-for-vararg-partialstruct
- refs/heads/mh/patch_rdims
- refs/heads/mh/rework_apply
- refs/heads/mh/totuple_builtin
- refs/heads/mji/zygote
- refs/heads/mp/ssh-key-debug
- refs/heads/nhd-alloc-profiler-types+reasons
- refs/heads/nhd-apply-generic-stack-args
- refs/heads/nhd-channel-funcs-nospecialize
- refs/heads/nhd-fix-typo
- refs/heads/nhd-getindex-propagate_inbounds
- refs/heads/nhd-heap-snapshot-sampling-3
- refs/heads/nhd-parse-type
- refs/heads/nhd-test_logs-kwargs
- refs/heads/nhd/REPL-completions-usings
- refs/heads/nhd/names-usings
- refs/heads/nl/Dict
- refs/heads/nl/broadcast2
- refs/heads/nl/cat
- refs/heads/nl/length
- refs/heads/nl/mapreducedim
- refs/heads/ob/cttx
- refs/heads/ob/rref
- refs/heads/ob/stackmaps
- refs/heads/origin/kf/ccsisdefined
- refs/heads/os/better-givens
- refs/heads/oscardssmith-exhaustive-Float160-tests
- refs/heads/pc/codeinfo-args
- refs/heads/pc/codlayer8
- refs/heads/pc/gm-stack
- refs/heads/pc/more-licm
- refs/heads/pc/reoptimize
- refs/heads/pc/sleep
- refs/heads/pc/zone
- refs/heads/pepijndevos-constpropcrimes
- refs/heads/pop-abstractset
- refs/heads/pv-alloc-profile-wrap-pool-alloc
- refs/heads/release-0.1
- refs/heads/release-0.2
- refs/heads/release-0.3
- refs/heads/release-0.4
- refs/heads/release-0.5
- refs/heads/release-0.6
- refs/heads/release-0.7
- refs/heads/release-1.0
- refs/heads/release-1.1
- refs/heads/release-1.10
- refs/heads/release-1.11
- refs/heads/release-1.2
- refs/heads/release-1.3
- refs/heads/release-1.4
- refs/heads/release-1.5
- refs/heads/release-1.6
- refs/heads/release-1.7
- refs/heads/release-1.8
- refs/heads/release-1.9
- refs/heads/revert-22049-kf/memcpyopt
- refs/heads/revert-26854-kc/bump_pkg3_6
- refs/heads/revert-28319-kc/precompiler_build2
- refs/heads/revert-29494-kf/uncolon_recursion
- refs/heads/revert-37410-slurp_assignment
- refs/heads/revert-44205-patch-1
- refs/heads/revert-45153-heaphoist-fix
- refs/heads/revert-45677-revert-45195-vc/llvm_14.0.2
- refs/heads/revert-50466-dcn/fix-50419
- refs/heads/revert-52003-revert-29919-sb/reduce-empty
- refs/heads/revert-52086-jn/sort-nonvector-collect
- refs/heads/rf/Bit
- refs/heads/rf/broaden-hash
- refs/heads/rf/conv-str-regex
- refs/heads/rf/defaults
- refs/heads/rf/digits-unsigned-nonrecur
- refs/heads/rf/iter-access
- refs/heads/rf/merge-iter
- refs/heads/rf/ndigits-bases
- refs/heads/rf/pure-push
- refs/heads/rf/pure-push-iocontext
- refs/heads/rf/rand-distrib
- refs/heads/rf/rand-f16-shift
- refs/heads/rf/rand-same-same
- refs/heads/rf/rand/default_rng_dispatch
- refs/heads/rf/rand/hash-seed
- refs/heads/rf/randn-bigfloat
- refs/heads/rf/randn-fillarray
- refs/heads/rf/randperm-ndl
- refs/heads/rf/regex-partial
- refs/heads/rf/regex-testset
- refs/heads/rf/repl/simplify
- refs/heads/rf/repl/switch-mode
- refs/heads/rf/seed-rng
- refs/heads/rf/show/sorted
- refs/heads/rf/typed-hash
- refs/heads/rf/union-immutable-set
- refs/heads/rf/unmerge-merge
- refs/heads/rf/xoshiro/randn
- refs/heads/rf/zeros-bang
- refs/heads/sb/accumulate
- refs/heads/sb/float-div
- refs/heads/sb/libgit2/peel
- refs/heads/sb/reduce-and
- refs/heads/sb/sigfpe2
- refs/heads/sb/task-fenv
- refs/heads/sb/test-scope
- refs/heads/sb/tmstruct-utc
- refs/heads/sds/codegen_globals_wip
- refs/heads/sds/eachindex
- refs/heads/sds/extended_slurp2
- refs/heads/sds/fix_hash_factorization
- refs/heads/sds/inline_bindings
- refs/heads/sds/invalid_argument
- refs/heads/sds/ir_indent
- refs/heads/sds/iter_cartesian
- refs/heads/sds/less_demangle
- refs/heads/sds/named_opaque
- refs/heads/sds/nonstandard_expr_printing
- refs/heads/sds/prop_destruct_macroexpand
- refs/heads/sds/repl_paste
- refs/heads/sds/shell_complete
- refs/heads/sds/timestimes
- refs/heads/sds/tkf/type-capturing
- refs/heads/sds/typedglobals2
- refs/heads/sds/unesc_backslash_cmd
- refs/heads/sf/DO_NOT_DELETE_THIS_BRANCH_unbuildable_commits_test
- refs/heads/sf/altered_treehashes
- refs/heads/sf/armv7l_fixes
- refs/heads/sf/cedar
- refs/heads/sf/cedar2
- refs/heads/sf/core_o_rama
- refs/heads/sf/lazy_jlls
- refs/heads/sf/no_more_base_blas
- refs/heads/sf/patchelf_builddir_not_srccache
- refs/heads/sf/phi_node_replacement
- refs/heads/sf/simplify_threading_check
- refs/heads/sgj/Test.GenericDimensionful
- refs/heads/sgj/combiningchardisplay
- refs/heads/sgj/displaydigits
- refs/heads/sgj/hess_eig
- refs/heads/sgj/iteratedfunction
- refs/heads/sgj/mapreduce_pairwise
- refs/heads/sgj/no_Lm_start
- refs/heads/shell_mode_windows
- refs/heads/show-container-type
- refs/heads/sjk/spqr
- refs/heads/sk/debuginfo=none
- refs/heads/sk/hash_uint
- refs/heads/sk/highlander.alt
- refs/heads/sk/highlander.alt1
- refs/heads/sk/highlander.alt2
- refs/heads/sk/jl_rng_split-comment
- refs/heads/sk/libgit2-ssh-network-options
- refs/heads/sk/newchar
- refs/heads/sk/precompile-blacklist
- refs/heads/sk/stringstate
- refs/heads/sk/unzip
- refs/heads/sk/vendored-packages
- refs/heads/sk/void
- refs/heads/sk/winpaths
- refs/heads/sort_readdir
- refs/heads/srp/repl-undo
- refs/heads/staging
- refs/heads/stevengj-patch-1
- refs/heads/stevengj-patch-2
- refs/heads/stevengj-patch-3
- refs/heads/stevengj-patch-5
- refs/heads/tan/readdlm2
- refs/heads/tb/avoid_oom
- refs/heads/tb/codegen-norecursion
- refs/heads/tb/cuda
- refs/heads/tb/debug_intrinsics
- refs/heads/tb/dinfo_abspath
- refs/heads/tb/excstack_without_handler_backport
- refs/heads/tb/features
- refs/heads/tb/generator_error
- refs/heads/tb/have_fminmax
- refs/heads/tb/inference_hooks
- refs/heads/tb/ircompact_ssavalue_render
- refs/heads/tb/llvm_type_ctor
- refs/heads/tb/map!_boundschecks
- refs/heads/tb/method_lookup_assertion
- refs/heads/tb/pmb_test
- refs/heads/tb/pointerref_addrspace
- refs/heads/tb/poison
- refs/heads/tb/riscv
- refs/heads/tb/strip_as
- refs/heads/tb/task_debug_build
- refs/heads/tb/task_switch_hook
- refs/heads/tb/tdma
- refs/heads/tb/tpu
- refs/heads/teh-vc/serialize_partial_rebase
- refs/heads/teh/bcast_range
- refs/heads/teh/cache_native
- refs/heads/teh/checkindex_traits
- refs/heads/teh/doc_skip_warn
- refs/heads/teh/make_backref_just_visited
- refs/heads/teh/minmax_isless
- refs/heads/teh/pctools
- refs/heads/teh/serialize_partial_recache
- refs/heads/teh/shareindexes
- refs/heads/teh/tuple_limit
- refs/heads/teh/unwrap_isequal
- refs/heads/teh/valgrind-codegen-suppress
- refs/heads/tk/geev
- refs/heads/tkf/jltapir-pr
- refs/heads/topolarity-ct/macroexpand-no-toplevel-recursion
- refs/heads/v1.0
- refs/heads/vc-gb/pc/sleep
- refs/heads/vc/TTLI
- refs/heads/vc/aliasscopes
- refs/heads/vc/amdas
- refs/heads/vc/backport_threadsafety
- refs/heads/vc/bump_llvm
- refs/heads/vc/ccall_safe_gc
- refs/heads/vc/compiler_instance_v2
- refs/heads/vc/dsweep
- refs/heads/vc/dynamicdomtree
- refs/heads/vc/eabi_half
- refs/heads/vc/excise_random
- refs/heads/vc/external_functions_rebase
- refs/heads/vc/fattr_pgcstack
- refs/heads/vc/fixthreadswitching
- refs/heads/vc/float128
- refs/heads/vc/float128_basic
- refs/heads/vc/float16_intrinsics
- refs/heads/vc/gdb-pp
- refs/heads/vc/hwloc
- refs/heads/vc/instrumentations
- refs/heads/vc/int128_atomics
- refs/heads/vc/ittapi_integration
- refs/heads/vc/julia_cong
- refs/heads/vc/julia_vec_shm
- refs/heads/vc/libffi
- refs/heads/vc/libuv_lock
- refs/heads/vc/licm
- refs/heads/vc/llvm-11-svm-back
- refs/heads/vc/llvm-dialects
- refs/heads/vc/llvm11_debug
- refs/heads/vc/llvm11again
- refs/heads/vc/llvm8
- refs/heads/vc/llvm_undef
- refs/heads/vc/loop-unroll
- refs/heads/vc/mlir
- refs/heads/vc/no_copy_stacks
- refs/heads/vc/pappa_demo
- refs/heads/vc/pir
- refs/heads/vc/ppc-llvm6
- refs/heads/vc/ppc_fixes
- refs/heads/vc/ppc_llvm9_revert
- refs/heads/vc/ppc_patch
- refs/heads/vc/ppc_unix_signals
- refs/heads/vc/ppc_yield
- refs/heads/vc/pragmas
- refs/heads/vc/preload_zlib
- refs/heads/vc/remove_track_allocations
- refs/heads/vc/restored-1.0.1
- refs/heads/vc/round_even
- refs/heads/vc/rv_passes
- refs/heads/vc/smallints
- refs/heads/vc/tapir
- refs/heads/vc/tapir2_rts
- refs/heads/vc/tapir3-codegen-chi
- refs/heads/vc/tapir_build
- refs/heads/vc/tomlcc
- refs/heads/vc/tsan_nort
- refs/heads/vc/uring
- refs/heads/vc/vsts
- refs/heads/vc/wasm
- refs/heads/vc/wasm2
- refs/heads/vc/weakref_tasks
- refs/heads/vc/win_poolalignment
- refs/heads/vc/ws
- refs/heads/vc/x86low
- refs/heads/vc/yhls/dynamicdomtree
- refs/heads/vs/SparseArrays-bump-ss7.5.1
- refs/heads/vs/rm-openlibm
- refs/heads/yyc/arm/crc32c
- refs/heads/yyc/arm/fenv-0.5
- refs/heads/yyc/bigint
- refs/heads/yyc/codegen/eh
- refs/heads/yyc/codegen/local-push
- refs/heads/yyc/codegen/no-safepoint
- refs/heads/yyc/codegen/wb2
- refs/heads/yyc/dft_split
- refs/heads/yyc/dftnew_rebase
- refs/heads/yyc/gc-alloc
- refs/heads/yyc/gc-debug-env
- refs/heads/yyc/gc/safepoint-rt
- refs/heads/yyc/gc/thread-DO-NOT-merge
- refs/heads/yyc/less-getfield
- refs/heads/yyc/ovldot
- refs/heads/yyc/test/release-0.6
- refs/heads/yyc/tests/appveyor
- refs/heads/yyc/tests/arm
- refs/heads/yyc/tests/llvm39
- refs/heads/yyc/tests/master
- refs/heads/yyc/travis-test
- refs/heads/yyc/typeinf/egal
- refs/heads/yyc/typeinf/pure
- refs/heads/zierenberg-master
- refs/remotes/KC/kc/error_msgs
- refs/remotes/origin/avi/validwidenconst
- refs/remotes/origin/backports-release-1.6
- refs/remotes/origin/dcn-canonicalize-callable-names
- refs/remotes/origin/dcn/adjust-n-gc-threads
- refs/remotes/origin/sgj/readuntil_inplace
- refs/tags/v0.1
- refs/tags/v0.1.1
- refs/tags/v0.1.2
- refs/tags/v0.2.0-rc1
- refs/tags/v0.2.0-rc2
- refs/tags/v0.3.0
- refs/tags/v0.3.0-rc1
- refs/tags/v0.3.0-rc2
- refs/tags/v0.3.0-rc3
- refs/tags/v0.3.0-rc4
- refs/tags/v0.3.1
- refs/tags/v0.3.10
- refs/tags/v0.3.11
- refs/tags/v0.3.12
- refs/tags/v0.3.2
- refs/tags/v0.3.3
- refs/tags/v0.3.4
- refs/tags/v0.3.5
- refs/tags/v0.3.6
- refs/tags/v0.3.7
- refs/tags/v0.3.8
- refs/tags/v0.3.9
- refs/tags/v0.4.0
- refs/tags/v0.4.0-rc1
- refs/tags/v0.4.0-rc2
- refs/tags/v0.4.0-rc3
- refs/tags/v0.4.0-rc4
- refs/tags/v0.4.1
- refs/tags/v0.4.2
- refs/tags/v0.4.3
- refs/tags/v0.4.4
- refs/tags/v0.4.5
- refs/tags/v0.4.6
- refs/tags/v0.4.7
- refs/tags/v0.5.0
- refs/tags/v0.5.0-rc0
- refs/tags/v0.5.0-rc1
- refs/tags/v0.5.0-rc2
- refs/tags/v0.5.0-rc3
- refs/tags/v0.5.0-rc4
- refs/tags/v0.5.1
- refs/tags/v0.5.2
- refs/tags/v0.6.0
- refs/tags/v0.6.0-pre.alpha
- refs/tags/v0.6.0-pre.beta
- refs/tags/v0.6.0-rc1
- refs/tags/v0.6.0-rc2
- refs/tags/v0.6.0-rc3
- refs/tags/v0.6.1
- refs/tags/v0.6.2
- refs/tags/v0.6.3
- refs/tags/v0.6.4
- refs/tags/v0.7.0
- refs/tags/v0.7.0-alpha
- refs/tags/v0.7.0-beta
- refs/tags/v0.7.0-beta2
- refs/tags/v0.7.0-rc1
- refs/tags/v0.7.0-rc2
- refs/tags/v0.7.0-rc3
- refs/tags/v1.0.0
- refs/tags/v1.0.0-rc1
- refs/tags/v1.0.1
- refs/tags/v1.0.2
- refs/tags/v1.0.3
- refs/tags/v1.0.4
- refs/tags/v1.0.5
- refs/tags/v1.1.0
- refs/tags/v1.1.0-rc1
- refs/tags/v1.1.0-rc2
- refs/tags/v1.1.1
- refs/tags/v1.10.0
- refs/tags/v1.10.0-alpha1
- refs/tags/v1.10.0-beta1
- refs/tags/v1.10.0-beta2
- refs/tags/v1.10.0-beta3
- refs/tags/v1.10.0-rc1
- refs/tags/v1.10.0-rc2
- refs/tags/v1.10.0-rc3
- refs/tags/v1.10.1
- refs/tags/v1.10.2
- refs/tags/v1.11.0-alpha1
- refs/tags/v1.11.0-alpha2
- refs/tags/v1.2.0
- refs/tags/v1.2.0-rc1
- refs/tags/v1.2.0-rc2
- refs/tags/v1.2.0-rc3
- refs/tags/v1.3.0
- refs/tags/v1.3.0-alpha
- refs/tags/v1.3.0-rc1
- refs/tags/v1.3.0-rc2
- refs/tags/v1.3.0-rc3
- refs/tags/v1.3.0-rc4
- refs/tags/v1.3.0-rc5
- refs/tags/v1.3.1
- refs/tags/v1.4.0
- refs/tags/v1.4.0-rc1
- refs/tags/v1.4.0-rc2
- refs/tags/v1.4.1
- refs/tags/v1.4.2
- refs/tags/v1.5.0
- refs/tags/v1.5.0-beta1
- refs/tags/v1.5.0-rc1
- refs/tags/v1.5.0-rc2
- refs/tags/v1.5.1
- refs/tags/v1.5.2
- refs/tags/v1.5.3
- refs/tags/v1.5.4
- refs/tags/v1.6.0
- refs/tags/v1.6.0-beta1
- refs/tags/v1.6.0-rc1
- refs/tags/v1.6.0-rc2
- refs/tags/v1.6.0-rc3
- refs/tags/v1.6.1
- refs/tags/v1.6.2
- refs/tags/v1.6.3
- refs/tags/v1.6.4
- refs/tags/v1.6.5
- refs/tags/v1.6.6
- refs/tags/v1.6.7
- refs/tags/v1.7.0
- refs/tags/v1.7.0-beta1
- refs/tags/v1.7.0-beta2
- refs/tags/v1.7.0-beta3
- refs/tags/v1.7.0-beta4
- refs/tags/v1.7.0-rc1
- refs/tags/v1.7.0-rc2
- refs/tags/v1.7.0-rc3
- refs/tags/v1.7.1
- refs/tags/v1.7.2
- refs/tags/v1.7.3
- refs/tags/v1.8.0
- refs/tags/v1.8.0-beta1
- refs/tags/v1.8.0-beta2
- refs/tags/v1.8.0-beta3
- refs/tags/v1.8.0-rc1
- refs/tags/v1.8.0-rc2
- refs/tags/v1.8.0-rc3
- refs/tags/v1.8.0-rc4
- refs/tags/v1.8.1
- refs/tags/v1.8.2
- refs/tags/v1.8.3
- refs/tags/v1.8.4
- refs/tags/v1.8.5
- refs/tags/v1.9.0
- refs/tags/v1.9.0-alpha1
- refs/tags/v1.9.0-beta1
- refs/tags/v1.9.0-beta2
- refs/tags/v1.9.0-beta3
- refs/tags/v1.9.0-beta4
- refs/tags/v1.9.0-rc1
- refs/tags/v1.9.0-rc2
- refs/tags/v1.9.0-rc3
- refs/tags/v1.9.1
- refs/tags/v1.9.2
- refs/tags/v1.9.3
- refs/tags/v1.9.4
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
f142a95 | Jeff Bezanson | 11 March 2024, 21:05:59 UTC | add invokelatest to on_done callback in bracketed paste fixes #52120 | 11 March 2024, 21:05:59 UTC |
f9e08f7 | Jeff Bezanson | 11 March 2024, 19:09:12 UTC | fix #52025, re-allow all implicit pointer casts in cconvert for Array (#53659) fix #52025 | 11 March 2024, 19:09:12 UTC |
6f143ea | Jameson Nash | 11 March 2024, 16:54:11 UTC | invert linetable representation (#52415) Previously, our linetables (similar to LLVM) represented line information as a linked list from callee via inlined_at up to the original information. This requires many copies of this information to be created. Instead we can take advantage of the necessary existence of the line table from the child to flip this chain of information and instead make each statement be a table describing (for each IR instruction): `(current line number, (index into edges, index into edges statements))` plus a table of all edges, plus a table with the original line numbers from the parser, plus the file name. This is all packed into the struct struct DebugInfo def::Union{Method,MethodInstance,Symbol} linetable::Union{Nothing,DebugInfo} edges::SimpleVector{DebugInfo} codelocs::String end Which is described in doc/src/devdocs/ast.md for what each field means and look at stacktraces.jl or compiler/ssair/show.jl to look at how to decode and interpret this information. For the sysimage, this saves several megabytes (about 113 MB -> 110 MB) and about 5% of the stdlib pkgimages (294 MB -> 279 MB). It also now happens to have the full type information for the inlined functions. Now if you create an `IRShow.DILineInfoPrinter` with `showtypes=true`, it can print that information when printing IR. ``` julia> @eval Base.IRShow DILineInfoPrinter(debuginfo, def) = DILineInfoPrinter(debuginfo, def, true) DILineInfoPrinter (generic function with 2 methods) julia> (@code_typed 1 + 1.0)[1] CodeInfo( @ promotion.jl:425 within `+` ┌ invoke MethodInstance for promote(::Int64, ::Float64) │ @ promotion.jl:396 within `promote` │┌ invoke MethodInstance for Base._promote(::Int64, ::Float64) ││ @ promotion.jl:373 within `_promote` ││┌ invoke MethodInstance for convert(::Type{Float64}, ::Int64) │││ @ number.jl:7 within `convert` │││┌ invoke MethodInstance for Float64(::Int64) ││││ @ float.jl:221 within `Float64` 1 ─││││ %1 = Base.sitofp(Float64, x)::Float64 │ └└└└ │ ┌ invoke MethodInstance for +(::Float64, ::Float64) │ │ @ float.jl:460 within `+` │ │ %2 = Base.add_float(%1, y)::Float64 │ └ └── return %2 ) ``` | 11 March 2024, 16:54:11 UTC |
8413b97 | Kenta Murata | 11 March 2024, 15:35:31 UTC | Add waitany and waitall functions to wait multiple tasks at once (#53341) This adds two functions: `waitany` and `waitall`, as discussed in the issue #53226. These functions wait for multiple tasks at once. The `waitany` function blocks until one task finishes. The `waitall` function blocks until all tasks finish. Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 11 March 2024, 15:35:31 UTC |
f882c00 | Jishnu Bhattacharya | 11 March 2024, 14:15:30 UTC | Linalg: matprod_dest for Diagonal and adjvec (#53611) | 11 March 2024, 14:15:30 UTC |
2978a64 | Jameson Nash | 11 March 2024, 12:28:49 UTC | [REPL] fix incorrectly cleared line after completions accepted (#53662) The hint must be cleared before the screen state is reset, otherwise the state after reset may not be compatible with being able to clear it. Fixes #52264 | 11 March 2024, 12:28:49 UTC |
60d4b7b | Jameson Nash | 11 March 2024, 12:28:24 UTC | add isassigned methods for reinterpretarray (#53663) Fixes #52925 Refs #51760 | 11 March 2024, 12:28:24 UTC |
57efee1 | Keno Fischer | 11 March 2024, 10:56:59 UTC | Correct `@NamedTuple` printing for non-identitifer keys (#53689) Before: ``` julia> typeof((;:var"#"=>1)) @NamedTuple{#::Int64} julia> @NamedTuple{#::Int64} ERROR: ParseError: # Error @ REPL[47]:2:2 @NamedTuple{#::Int64} #└ ── Expected `}` Stacktrace: [1] top-level scope @ none:1 ``` After: ``` julia> typeof((;:var"#"=>1)) @NamedTuple{var"#"::Int64} julia> @NamedTuple{var"#"::Int64} @NamedTuple{var"#"::Int64} ``` | 11 March 2024, 10:56:59 UTC |
1ba83f0 | Jishnu Bhattacharya | 11 March 2024, 06:50:16 UTC | LinAlg: fzeropreserving unit triangular broadcast preserves structure (#53648) On master ```julia julia> UU = UnitUpperTriangular(reshape([1:9;],3,3)) 3×3 UnitUpperTriangular{Int64, Matrix{Int64}}: 1 4 7 ⋅ 1 8 ⋅ ⋅ 1 julia> UU .* 2 3×3 Matrix{Int64}: 2 8 14 0 2 16 0 0 2 ``` This PR ```julia julia> UU .* 2 3×3 UpperTriangular{Int64, Matrix{Int64}}: 2 8 14 ⋅ 2 16 ⋅ ⋅ 2 ``` This also improves performance, as the `materialize` skips the structured zeros. ```julia julia> UU = UnitUpperTriangular(rand(100, 100)); julia> @btime $UU .* 2; 12.788 μs (3 allocations: 78.20 KiB) # master 7.821 μs (3 allocations: 78.20 KiB) # PR ``` | 11 March 2024, 06:50:16 UTC |
6e3044d | Jishnu Bhattacharya | 11 March 2024, 06:14:28 UTC | Fix linear indexing for ReshapedArray if the parent has offset axes (#41232) This PR fixes ```julia julia> r = reshape(Base.IdentityUnitRange(3:4), 2, 1) 2×1 reshape(::Base.IdentityUnitRange{UnitRange{Int64}}, 2, 1) with eltype Int64: 3 4 julia> collect(r) == r false julia> collect(r) 2×1 Matrix{Int64}: 3258125826116431922 3688512103538242609 ``` After this PR, ```julia julia> collect(r) 2×1 Matrix{Int64}: 3 4 ``` | 11 March 2024, 06:14:28 UTC |
26b3b5f | Ian Butterworth | 10 March 2024, 22:34:55 UTC | move precompile workload back from Base (#53679) | 10 March 2024, 22:34:55 UTC |
ccdf89e | Tim Holy | 10 March 2024, 21:15:20 UTC | Noteworthy differences: `exp.(A)` vs `exp(A)` (#53686) | 10 March 2024, 21:15:20 UTC |
30450c3 | Jeff Bezanson | 10 March 2024, 18:58:14 UTC | add error for inconsistent public/export declarations (#53664) Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> Co-authored-by: Lilith Orion Hafner <lilithhafner@gmail.com> | 10 March 2024, 18:58:14 UTC |
5c7d244 | Gabriel Baraldi | 09 March 2024, 22:22:20 UTC | Bump CSL to 1.1.1 to fix libgomp bug (#53643) Resolves https://github.com/JuliaLang/julia/issues/53363 | 09 March 2024, 22:22:20 UTC |
39f141d | Jameson Nash | 09 March 2024, 18:41:47 UTC | increase max atomic size to 16 on 64-bit platforms (#42268) | 09 March 2024, 18:41:47 UTC |
e9c84c8 | Jameson Nash | 09 March 2024, 18:40:54 UTC | permit NamedTuple{<:Any, Union{}} to be created (#53516) | 09 March 2024, 18:40:54 UTC |
fc6c618 | Frames White | 09 March 2024, 18:36:14 UTC | Handle zero on arrays of unions of number types and missings (#53602) | 09 March 2024, 18:36:14 UTC |
c705a25 | Steven G. Johnson | 09 March 2024, 15:42:22 UTC | document exact BigInt determinants (#53579) New users are commonly surprised that determinants of integer matrices give an approximate floating-point answer (#40128), and are unaware that an exact algorithm is implemented for `BigInt` matrices (#40868). This PR comments on both of these facts in the `det` documentation. (At some point, we may want to mark `LinearAlgebra.det_bareiss` as `public`, and document it, but that can be done in a future PR.) | 09 March 2024, 15:42:22 UTC |
0d029ea | Ian Butterworth | 09 March 2024, 14:58:25 UTC | Load Pkg if not already to reinstate missing package add prompt (#52125) | 09 March 2024, 14:58:25 UTC |
6f8ba49 | Jishnu Bhattacharya | 09 March 2024, 13:51:03 UTC | Add methods to index identityUnitRange/Slice with another IdentityUnitRange (#41224) Adding these methods lets `OffsetArrays` define `getindex(::AbstractUnitRange, ::IdentityUnitRange)` without ambiguities. This is in the domain of sanctioned type-piracy, as the result is an offset range in general and cannot be represented correctly using `Base` types. Re: https://github.com/JuliaArrays/OffsetArrays.jl/pull/244 cc: @johnnychen94 Edit: this also fixes an indexing bug in `IdentityUntiRange`: master ```julia julia> r = Base.IdentityUnitRange(-3:3) Base.IdentityUnitRange(-3:3) julia> r[2] 2 julia> r[big(2)] -2 ``` Co-authored-by: jishnub <jishnub@users.noreply.github.com> | 09 March 2024, 13:51:03 UTC |
18a2e70 | Keno Fischer | 09 March 2024, 13:28:55 UTC | Fix bootstrap Base precompile in cross compile configuration (#53671) | 09 March 2024, 13:28:55 UTC |
53048b2 | Jishnu Bhattacharya | 09 March 2024, 10:44:25 UTC | Linalg: Reduce allocations in triangular tests (#53634) Reuses a pre-allocated matrix in tests to avoid allocating a fresh matrix in every call. | 09 March 2024, 10:44:25 UTC |
bb35dc9 | Diogo Netto | 08 March 2024, 21:44:48 UTC | optimize remset marking (#52476) Tag the lowest bit of a pointer to indicate it's in the remset and enqueue objects in the remset for later processing when GC threads have woken up, instead of sequentially marking them all at once. In principle, this should allow for more parallelism in the mark phase, though I didn't benchmark it yet. | 08 March 2024, 21:44:48 UTC |
e618369 | Kristoffer Carlsson | 08 March 2024, 16:02:54 UTC | precompilepkgs: package in boths deps and weakdeps are in fact only weak (#53649) Missed when porting from Pkg. Fixes https://github.com/JuliaLang/Pkg.jl/issues/3834. | 08 March 2024, 16:02:54 UTC |
78351b5 | Ian Butterworth | 08 March 2024, 15:21:33 UTC | Use Base parallel precompilation to build stdlibs (#53598) Follow-on from https://github.com/JuliaLang/julia/pull/53403 This extends `Base.Precompilation.precompilepkgs` to take a list of configurations to precompile each package with, while parallelizing across all packages and configurations, and uses it to build the stdlib pkgimages. It simplifies the stdlib pkgimage build process but is (currently) dependent on having an accurately resolved Manifest.toml (Project.toml included to make the manifest easier to make). Any new/removed stdlibs or changes their dependencies will require updating the Manifest.toml. It's a bit chicken and egg, but should be manageable with manual editing of the Manifest.toml. In terms of speed improvement: MacOS aarch64 CI runner 6m19s before, 5m19 with this Note that CI builds will show the basic print with timing of each package, whereas local build will be the tidier fancy print without timings. Co-authored-by: Valentin Churavy <vchuravy@users.noreply.github.com> | 08 March 2024, 15:21:33 UTC |
a998082 | DilumAluthgeBot | 08 March 2024, 15:11:22 UTC | 🤖 [master] Bump the Pkg stdlib from 56c379045 to e0821116e (#53654) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: 56c379045 New commit: e0821116e Julia version: 1.12.0-DEV Pkg version: 1.12.0 Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/56c379045c8cf876b365c284a5b442f2dc9fc8af...e0821116e9f4364a2b37a77183e93d055a111f4d ``` $ git log --oneline 56c379045..e0821116e e0821116e re-enable Pkg precompilation (#3835) a2b8729ea Update version on master to 1.12 (#3832) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 08 March 2024, 15:11:22 UTC |
4dcf357 | Keno Fischer | 08 March 2024, 06:26:43 UTC | inference: Don't confuse frames in different interpreters (#53627) Diffractor's abstract interpreter sometimes needs to do side queries using the native interpreter. These are pushed onto the regular inference callstack in anticipation of a future where compiler plugins may want to recurse from the native interpreter back into the Diffractor abstract interpreter. However, this introduced a subtle challenge: When the native interpreter is looking at a frame that is currently on the inference stack, it would treat them as the same, incorrectly merging inference across the two abstract interpreters (which have different semantics and may not be confused). The caches for the two abstract interpreters were already different, so once things are inferred, there's no problem (likely because things were already inferred on the native interpreter), but if not, this could cause subtle and hard to debug problems. | 08 March 2024, 06:26:43 UTC |
321fb2c | Keno Fischer | 08 March 2024, 06:26:10 UTC | sroa: Fix incorrect scope counting (#53630) Sroa was incorrectly assuming that every :leave leaves exactly one scope. In reality, it leaves as many scopes as the corresponding :leave references. Fix that to fix #53521. | 08 March 2024, 06:26:10 UTC |
fa90883 | DilumAluthgeBot | 08 March 2024, 03:31:27 UTC | 🤖 [master] Bump the Pkg stdlib from e7d740ac8 to 56c379045 (#53637) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: e7d740ac8 New commit: 56c379045 Julia version: 1.12.0-DEV Pkg version: 1.11.0(Does not match) Bump invoked by: @KristofferC Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/e7d740ac82fa4c289bb58f9acb6e60eebb6d8a8e...56c379045c8cf876b365c284a5b442f2dc9fc8af ``` $ git log --oneline e7d740ac8..56c379045 56c379045 make `delayed_delete_dir` usage a bit more backwards compatible (#3830) 5a68d7953 restore unwrap UnstableIO in precompile (#3831) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 08 March 2024, 03:31:27 UTC |
f6504e4 | Shuhei Kadowaki | 08 March 2024, 00:42:49 UTC | add `construct_[post]domtree(::[IRCode|CFG])` interfaces (#53638) We currently have `construct_[post]domtree(::Vector{BasicBlock})` only. The higher level interfaces are often convenient. | 08 March 2024, 00:42:49 UTC |
d45581c | Shuhei Kadowaki | 07 March 2024, 16:15:35 UTC | inlining: use method match signature for union-spliting (#53600) In cases where the results of constant inference, like concrete-eval, are used for union-split inlining, `isa`-blocks are generated using the `result.edge.specTypes` stored within each `result`. However, it's been found that the `edge` returned by abstract interpretation may have been widened by the new `@nospecializeinfer`, which can result in invalid union-splitting. To address this problem, this commit tweaks the inlining algorithm so that it performs union-split inlining using the original signatures that abstract interpretation used for union-split inference, by using `match::MethodMatch`. - fixes #53590 | 07 March 2024, 16:15:35 UTC |
a182880 | Frames White | 07 March 2024, 15:09:12 UTC | use isempty in tests (#53617) This was not being used as it didn't have fancy printing when it failed. But that was fixed in https://github.com/JuliaLang/julia/pull/30721 so we can do this now | 07 March 2024, 15:09:12 UTC |
cf5f163 | Phillip Alday | 07 March 2024, 15:07:59 UTC | typo fix in scoped values docs (#53629) | 07 March 2024, 15:07:59 UTC |
56f1c8a | N5N3 | 06 March 2024, 21:55:49 UTC | typeintersect: fix `UnionAll` unaliasing bug caused by innervars. (#53553) typeintersect: fix `UnionAll` unaliasing bug caused by innervars. | 06 March 2024, 21:55:49 UTC |
6335386 | Valentin Churavy | 06 March 2024, 15:04:22 UTC | Unexport with, at_with, and ScopedValue from Base (#53004) fixes #52535 --------- Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> | 06 March 2024, 15:04:22 UTC |
02f27c2 | N5N3 | 02 March 2024, 07:29:18 UTC | typeintersect: more organized innervar wrapping | 06 March 2024, 14:11:04 UTC |
a556af2 | N5N3 | 02 March 2024, 05:27:21 UTC | typeintersect: fuse `unalias_unionall` And ensures all innervar get checked. | 06 March 2024, 11:59:14 UTC |
90d84d4 | Shuhei Kadowaki | 06 March 2024, 00:32:31 UTC | cleanups on `src_inlining_policy` (#53599) - fixed the check with `src_inlining_policy` in typeinfer.jl - removed the `SemiConcreteResult` handling, which is no longer needed | 06 March 2024, 00:32:31 UTC |
fb71a5d | DilumAluthgeBot | 05 March 2024, 21:32:17 UTC | 🤖 [master] Bump the Pkg stdlib from 48eea8dbd to e7d740ac8 (#53610) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: 48eea8dbd New commit: e7d740ac8 Julia version: 1.12.0-DEV Pkg version: 1.11.0(Does not match) Bump invoked by: @KristofferC Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/48eea8dbd7b651cdc932b909c1b718bb9c3f94f4...e7d740ac82fa4c289bb58f9acb6e60eebb6d8a8e ``` $ git log --oneline 48eea8dbd..e7d740ac8 e7d740ac8 move to using Base parallel precompile (#3820) d1f91fd37 fix relative paths in test project for `[sources]` (#3825) 5c73d7f3c Support a `[sources]` section in Project.toml for specifying paths and repo locations for dependencies (#3783) 0d9aa51a9 do not use UnstableIO for subprocess (in e.g. Pkg.test) (#3823) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 05 March 2024, 21:32:17 UTC |
427da5c | Kristoffer Carlsson | 05 March 2024, 17:23:08 UTC | fix error path in `precompilepkgs` (#53606) this was accidentally left when porting this from Pkg.jl | 05 March 2024, 17:23:08 UTC |
58291db | Jameson Nash | 05 March 2024, 15:00:15 UTC | codegen: optimize const fields of mutable objects (#53484) For example, we seek to eliminate the gc frame from this function, as observed here: ```julia julia> code_llvm((BitSet,), raw=true) do x; r = x.bits; GC.safepoint(); @inbounds r[1]; end ; Function Signature: var"https://github.com/JuliaLang/julia/issues/3"(Base.BitSet) ; @ REPL[1]:1 within `https://github.com/JuliaLang/julia/issues/3` define swiftcc i64 @"julia_#3_494"(ptr nonnull swiftself %pgcstack, ptr noundef nonnull align 8 dereferenceable(16) %"x::BitSet") #0 !dbg !5 { top: call void @llvm.dbg.declare(metadata ptr %"x::BitSet", metadata !21, metadata !DIExpression()), !dbg !22 %ptls_field = getelementptr inbounds ptr, ptr %pgcstack, i64 2 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds ptr, ptr %ptls_load, i64 2 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst %1 = load volatile i64, ptr %safepoint, align 8, !dbg !22 fence syncscope("singlethread") seq_cst ; ┌ @ Base.jl:49 within `getproperty` %"x::BitSet.bits" = load atomic ptr, ptr %"x::BitSet" unordered, align 8, !dbg !29, !tbaa !27, !alias.scope !33, !noalias !36, !nonnull !11, !dereferenceable !41, !align !42 ; └ ; ┌ @ gcutils.jl:253 within `safepoint` %ptls_load4 = load ptr, ptr %ptls_field, align 8, !dbg !43, !tbaa !23 %2 = getelementptr inbounds ptr, ptr %ptls_load4, i64 2, !dbg !43 %safepoint5 = load ptr, ptr %2, align 8, !dbg !43, !tbaa !27 fence syncscope("singlethread") seq_cst, !dbg !43 %3 = load volatile i64, ptr %safepoint5, align 8, !dbg !43 fence syncscope("singlethread") seq_cst, !dbg !43 ; └ ; ┌ @ essentials.jl:892 within `getindex` %4 = load ptr, ptr %"x::BitSet.bits", align 8, !dbg !46, !tbaa !49, !alias.scope !52, !noalias !53 %5 = load i64, ptr %4, align 8, !dbg !46, !tbaa !54, !alias.scope !57, !noalias !58 ret i64 %5, !dbg !46 ; └ } ``` | 05 March 2024, 15:00:15 UTC |
3df016d | Eric Hanson | 05 March 2024, 13:49:02 UTC | Semver: specify VersionNumber's follow v2-rc2 specifically (#53538) Since v2 has changed from v2-rc2 by saying build numbers MUST not be taken into account in precedence. I don't think changing VersionNumber's ordering in a minor release of Julia is acceptable, but since the semver landing page is now v2 rather than v2-rc2, we should update the link. closes https://github.com/JuliaLang/julia/issues/53502 | 05 March 2024, 13:49:02 UTC |
b50344f | inky | 05 March 2024, 10:00:14 UTC | build: remove extra .a file (#53596) fix #53569 | 05 March 2024, 10:00:14 UTC |
d3ee213 | Kristoffer Carlsson | 05 March 2024, 09:59:32 UTC | add back `unsafe_convert` to pointer for arrays (#53589) This caused a pretty big breakage in the ecosystem (~50 packages) and is according to Jameson "Too breaking for no necessary reason". So let's add it back. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 05 March 2024, 09:59:32 UTC |
892c491 | Dilum Aluthge | 05 March 2024, 04:00:26 UTC | Docs: change "Package naming guidelines" to "Package naming rules" (#53566) I think that "guidelines" implies that these are just optional suggestions. But in practice, I think we usually insist that these are followed. So I think it might be worth changing "guidelines" to "rules", to clarify that we enforce these. | 05 March 2024, 04:00:26 UTC |
6745160 | Kristoffer Carlsson | 05 March 2024, 01:07:34 UTC | Move parallel precompilation to Base (#53403) Parallel precompilation is more or less now required in order to use somewhat large packages unless you want to wait an obscene long time for it to complete. Right now, we even start a parallel precompilation on a package load if we notice that the package you are loading is not precompiled. This functionally has typically been implemented in Pkg but with Pkg not being in the sysimage it becomes a bit awkward because we then need to load Pkg from Base. The only real reason this functionality has been implemented in Pkg is that Pkg has some useful features for parsing environments. Moving precompilation to Base has typically been stalled on such an environment parser not existing in Base. However, in https://github.com/JuliaLang/julia/pull/46690 I started implemented code loading on top of a more up front environment parser (instead of the "incremental" one that currently exists in `loading.jl`) and we can retro fit this to be used as the basis of parallel precompilation. At some later point code loading could be implemented on top of it but that is for now considered future work. This PR thus adds the environment parser from the codeloading PR and implementes the parallel precompilation feature from Pkg on top of it (instead of on top of the `EnvCache` in Pkg). Some points to bring up here: - This copy pastes the progress bar implementation in Pkg into here. It is probably a bit excessive to use so we can simplify that significantly. - Parallel precompilation uses the `FileWatching` module to avoid different processes trying to precompile the same package concurrently. Right now, I used grab this from `Base.loaded_modules` relying on it being in the sysimage. - This removes the "suspended" functionality from the Pkg precompilation which does not try to precompile packages if they have "recently" failed which is unclear how useful it is in practice. This also requires the Serialization stdlib and uses data structures defined in Pkg so it is hard to keep when moving this to Base. --------- Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> | 05 March 2024, 01:07:34 UTC |
50114d7 | Jameson Nash | 26 February 2024, 20:49:39 UTC | codegen: optimize const fields of mutable objects even more Make this analysis even stronger, using a function from llvm-late-gc-lowering.cpp that implements it more aggressively | 04 March 2024, 21:14:31 UTC |
ece8814 | Jameson Nash | 26 February 2024, 20:06:31 UTC | codegen: optimize const fields of mutable objects For example, we seek to eliminate the gc frame from this function, as observed here: ```julia julia> code_llvm((BitSet,), raw=true) do x; r = x.bits; GC.safepoint(); @inbounds r[1]; end ; Function Signature: var"#3"(Base.BitSet) ; @ REPL[1]:1 within `#3` define swiftcc i64 @"julia_#3_494"(ptr nonnull swiftself %pgcstack, ptr noundef nonnull align 8 dereferenceable(16) %"x::BitSet") #0 !dbg !5 { top: call void @llvm.dbg.declare(metadata ptr %"x::BitSet", metadata !21, metadata !DIExpression()), !dbg !22 %ptls_field = getelementptr inbounds ptr, ptr %pgcstack, i64 2 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !23 %0 = getelementptr inbounds ptr, ptr %ptls_load, i64 2 %safepoint = load ptr, ptr %0, align 8, !tbaa !27 fence syncscope("singlethread") seq_cst %1 = load volatile i64, ptr %safepoint, align 8, !dbg !22 fence syncscope("singlethread") seq_cst ; ┌ @ Base.jl:49 within `getproperty` %"x::BitSet.bits" = load atomic ptr, ptr %"x::BitSet" unordered, align 8, !dbg !29, !tbaa !27, !alias.scope !33, !noalias !36, !nonnull !11, !dereferenceable !41, !align !42 ; └ ; ┌ @ gcutils.jl:253 within `safepoint` %ptls_load4 = load ptr, ptr %ptls_field, align 8, !dbg !43, !tbaa !23 %2 = getelementptr inbounds ptr, ptr %ptls_load4, i64 2, !dbg !43 %safepoint5 = load ptr, ptr %2, align 8, !dbg !43, !tbaa !27 fence syncscope("singlethread") seq_cst, !dbg !43 %3 = load volatile i64, ptr %safepoint5, align 8, !dbg !43 fence syncscope("singlethread") seq_cst, !dbg !43 ; └ ; ┌ @ essentials.jl:892 within `getindex` %4 = load ptr, ptr %"x::BitSet.bits", align 8, !dbg !46, !tbaa !49, !alias.scope !52, !noalias !53 %5 = load i64, ptr %4, align 8, !dbg !46, !tbaa !54, !alias.scope !57, !noalias !58 ret i64 %5, !dbg !46 ; └ } ``` | 04 March 2024, 21:14:31 UTC |
f66fd47 | Jameson Nash | 04 March 2024, 21:14:08 UTC | make MethodError for unhandled kwarg more accurate (#53500) Previously it threw this error manually, so it did not have the world info for this lookup and message to be fully accurate. | 04 March 2024, 21:14:08 UTC |
688ae0a | cui fliter | 04 March 2024, 18:09:52 UTC | remove repetitive code (#53592) | 04 March 2024, 18:09:52 UTC |
144f58b | Shuhei Kadowaki | 04 March 2024, 17:58:28 UTC | disable irinterp for interpreters with `may_optimize(...)=false` (#53580) As discussed at <https://github.com/JuliaLang/julia/commit/b8a0a3978ccf163ce8fc371a4882547dc1271d53#commitcomment-139076159>, currently external abstract interpreter that configures `may_optimize` to return `false` may end up with the internal error from irinterp since it fundamentally required optimized IR but it currently assumes that all sources from cached `CodeInstance`s are optimized. This commit addresses the issue by incorporating a `may_optimize` check in `concrete_eval_eligible`, which in turn automatically disables irinterp for such interpreters. Although there were earlier discussions suggesting the revival of `codeinfo.inferred::Bool`, this commit does not need it, and I think this approach maintains the current state more cleanly. This should fix the error of `"inference"` benchmarks from BaseBenchmarks.jl. | 04 March 2024, 17:58:28 UTC |
0311aa4 | Michael Goerz | 04 March 2024, 16:34:27 UTC | Update Documenter to v1.3 for inventory writing (#53571) With the newest Documenter release, the Julia documentation will automatically have an `objects.inv` file. This file allows any other project using Documenter with the [`DocumenterInterLinks`](https://github.com/JuliaDocs/DocumenterInterLinks.jl) plugin (or any project using [Sphinx](https://www.sphinx-doc.org/en/master/)) to link directly into the Julia documentation, e.g., with ```[`Base.sort!`](@extref Julia)```. See also https://github.com/JuliaDocs/Documenter.jl/pull/2424#issuecomment-1960025462 and the following comments | 04 March 2024, 16:34:27 UTC |
973b4ff | Diogo Netto | 04 March 2024, 16:16:28 UTC | yet more atomics & cache-line fixes on work-stealing queue (#53424) This regression at a large number of GC threads still shows up on a large aarch64 machine (80-core ARM Neoverse N1). ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3807 │ 2826 │ 2633 │ 193 │ 960 │ 13 │ 892 │ 74 │ │ median │ 3810 │ 2826 │ 2633 │ 193 │ 961 │ 15 │ 892 │ 74 │ │ maximum │ 3810 │ 2831 │ 2638 │ 193 │ 962 │ 27 │ 892 │ 74 │ │ stdev │ 2 │ 3 │ 3 │ 0 │ 1 │ 7 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2455 │ 1476 │ 1350 │ 126 │ 488 │ 20 │ 892 │ 60 │ │ median │ 2459 │ 1478 │ 1352 │ 126 │ 489 │ 23 │ 892 │ 60 │ │ maximum │ 2465 │ 1479 │ 1352 │ 126 │ 489 │ 23 │ 893 │ 60 │ │ stdev │ 5 │ 1 │ 1 │ 0 │ 1 │ 2 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2173 │ 1194 │ 1115 │ 77 │ 463 │ 18 │ 892 │ 54 │ │ median │ 2187 │ 1194 │ 1116 │ 78 │ 463 │ 19 │ 893 │ 55 │ │ maximum │ 2217 │ 1208 │ 1130 │ 78 │ 463 │ 19 │ 893 │ 55 │ │ stdev │ 22 │ 8 │ 8 │ 1 │ 0 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2191 │ 1212 │ 1149 │ 63 │ 539 │ 19 │ 901 │ 55 │ │ median │ 2199 │ 1219 │ 1156 │ 63 │ 540 │ 20 │ 901 │ 55 │ │ maximum │ 2201 │ 1222 │ 1157 │ 65 │ 540 │ 20 │ 901 │ 56 │ │ stdev │ 5 │ 5 │ 4 │ 1 │ 1 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3897 │ 2916 │ 2854 │ 60 │ 1423 │ 20 │ 902 │ 75 │ │ median │ 4012 │ 3032 │ 2972 │ 62 │ 1491 │ 21 │ 904 │ 75 │ │ maximum │ 4026 │ 3106 │ 3044 │ 62 │ 1511 │ 22 │ 904 │ 77 │ │ stdev │ 70 │ 96 │ 96 │ 1 │ 46 │ 1 │ 1 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` This patch seems to improve performance at 16 GC threads though we still have some negative scaling for this benchmark beyond 8 GC threads (others seem fine). I didn't test whether this is indeed the optimal struct layout for the queue in this benchmark. ``` bench = "many_refs.jl" (gcthreads, threads) = (1, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 3807 │ 2822 │ 2630 │ 193 │ 959 │ 15 │ 892 │ 74 │ │ median │ 3824 │ 2823 │ 2630 │ 193 │ 959 │ 15 │ 892 │ 74 │ │ maximum │ 4307 │ 3194 │ 2974 │ 220 │ 1086 │ 19 │ 892 │ 74 │ │ stdev │ 284 │ 215 │ 199 │ 16 │ 74 │ 2 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (2, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2459 │ 1476 │ 1349 │ 126 │ 488 │ 19 │ 892 │ 60 │ │ median │ 2460 │ 1479 │ 1352 │ 127 │ 488 │ 21 │ 893 │ 60 │ │ maximum │ 2770 │ 1661 │ 1526 │ 135 │ 570 │ 22 │ 893 │ 60 │ │ stdev │ 179 │ 106 │ 101 │ 5 │ 47 │ 1 │ 0 │ 0 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (4, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2215 │ 1233 │ 1155 │ 77 │ 485 │ 20 │ 892 │ 53 │ │ median │ 2320 │ 1248 │ 1171 │ 78 │ 492 │ 21 │ 893 │ 54 │ │ maximum │ 2372 │ 1259 │ 1176 │ 83 │ 493 │ 22 │ 893 │ 56 │ │ stdev │ 80 │ 13 │ 11 │ 3 │ 5 │ 1 │ 1 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (8, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2204 │ 1220 │ 1156 │ 64 │ 544 │ 23 │ 901 │ 53 │ │ median │ 2362 │ 1249 │ 1181 │ 64 │ 553 │ 23 │ 901 │ 53 │ │ maximum │ 2374 │ 1261 │ 1196 │ 68 │ 558 │ 25 │ 901 │ 55 │ │ stdev │ 95 │ 21 │ 20 │ 2 │ 7 │ 1 │ 0 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ (gcthreads, threads) = (16, 1) [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback [ Info: Setting GC memory pressure callback ┌─────────┬────────────┬─────────┬───────────┬────────────┬──────────────┬───────────────────┬──────────┬────────────┐ │ │ total time │ gc time │ mark time │ sweep time │ max GC pause │ time to safepoint │ max heap │ percent gc │ │ │ ms │ ms │ ms │ ms │ ms │ us │ MB │ % │ ├─────────┼────────────┼─────────┼───────────┼────────────┼──────────────┼───────────────────┼──────────┼────────────┤ │ minimum │ 2502 │ 1519 │ 1458 │ 62 │ 721 │ 22 │ 902 │ 58 │ │ median │ 2511 │ 1524 │ 1461 │ 63 │ 728 │ 23 │ 903 │ 61 │ │ maximum │ 2664 │ 1554 │ 1486 │ 68 │ 741 │ 25 │ 905 │ 61 │ │ stdev │ 91 │ 19 │ 16 │ 3 │ 10 │ 1 │ 2 │ 1 │ └─────────┴────────────┴─────────┴───────────┴────────────┴──────────────┴───────────────────┴──────────┴────────────┘ ``` | 04 March 2024, 16:16:28 UTC |
4d5a20d | Dilum Aluthge | 04 March 2024, 11:36:24 UTC | Docs: Change "Packages that wrap external libraries or programs should be named after those libraries or programs" to "Packages that wrap external libraries or programs can be named after those libraries or programs" (#53567) Before this PR: > Packages that wrap external libraries or programs should be named after those libraries or programs. I think that "should" is a little too strong. After this PR: > Packages that wrap external libraries or programs can be named after those libraries or programs. ## Motivation This might make it a bit easier to convince package authors that they can use a longer more descriptive name for their package, instead of needing to exactly match the name of the underlying software that they are wrapping. Suppose for example that someone is making a Julia package to wrap a piece of software named `HW`. Under the "should be named..." guideline, this would lead the package author to register a Julia package named HW.jl. Personally I'd like to encourage longer and more descriptive names. So, under the "can be named..." guideline, the author won't feel like the Julia package needs to be named HW.jl, and thus they might be more amenable to a longer name such as HelloWorld.jl. | 04 March 2024, 11:36:24 UTC |
bc2212c | Alexander Plavin | 04 March 2024, 01:20:49 UTC | allow convert from RegexMatch to Dict/NamedTuple (#50988) Added implementation + tests, will add to docs if ok --------- Co-authored-by: Dilum Aluthge <dilum@aluthge.com> Co-authored-by: Jeff Bezanson <jeff.bezanson@gmail.com> | 04 March 2024, 01:20:49 UTC |
7179050 | erich-9 | 03 March 2024, 03:14:28 UTC | Always return a value in 1-d circshift! of abstractarray.jl (#53554) Co-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> | 03 March 2024, 03:14:28 UTC |
0f902bf | Eric Hanson | 03 March 2024, 03:14:06 UTC | Provide better error hint when `UndefVarError` results from name clashes (#53469) We can detect this since we set the `usingfailed` bit when the clash occurs (to avoid printing the `WARNING` multiple times). In this case, typos or missing imports (the current message) isn't quite as clear as it could be, because in fact the name is probably spelled totally right, it's just that there is a missing explicit import or the name should be qualified. This code will stop working if we change the flags in `Core.Binding`, but the test I added should catch that. However if REPL is supposed to be independent of Base and not depend on internals there, there could be an issue. In that case we should probably add an API to Base to inspect this `usingfailed` bit so we can use it in the REPL. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Alex Arslan <ararslan@comcast.net> | 03 March 2024, 03:14:06 UTC |
e7734ea | Abel Soares Siqueira | 03 March 2024, 01:23:18 UTC | Add a GitHub Actions workflow for automatic validation of the citation metadata file (`CITATION.CFF`) (#44062) Hello! We noticed that your `CITATION.cff` had a small issue and fixed it. In addition to the fix, this Pull Request automates validation of that file using the [cffconvert GitHub Action](https://github.com/marketplace/actions/cffconvert). That way, it's a little bit easier to be robust against future changes to the `CITATION.cff` file. BTW it's perfectly fine if you don't feel like accepting this Pull Request for whatever reason -- we just thought it might be helpful is all. We found your repository using a partially automated workflow; if you have any questions about that, feel free to create an issue over at https://github.com/cffbots/filtering/issues/ On behalf of the cffbots team, @abelsiqueira / @fdiblen / @jspaaks --------- Co-authored-by: Max Horn <max@quendi.de> | 03 March 2024, 01:23:18 UTC |
a586d3c | Mason Protter | 03 March 2024, 01:16:51 UTC | Clarify docstring for `zero`, `one`, and `oneunit`. (#52107) spurred by a conversation on Slack where someone was thrown off wondering why `zero(Vector{Int})` errors, but `zero(Int)` is fine. --------- Co-authored-by: Sukera <11753998+Seelengrab@users.noreply.github.com> Co-authored-by: Max Horn <max@quendi.de> Co-authored-by: Simon Byrne <simonbyrne@gmail.com> | 03 March 2024, 01:16:51 UTC |
86f5b21 | Jakob Nybo Nissen | 03 March 2024, 01:16:23 UTC | Make dump print `const` before const fields (#53492) This provides more information to the user when dumping types, and also makes the output of dump slightly more similar to the type definition syntax. EDIT: This has been changed to print: * The kind of type before the type name `abstract type`, `mutable struct`, etc. * `const` only for `const` fields of `mutable struct` New behaviour ``` julia> dump(Float32) primitive type Float32 <: AbstractFloat julia> dump(Signed) abstract type Signed <: Integer julia> dump(Pair{Int, String}) struct Pair{Int64, String} <: Any first::Int64 second::String julia> dump(BitSet) mutable struct BitSet <: AbstractSet{Int64} const bits::Vector{UInt64} offset::Int64 julia> dump(Set) UnionAll var: TypeVar name: Symbol T lb: Union{} ub: abstract type Any body: struct Set{T} <: AbstractSet{T} dict::Dict{T, Nothing} ``` --------- Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com> | 03 March 2024, 01:16:23 UTC |
e3b2462 | Mateus Araújo | 02 March 2024, 19:02:45 UTC | fix number of chunks (#53413) The manual claims that `a` is split into `nthreads()` chunks, but this is not true in general. As it was you could get an error, if `length(a) < nthreads()`, or a number of chunks larger than `nthreads()`, if `nthreads()` is smaller than `length(a)` but does not divide it. With `cld`, on the other hand, you always get at most `nthreads()` chunks. | 02 March 2024, 19:02:45 UTC |
8bf6a07 | Ian Butterworth | 02 March 2024, 16:49:08 UTC | revert "Add @create_log_macro for making custom styled logging macros (#52196)" (#53551) | 02 March 2024, 16:49:08 UTC |
2b95956 | Ian Butterworth | 01 March 2024, 23:04:35 UTC | use `_readdirx` for `walkdir` (#53545) On a M2 Mac there is some benefit, but assumed to be much greater on slower filesystems. ``` # master julia> @btime collect(walkdir(expanduser("~/Downloads"))); 380.086 ms (310696 allocations: 25.29 MiB) # This PR julia> @btime collect(walkdir(expanduser("~/Downloads"))); 289.747 ms (103300 allocations: 7.50 MiB) ``` The implementations appear to produce the same result ``` julia> collect(walkdir(expanduser("~/Downloads"))) == collect(walkdirx(expanduser("~/Downloads"))) true ``` | 01 March 2024, 23:04:35 UTC |
188e386 | Ian Butterworth | 01 March 2024, 23:03:41 UTC | use more efficient `_readdirx` for tab completion (#53540) Fixes https://github.com/JuliaLang/julia/issues/53153 | 01 March 2024, 23:03:41 UTC |
c703a17 | Lilith Orion Hafner | 01 March 2024, 17:58:09 UTC | Update package naming guidelines to encourage consideration of the global namespace (#53514) Co-authored-by: Daniel Wennberg <daniel.wennberg@gmail.com> Co-authored-by: Matt Bauman <mbauman@juliahub.com> | 01 March 2024, 17:58:09 UTC |
ac41e2a | Daniel Wennberg | 01 March 2024, 15:24:30 UTC | Fix `hypot` promotion bug (#53541) Fixes #53505 | 01 March 2024, 15:24:30 UTC |
0918cf1 | Keno Fischer | 01 March 2024, 06:34:00 UTC | Allow sysimage build without the doc system (#53533) The earliest bootstrapping code has a definition of `atdoc` that is just supposed to ignore the doc string and pass the defining code through. This function is then replaced by the actual docsystem once that is available. For testing, I wanted to build the whole system image without the doc system using this boostrap definition. However, this turns out not to be possible, because there's a few doc syntax semantics that do not actually just ignore the doc string. In particular: ``` """ I am a doc for a particular signature """ foo(x::Int, y::Float64) ``` Does not acutally result in a call to `foo`. And similarly ``` """ I am a doc for a global binding """ MyModule.foo ``` Does not require `MyModule.foo` to actually have a value, since it only documents the binding. This PR allows both of those cases in the boostrap version of `atdoc` so that we can bootstrap without the doc system if we wanted to. | 01 March 2024, 06:34:00 UTC |
136f018 | Keno Fischer | 01 March 2024, 06:32:36 UTC | Allow GlobalRef and module qualified names in macro definitions (#53535) The following is currently an error: ``` julia> module MyMacroModule macro mymacro end end Main.MyMacroModule julia> macro MyMacroModule.mymacro() 1 end ERROR: syntax: invalid macro definition around REPL[2]:1 Stacktrace: [1] top-level scope @ REPL[2]:1 ``` Discussing with Jeff, we didn't think there was any good reason not to allow this, just a missing case in lowering. It's probably not particularly useful (unlike the corresponding case for functions that is used all the time), but it came up in writing a test case for #53515. | 01 March 2024, 06:32:36 UTC |
95f54c4 | Jameson Nash | 01 March 2024, 02:38:38 UTC | fix InteractiveUtils call in Base.runtests on failure (#53525) Noticed in CI that `Base.runtests(["fail"])` fails here instead of throwing the correct error later, since #53326. | 01 March 2024, 02:38:38 UTC |
2501e37 | Shuhei Kadowaki | 01 March 2024, 00:43:00 UTC | post-opt analysis: fix conditional successor visitation logic (#53518) Previously `conditional_successors_may_throw` performed post-domination analysis not on the initially specified `bb` (which was given as the argument), but on those BBs being analyzed that were popped from the work-queue at the time. As a result, there were cases where not all conditional successors were visited. fixes #53508 | 01 March 2024, 00:43:00 UTC |
989c4db | Ian Butterworth | 29 February 2024, 23:04:39 UTC | add _readdirx for returning more object info gathered during dir scan (#53377) | 29 February 2024, 23:04:39 UTC |
fbcc99a | Sukera | 29 February 2024, 23:04:08 UTC | Add documentation about failure cases of trig functions & return types (#50855) | 29 February 2024, 23:04:08 UTC |
c06662a | KronosTheLate | 29 February 2024, 18:01:47 UTC | Implement and export `isfull` (#53159) This PR implements `isfull(c::Channel)`. It calls `n_avail(c) ≥ c.sz_max` in all cases. The original implementation was inspired by [this comment](https://discourse.julialang.org/t/function-to-check-if-channel-is-full/44795/3?u=thelatekronos), and therefore had a special case for unbuffered channels, which fell back to `isready`. I opted against this behaviour, because it fails to respect that an unbuffered channel is always full, in two important senses: 1) The number of elements available is greater than or equal the capacity 2) A call to `put!` will block With the current implementation, the behaviour is simply understood and summarized in all cases by the start of the docstring: > Determines whether a `Channel` is full, in the sense that calling `put!(c, some_value)` will block. Shoutout to @SamuraiAku for their work in https://github.com/JuliaLang/julia/pull/40720, which helped me a lot on thinking this through, and remembering to change all relevant files. In particular, the detail around how `c.cond_take.waitq` may result in immediate unblocking, which is a really important caveat on a function that may be used to check if `put!`ing will block. However, for buffered channels, `isfull` is extremely close to `putwillblock` from #40720 (just a little better, with >= instead of ==), and for unbuffered channels it does not make much sense to see if `put!`ing will block. This PR is created based on [this](https://github.com/JuliaLang/julia/issues/22863#issuecomment-1921498544) "call to action". Checklist: - [x] Entry in news - [x] Docstring with example - [x] Export function - [x] Mention in manual - [x] Entry in [docs-reference](https://docs.julialang.org/en/v1/base/parallel/) --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 29 February 2024, 18:01:47 UTC |
962bbf7 | Kristoffer Carlsson | 29 February 2024, 18:01:22 UTC | Introduce -m/--module flag to execute a `main` function in a package (#52103) This aims to bring similar functionality to Julia as the `-m` flag for Python which exists to directly run some function in a package and being able to pass arguments to that function. While in Python, `python -m package args` runs the file `<package>.__main__.py`, the equivalent Julia command (`julia -m Package args`) instead runs `<Package>.main(args)`. The package is assumed to be installed in the environment `julia` is run in. An example usage could be: Add the package: ```julia (@v1.11) pkg> add https://github.com/KristofferC/Rot13.jl Cloning git-repo `https://github.com/KristofferC/Rot13.jl` Updating git-repo `https://github.com/KristofferC/Rot13.jl` Resolving package versions... Updating `~/.julia/environments/v1.11/Project.toml` [43ef800a] + Rot13 v0.1.0 `https://github.com/KristofferC/Rot13.jl#master` Updating `~/.julia/environments/v1.11/Manifest.toml` [43ef800a] + Rot13 v0.1.0 `https://github.com/KristofferC/Rot13.jl#master` ``` And then it can be run (since it has a `main` function) via: ``` ❯ ./julia/julia -m Rot13 "encrypt this for me" "and this as well" rapelcg guvf sbe zr naq guvf nf jryy ``` I'm not sure if `-m/--module` is the best choice but perhaps the association to Python makes it worth it. | 29 February 2024, 18:01:22 UTC |
e50ca99 | Jeff Bezanson | 29 February 2024, 15:40:01 UTC | fix potential double-free in flisp table implementation (#53519) In this case we would add two finalizers, leading to a double free. Introduced by 5fc4ba91931526a08fc1bf8d3937aac731ee2cc6. However, I believe we never hit this in the julia front end, since it requires making a large pre-initialized table (i.e. with many arguments to `table`) which is later freed. That tends not to happen since initialized tables tend to be global constants. | 29 February 2024, 15:40:01 UTC |
715c50d | Jameson Nash | 29 February 2024, 14:32:17 UTC | codegen: make gcroots for argument-derived values (#53501) This function might previously refuse to make gc roots for any of the function's arguments (i.e. it potentially assumed everything was in an alloca), which was only valid if we could guarantee that no IPO passes run. This commit aims to make that safe, but deferring such decisions about their source until llvm-late-gc-lowering can make them valid. This should make inlining-safe gc annotations for code_llvm(raw=true, optimize=false, (Some{Int},)) do x; GC.@preserve x GC.safepoint(); end and also better annotations even without inlining for code_llvm(raw=true, optimize=false, (Some{Any},)) do x; GC.@preserve x GC.safepoint(); end | 29 February 2024, 14:32:17 UTC |
24aaf00 | Kristoffer Carlsson | 29 February 2024, 14:22:15 UTC | add back an alias for `check_top_bit` (#53523) Used in some packages (e.g. rfourquet/BitIntegers.jl) Renamed in https://github.com/JuliaLang/julia/pull/53166 | 29 February 2024, 14:22:15 UTC |
84ae351 | DilumAluthgeBot | 29 February 2024, 10:15:12 UTC | 🤖 [master] Bump the Pkg stdlib from 1f16df404 to 48eea8dbd (#53517) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: master Julia branch: master Old commit: 1f16df404 New commit: 48eea8dbd Julia version: 1.12.0-DEV Pkg version: 1.11.0(Does not match) Bump invoked by: @KristofferC Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Pkg.jl/compare/1f16df404a2fbe8642ea3eecc9f4d7064c400a73...48eea8dbd7b651cdc932b909c1b718bb9c3f94f4 ``` $ git log --oneline 1f16df404..48eea8dbd 48eea8dbd setenv -> addenv (#3819) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 29 February 2024, 10:15:12 UTC |
77c0672 | Stefan Karpinski | 28 February 2024, 23:06:12 UTC | task splitting: change additive accumulation to multiplicative (#53408) Issue raised [here](https://discourse.julialang.org/t/linear-relationship-between-xoshiro-tasks/110454). Given this definition, look at output values: ```jl using .Threads macro fetch(ex) :(fetch(@spawn($(esc(ex))))) end function taskCorrelatedXoshiros(+ = +) r11, r10 = @fetch (@fetch(rand(UInt64)), rand(UInt64)) r01, r00 = (@fetch(rand(UInt64)), rand(UInt64)) r01 + r10 - (r00 + r11) end ``` Before: ```jl julia> sort!(unique(taskCorrelatedXoshiros() for _ = 1:1000)) 9-element Vector{UInt64}: 0x0000000000000000 0x0000000000000001 0x00000000007fffff 0x0000000000800000 0x0000000000800001 0xffffffffff7fffff 0xffffffffff800000 0xffffffffff800001 0xffffffffffffffff ``` After: ```jl julia> sort!(unique(taskCorrelatedXoshiros() for _ = 1:1000)) 1000-element Vector{UInt64}: 0x000420647a085960 0x0038c5b889b585c6 0x007b29fae8107ff7 0x00e73b9e883ac1c8 ⋮ 0xfe68be9c0dde1e88 0xfeca042354218c35 0xfeeb8203e470c96b 0xfff5dbb8771307b9 julia> sort!(unique(taskCorrelatedXoshiros(*) for _ = 1:1000)) 1000-element Vector{UInt64}: 0x00126f951c1e56dc 0x0025a82477ffac08 0x002dd82c9986457a 0x00a713c4d56a3dbc ⋮ 0xfe2e40a5b345095e 0xfe77b90881967436 0xfea2559be63f1701 0xff88b5b28cefac5f ``` | 28 February 2024, 23:06:12 UTC |
c80a964 | Shuhei Kadowaki | 28 February 2024, 22:34:54 UTC | update staled `Core.Compiler.Effects` documentation (#53507) | 28 February 2024, 22:34:54 UTC |
71f68b4 | Max Horn | 28 February 2024, 05:46:20 UTC | Avoid compiler warning about redefining jl_globalref_t (#53499) | 28 February 2024, 05:46:20 UTC |
c379db7 | DilumAluthgeBot | 27 February 2024, 22:33:57 UTC | 🤖 [master] Bump the Pkg stdlib from 76070d295 to 1f16df404 (#53495) | 27 February 2024, 22:33:57 UTC |
b18a62d | pyfagorass | 27 February 2024, 19:54:46 UTC | Fix formatting & typo in methods.md (#53486) * Fixed what I suspect is a typo: commonly -> common * Added code quotes to eltype: eltype -> `eltype` Sentence now reads: Instead, common code will dispatch first on the container type, then recurse down to a more specific method based on `eltype`. | 27 February 2024, 19:54:46 UTC |
2b79326 | Dilum Aluthge | 27 February 2024, 17:22:16 UTC | Move the list of Base's `public` names from `base/exports.jl` to `base/public.jl` (#53487) | 27 February 2024, 17:22:16 UTC |
c19c68e | Nicholas Bauer | 27 February 2024, 16:17:15 UTC | Add error hint for incorrect stacked indexing (#40934) A common entry level mistake is to try to index a matrix with two sets of brackets, e.g. `a = [1 2; 3 4]; a[1][2] = 5` This will lead to an error that `setindex!()` on the element type of `a` is missing. This PR adds an error hint for the case where a MethodError is raised when `setindex!` is called with a `Number` as the first argument. I considered going broader than numbers, but it seems more likely that this kind of mistake would happen when working with simple number arrays vs. something more advanced. Could also consider if it is possible to do the same for when `getindex()` is called on a `Number`, which emits a BoundsError. Co-authored-by: Michael Abbott <32575566+mcabbott@users.noreply.github.com> | 27 February 2024, 16:17:15 UTC |
b3b2736 | Jeff Bezanson | 27 February 2024, 13:57:49 UTC | add IR encoding for EnterNode (#53482) fixes #53248 | 27 February 2024, 13:57:49 UTC |
35cb8a5 | Shuhei Kadowaki | 27 February 2024, 06:12:46 UTC | minor fixes on test/precompile.jl (#53476) These changes are driven-by fixes I found during investigating into a more complex issue related to precompilation with external abs int. | 27 February 2024, 06:12:46 UTC |
2e9b0bb | Ian Butterworth | 27 February 2024, 02:42:36 UTC | `rm`: move open DLLs to temp dir to allow dir to be deleted (#53456) | 27 February 2024, 02:42:36 UTC |
98b3f72 | Jishnu Bhattacharya | 27 February 2024, 01:16:22 UTC | Fix boundscheck in unsetindex for SubArrays (#53475) These had been copy-pasted incorrectly, and should throw an error if the indices are out of bounds. | 27 February 2024, 01:16:22 UTC |
a2be715 | Jameson Nash | 26 February 2024, 21:08:57 UTC | gf: allow method shadowing with exact signatures without deletion (#53415) We already allowed method shadowing for an inexact signature and implicit method deletion by exact signatures, so it was fairly arbitrary to implement it as a deletion for a replacement by an exact signature rather than use the morespecific definition for this. This change should be useful to Mocking libraries, such as Pluto, which previously had a buggier version of this which tried to re-activate or re-define the old methods. There is a bit of code cleanup in here, either of unused features, or of aspects that were broken, or of world_valid computations that were not actually impacting the final result (e.g. when there is a more specific result matches, it does not need to limit the result valid world range because of a less specific result that does not get returned). | 26 February 2024, 21:08:57 UTC |
7f92880 | Jameson Nash | 26 February 2024, 21:06:35 UTC | add dedicated IO thread (capability only) (#53422) It has been oft-requested that we have a dedicated IO thread. That actually turns out to already be the case of something that exists, except that we hard-code the identity of that thread as being thread 0. This PR replaces all of the places where we hard code that assumption with a variable so that they are more easily searched for in the code. It also adds an internal function (`jl_set_io_loop_tid`) that can be used to transfer ownership of the loop to any (valid) tid. In conjunction with the prior foreign-threads work and foreign-thread pool, this lets us spawn a dedicate IO-management thread with this bit of code: ```julia function make_io_thread() tid = UInt[0] threadwork = @cfunction function(arg::Ptr{Cvoid}) Base.errormonitor(current_task()) # this may not go particularly well if the IO loop is dead, but try anyways @ccall jl_set_io_loop_tid((Threads.threadid() - 1)::Int16)::Cvoid wait() # spin uv_run as long as needed nothing end Cvoid (Ptr{Cvoid},) err = @ccall uv_thread_create(tid::Ptr{UInt}, threadwork::Ptr{Cvoid}, C_NULL::Ptr{Cvoid})::Cint err == 0 || Base.uv_error("uv_thread_create", err) @ccall uv_thread_detach(tid::Ptr{UInt})::Cint err == 0 || Base.uv_error("uv_thread_detach", err) # n.b. this does not wait for the thread to start or to take ownership of the event loop nothing end ``` | 26 February 2024, 21:06:35 UTC |
189a255 | DilumAluthgeBot | 26 February 2024, 20:18:44 UTC | 🤖 [master] Bump the Distributed stdlib from 41c0106 to 6a07d98 (#53477) Stdlib: Distributed URL: https://github.com/JuliaLang/Distributed.jl Stdlib branch: master Julia branch: master Old commit: 41c0106 New commit: 6a07d98 Julia version: 1.12.0-DEV Distributed version: 1.11.0(Does not match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: https://github.com/JuliaLang/Distributed.jl/compare/41c01069533e22a6ce6b794746e4b3aa9f5a25cd...6a07d9853ab7686df7440a47d1b585c6c9f3be35 ``` $ git log --oneline 41c0106..6a07d98 6a07d98 Merge pull request #93 from JuliaLang/ib/guard_rmprocs 41cd14f suppress interrupt trace from SIGTERM test 2b23ae4 guard rmprocs in tests 8c03305 do not call worker_from_id with pid<1 (#92) 25ee836 Add warning about new workers not sharing prior global state (#14) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 26 February 2024, 20:18:44 UTC |
a796a41 | Ian Butterworth | 26 February 2024, 19:52:42 UTC | add suffix kwarg to `tempname` (#53474) `tempname` checks that the name its returning is not already a file, however if you want that filename to contain other information, like a file extension, that can mean the uniquing isn't complete. This adds `tempname(suffix = "_foo.txt")` to include a suffix in the name and uniquing check. --------- Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 26 February 2024, 19:52:42 UTC |
4634c74 | Alexander Plavin | 26 February 2024, 19:17:38 UTC | add array `typeinfo` support for NamedTuples (#53465) Closes https://github.com/JuliaLang/julia/issues/53455 | 26 February 2024, 19:17:38 UTC |
3db7323 | Kristoffer Carlsson | 26 February 2024, 14:07:32 UTC | Simplify some tests with `@test ... {broken,skip}=...` (#53470) | 26 February 2024, 14:07:32 UTC |
3ebba8f | Simon Byrne | 26 February 2024, 14:06:32 UTC | use ScopedValues for MPFR precision and rounding (#51362) Should fix thread safety issues. Actually fixes #27139 | 26 February 2024, 14:06:32 UTC |
b18824a | Mosè Giordano | 26 February 2024, 08:18:52 UTC | Wrap `contrib/check-whitespace.jl` in a function (#53468) | 26 February 2024, 08:18:52 UTC |
4b47cc4 | Eric Hanson | 26 February 2024, 07:36:47 UTC | Remove stale explicit imports from many stdlibs (#53464) Found via my new https://github.com/ericphanson/ExplicitImports.jl ```julia using ExplicitImports ExplicitImports.inspect_session(; inner=print_stale_explicit_imports) ``` These are not being used in the modules they are being imported into (or in some cases they are being used, but only in a qualified way where the explicit import is unnecessary). It can happen that someone imports a name into a module in order to have it available in that namespace, to then access it from another module (e.g. `TOML.Internals` seems to work like this). I've tried to notice those situations and not remove the imports in cases where I suspect the import is playing such a role, but hopefully CI will figure out if I got it right in all cases. I only looked at stdlibs that happened to be loaded in my Julia session and whose code is in this repo, so there are probably more stale explicit imports out there. | 26 February 2024, 07:36:47 UTC |
34a5151 | Mosè Giordano | 26 February 2024, 01:49:17 UTC | Use `@test ... skip=...` instead of `@test_skip` | 26 February 2024, 01:57:48 UTC |
849d551 | Mosè Giordano | 08 May 2022, 23:48:39 UTC | Use `@test ... broken=...` instead of `@test_broken` | 26 February 2024, 01:57:48 UTC |