https://github.com/JuliaLang/julia
- 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/KristofferC-patch-8
- refs/heads/LilithHafner-patch-1
- refs/heads/LilithHafner-patch-3
- refs/heads/SubtypeError
- refs/heads/aa-tcp-write-opt-18
- refs/heads/aa/build-llvm-unwind
- refs/heads/aa/freebsd-aarch64
- 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/EA-finalizer
- refs/heads/avi/EASROA
- refs/heads/avi/absint-cache
- 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/cache-irinterp
- 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/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/inlined-stacktrace
- 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/opt-and-or-int
- refs/heads/avi/opt-assume-bindings-static
- refs/heads/avi/opt-toplevel-chunk
- 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/small-image4
- 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/avi/unused-noconstprop
- 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/bump-llvm17
- 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/codepoint_overlong
- refs/heads/ct/jl_nothing-crash
- refs/heads/ct/julia-opt-zone
- refs/heads/ct/juliaclogging
- refs/heads/ct/more-fprint
- refs/heads/ct/typed-callable
- refs/heads/ct/union-sret-abi
- 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/da/devcontainer-update
- refs/heads/dcn-1.9-with-mem-pressure-callback
- refs/heads/dcn-3-color
- refs/heads/dcn-allocated-bytes-in-alloc
- refs/heads/dcn-canonicalize-callable-names
- refs/heads/dcn-check-oldest-object-in-size-class
- refs/heads/dcn-gc-interface
- refs/heads/dcn-gc-paper-1.9-branch
- refs/heads/dcn-gc-paper-dev-branch
- refs/heads/dcn-memprofile
- refs/heads/dcn-null-out-gc-slots
- refs/heads/dcn-prepend-sigid-and-tid-on-backtraces
- refs/heads/dcn-save-registers-for-conservative-scanning
- refs/heads/dcn/docs
- refs/heads/dcn/mq
- refs/heads/dk/abstractqsimilar
- refs/heads/dk/antialias
- refs/heads/dk/banded
- refs/heads/dk/blaspromo
- refs/heads/dk/cat_with_q_and_scaling
- refs/heads/dk/choleskypivot
- refs/heads/dk/hvcat_scaling_number
- refs/heads/dk/missing
- refs/heads/dk/stable_div
- refs/heads/dont-tabcomplete-internals
- refs/heads/dpa/UndefVarError-scope-nothing
- 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/num-precompile-tasks
- refs/heads/dpa/parentmodule
- refs/heads/dpa/pidfile-windows-eacces
- refs/heads/dpa/small-change-module-qualified-names
- refs/heads/dpa/sparsearrays
- refs/heads/dpa/test_throws-undefined-fields
- 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/asm-win
- refs/heads/gb/branch-bits
- refs/heads/gb/compile-all-method
- refs/heads/gb/config-lib
- refs/heads/gb/gc-correct-constraint
- refs/heads/gb/gc-other-impl
- refs/heads/gb/hashtable_typelist
- refs/heads/gb/inlining-method-error
- refs/heads/gb/libfuncattrs
- refs/heads/gb/llvmpasses-dep
- refs/heads/gb/memorygep
- refs/heads/gb/mi-alias
- refs/heads/gb/oneten-big-image
- refs/heads/gb/opt-global
- refs/heads/gb/pipeline-fun
- refs/heads/gb/pretty-ir
- refs/heads/gb/rpath-fun
- refs/heads/gb/small-image
- refs/heads/gb/small-image2
- refs/heads/gb/small-image3
- refs/heads/gb/small-image4
- refs/heads/gb/stack-protect
- refs/heads/gb/toplevel-root
- 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/freethreadstate
- refs/heads/jb/gb/static-call-graph
- 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/small-image3
- refs/heads/jb/steprangegetindex
- refs/heads/jb/stripmeta
- refs/heads/jb/tasksize
- refs/heads/jb/tasksp
- refs/heads/jb/taskwaitswitch
- refs/heads/jb/threadedregion-test
- refs/heads/jb/trimmingmisc
- refs/heads/jb/tuplebottom
- 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/adjtransshow
- refs/heads/jishnub/bidiagmul
- refs/heads/jishnub/bidimul
- refs/heads/jishnub/blocktridiagonalindexing
- refs/heads/jishnub/diag_plusminus_symmetric
- refs/heads/jishnub/diagmatrixfns
- refs/heads/jishnub/diagzero
- refs/heads/jishnub/matmulenumdispatch
- refs/heads/jishnub/ntupleshow
- refs/heads/jishnub/rangefindfirstlast
- refs/heads/jishnub/rangezero
- refs/heads/jishnub/rational_iszero_denominator
- refs/heads/jishnub/zeroonefill
- 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/55231
- refs/heads/jn/StructRet_abi
- 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/codeinfo-edges
- 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/invoke-codeinstance
- refs/heads/jn/iocolor
- refs/heads/jn/iocolor2
- refs/heads/jn/ircode-memory
- 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/jitlink-always
- 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/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/cpu_target_pkgimage
- 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/ext_fail_load_sysimage
- refs/heads/kc/ext_fail_load_sysimage_wip
- refs/heads/kc/ext_fail_load_sysimage_wip_wip
- refs/heads/kc/extension
- refs/heads/kc/filtering_precompile
- 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/llvmcall_pos_arg
- refs/heads/kc/loading_debug_error
- refs/heads/kc/loading_stuff
- refs/heads/kc/macro_mixups
- 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/pkgversion
- 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/spec_f
- refs/heads/kc/sprint_displaysize
- refs/heads/kc/stat_reductions
- refs/heads/kc/stdlib
- refs/heads/kc/stdlib_markdown
- 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/view_wrap_mem
- 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/53832
- refs/heads/kf/anysparamlattice
- refs/heads/kf/asan2
- refs/heads/kf/bbmsan
- refs/heads/kf/bindingpartitionwip
- refs/heads/kf/bindingstructrefactor
- refs/heads/kf/cedarwip
- refs/heads/kf/cfgwip
- refs/heads/kf/circshift
- refs/heads/kf/closestcandidates
- refs/heads/kf/codegen
- refs/heads/kf/codetypedconst
- refs/heads/kf/compiler_wip_dont_look
- refs/heads/kf/compilerperfwip
- refs/heads/kf/currygetproperty
- 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/fillrevert
- refs/heads/kf/forcedar
- 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/loadingrename
- refs/heads/kf/loosenhardlimit
- refs/heads/kf/macrocallsig
- refs/heads/kf/magiccompilerdustforceleste2
- refs/heads/kf/magiccompilerdustforceleste3
- refs/heads/kf/magiccompilerdustforceleste4
- refs/heads/kf/mimedata
- refs/heads/kf/mirefactor
- 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/topush
- refs/heads/kf/tpu
- refs/heads/kf/tpu2
- refs/heads/kf/tpu3
- refs/heads/kf/typeoftypes
- refs/heads/kf/typeofvalid
- refs/heads/kf/ubdocs
- 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/FieldError-doctstring
- refs/heads/lh/RawFD-constructors
- refs/heads/lh/compiler-helpers
- refs/heads/lh/delete-redundant-cat-methods
- refs/heads/lh/deprecate-stat-integer
- 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/save
- refs/heads/lh/snake_effects
- refs/heads/lh/sort-tuple
- refs/heads/lh/stacktrace-reverse-print
- refs/heads/lh/strides
- refs/heads/lh/typos-fixup-base
- refs/heads/lh/unknown-cycle-size
- 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/mbauman-patch-1
- 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-enforce-stable
- 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/nl/Dict
- refs/heads/nl/broadcast2
- refs/heads/nl/cat
- refs/heads/nl/compiled
- refs/heads/nl/get!
- refs/heads/nl/length
- refs/heads/nl/mapreducedim
- refs/heads/ob/cttx
- refs/heads/ob/rref
- refs/heads/ob/stackmaps
- refs/heads/openssl
- refs/heads/origin/kf/ccsisdefined
- refs/heads/os/better-givens
- refs/heads/os/high-res-sleep
- refs/heads/os/re-add-unsafe-convert
- 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/revert-54916-avi/cache-unoptimized-generated
- 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/displaydigits
- refs/heads/sgj/hascodepoint
- refs/heads/sgj/hess_eig
- refs/heads/sgj/iteratedfunction
- refs/heads/sgj/mapreduce_pairwise
- refs/heads/sgj/mdwalk
- refs/heads/sgj/more_escapes
- 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/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-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/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/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/task_code_const
- refs/heads/vc/tomlcc
- refs/heads/vc/tsan_nort
- refs/heads/vc/unreachable_methods
- 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.10.3
- refs/tags/v1.10.4
- refs/tags/v1.11.0-alpha1
- refs/tags/v1.11.0-alpha2
- refs/tags/v1.11.0-beta1
- refs/tags/v1.11.0-beta2
- refs/tags/v1.11.0-rc1
- 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
- Branches list truncated to 996 entries, 68 were omitted.
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
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 |
---|---|---|---|---|
256118a | Keno Fischer | 01 September 2022, 19:59:38 UTC | Make inference slightly faster 1. Force inference to union-split the `widenconst` dispatch rather than joing through dynamic dispatch. 2. Avoid widenconst(::Const) in a hot path when not necessary. This got faster (#44402), but is not quite fast yet. Makes inference a few % faster. | 02 September 2022, 05:53:18 UTC |
038d314 | Lilith Orion Hafner | 02 September 2022, 05:51:52 UTC | remove unused sorting functinons from compiler (#46588) | 02 September 2022, 05:51:52 UTC |
a19726b | Keno Fischer | 02 September 2022, 05:51:24 UTC | Faster cogen for isa(::Any, Type) (#46589) By directly inlining `jl_is_kind` into the generated code. | 02 September 2022, 05:51:24 UTC |
e6bf81f | Keno Fischer | 02 September 2022, 04:32:11 UTC | Provide unknown-object codegen fast paths for getfield/isdefined (#46572) I thought this might make inference a bit faster, but benchmark results seem to be in the noise locally, probably because the int being boxed is part of the box cache, so no allocation actually happens. Nevertheless, it's a nice, simple, optimization. | 02 September 2022, 04:32:11 UTC |
44c50ea | Keno Fischer | 02 September 2022, 04:14:27 UTC | Refactor lattice code to expose layering and enable easy extension (#46526) There's been two threads of work involving the compiler's notion of the inference lattice. One is that the lattice has gotten to complicated and with too many internal constraints that are not manifest in the type system. #42596 attempted to address this, but it's quite disruptive as it changes the lattice types and all the signatures of the lattice operations, which are used quite extensively throughout the ecosystem (despite being internal), so that change is quite disruptive (and something we'd ideally only make the ecosystem do once). The other thread of work is that people would like to experiment with a variety of extended lattices outside of base (either to prototype potential additions to the lattice in base or to do custom abstract interpretation over the Julia code). At the moment, the lattice is quite closely interwoven with the rest of the abstract interpreter. In response to this request in #40992, I had proposed a `CustomLattice` element with callbacks, but this doesn't compose particularly well, is cumbersome and imposes overhead on some of the hottest parts of the compiler, so it's a bit of a tough sell to merge into `Base`. In this PR, I'd like to propose a refactoring that is relatively non-invasive to non-Base users, but I think would allow easier experimentation with changes to the lattice for these two use cases. In essence, we're splitting the lattice into a ladder of 5 different lattices, each containing the previous lattice as a sub-lattice. These 5 lattices are: - `JLTypeLattice` (Anything that's a `Type`) - `ConstsLattice` ( + `Const`, `PartialTypeVar`) - `PartialsLattice` ( + `PartialStruct`, `PartialOpaque` ) - `ConditionalsLattice` ( + `Conditional` ) - `InferenceLattice` ( + `LimitedAccuracy` ) - `OptimizerLattice` ( + `MaybeUndef` ) The idea is that where a lattice element contains another lattice element (e.g. in `PartialStruct` or `Conditional`), the element contained may only be from a wider lattice. In this PR, this is not enforced by the type system. This is quite deliberate, as I want to retain the types and object layouts of the lattice elements, but of course a future #42596-like change could add such type enforcement. Of particular note is that the `PartialsLattice` and `ConditionalsLattice` is parameterized and additional layers may be added in the stack. For example, in #40992, I had proposed a lattice element that refines `Int` and tracks symbolic expressions. In this setup, this could be accomplished by adding an appropriate lattice in between the `ConstsLattice` and the `PartialsLattice` (of course, additional hooks would be required to make the tfuncs work, but that is outside the scope of this PR). I don't think this is a full solution, but I think it'll help us play with some of these extended lattice options over the next 6-12 months in the packages that want to do this sort of thing. Presumably once we know what all the potential lattice extensions look like, we will want to take another look at this (likely together with whatever solution we come up with for the AbstractInterpreter composability problem and a rebase of #42596). WIP because I didn't bother updating and plumbing through the lattice in all the call sites yet, but that's mostly mechanical, so if we like this direction, I will make that change and hope to merge this in short order (because otherwise it'll accumulate massive merge conflicts). | 02 September 2022, 04:14:27 UTC |
852e313 | N5N3 | 02 September 2022, 01:00:17 UTC | Merge pull request #46446 from N5N3/Fix-36443 Fix `typeintersect` bug on `Vararg` length. | 02 September 2022, 01:00:17 UTC |
31e4e26 | Lilith Orion Hafner | 01 September 2022, 23:58:01 UTC | Switch from sorted vector to heap in slot2ssa (#46510) * copy heap.jl from DataStructures.jl * use heap instead of sorted vector * add heap tests | 01 September 2022, 23:58:01 UTC |
8ee4b31 | Keno Fischer | 01 September 2022, 23:28:26 UTC | Make BackedgeIterator more type stable (#46584) Provides a slight improvement in inference performance | 01 September 2022, 23:28:26 UTC |
aa20b32 | Ian Atol | 01 September 2022, 21:54:39 UTC | Semi-concrete IR interpreter (#44803) Co-authored-by: Keno Fischer <keno@juliacomputing.com> | 01 September 2022, 21:54:39 UTC |
db2c174 | Keno Fischer | 01 September 2022, 21:34:58 UTC | Add missing codegen mapping for _svec_ref (#46583) Was missed in #45062 and showed up in a performance profile as an unnecessary dynamic dispatch. | 01 September 2022, 21:34:58 UTC |
f73c225 | Keno Fischer | 01 September 2022, 21:34:31 UTC | Handle Vararg{} in isdefined_effects (#46580) Fixes issue reported by Oscar. | 01 September 2022, 21:34:31 UTC |
71131c9 | Lilith Orion Hafner | 01 September 2022, 16:37:01 UTC | inference: optimize compute_live_ins by avoiding sort (#46508) | 01 September 2022, 16:37:01 UTC |
cb5f401 | Daniel Karrasch | 01 September 2022, 10:29:05 UTC | Generalize `lyap` and `sylvester` to abstract matrices (#46545) | 01 September 2022, 10:29:05 UTC |
cb0721b | Tim Holy | 01 September 2022, 04:00:17 UTC | Disambiguate invalidation types in jl_insert_method_instance (#46569) SnoopCompile parses the invalidation log to construct a causal chain for each invalidation. It turns out to be necessary to disambiguate invalidation of callers from invalidation of the primary trigger in jl_insert_method_instance. | 01 September 2022, 04:00:17 UTC |
4654cfa | N5N3 | 29 August 2022, 03:06:17 UTC | subtyping: add tests for various Vararg bounds bugs Refs #39088 Refs #39098 | 01 September 2022, 01:51:41 UTC |
2abedf6 | N5N3 | 29 August 2022, 03:05:38 UTC | Avoid set var's lb if intersect return a Vararg with free length. (Null or a local type var) But `check_unsat_bound` should not be skipped. Co-Authored-By: Jameson Nash <vtjnash+github@gmail.com> | 01 September 2022, 01:51:41 UTC |
1268582 | N5N3 | 29 August 2022, 03:06:14 UTC | Make `bound_var_below` return `NULL` if the input typevar is not valid. If offset > 0, the correct result is `var - offset` if expressible. So an unbounded typevar should not be returned in this case as it might be a diagonal var. Since the result could be improved if `N` get fixed, set `intvalued` to 2 as a re-intersection hint. | 01 September 2022, 01:51:41 UTC |
a6a5f00 | N5N3 | 23 August 2022, 16:04:33 UTC | subtype: add tests for `Vararg` expansion. Ref #36443 Ref #37257 | 01 September 2022, 01:51:40 UTC |
b7f47d5 | N5N3 | 23 August 2022, 16:04:21 UTC | Avoid set `var`'s bounds if `offset != 0` if `offset != 0`, then these 2 var should have different value, thus it's invalid to set bounds. | 01 September 2022, 01:51:40 UTC |
38829a0 | N5N3 | 23 August 2022, 13:14:13 UTC | Always return the shorter `Vararg` length. The type `var` might be switched during intersection. Thus previous result looks order dependent. When we intersect 2 `Vararg`s' length, we should always return the shorter one. As we has consumed the extra elements in `intersect_tuple`. Also fix #37257 Co-Authored-By: Jameson Nash <vtjnash+github@gmail.com> | 01 September 2022, 01:51:40 UTC |
f29a013 | N5N3 | 23 August 2022, 13:58:30 UTC | Add tuple length offset when we intersect 2 `Vararg`'s length. | 01 September 2022, 00:30:19 UTC |
e6d2624 | N5N3 | 31 August 2022, 16:08:40 UTC | Skip subtype check if `intersect_invariant` calls `set_vat_to_const`. Co-Authored-By: Jameson Nash <vtjnash+github@gmail.com> | 01 September 2022, 00:30:19 UTC |
01a4a30 | N5N3 | 24 August 2022, 15:25:48 UTC | Avoid setting `offset` when we intersect `Vararg`'s eltype. `var->offset` is used to recode the length difference of 2 `Vararg`s. But `Vararg`'s length might also be used in the type field, e.g. `Tuple{Vararg{Val{N}, N}} where {N}`, where we should ignore `offset` when we intersect `Val{N}`. This commit move the offset setting/erasing into `intersect_varargs`. | 01 September 2022, 00:30:19 UTC |
53bb7fb | Jeff Bezanson | 31 August 2022, 18:42:41 UTC | allow nested combinations of (named)tuples, symbols, and bits as type parameters (#46300) | 31 August 2022, 18:42:41 UTC |
1ece3f6 | Udoh Jeremiah | 31 August 2022, 17:20:24 UTC | complex numbers should be given equal place in Julia (#46476) | 31 August 2022, 17:20:24 UTC |
8fa066b | Keno Fischer | 31 August 2022, 14:16:54 UTC | compiler: Get rid of has_struct_const_info (#46564) This was introduced by me in #39684, but the commit message has no discussion as to why `has_struct_const_info` and `has_nontrivial_const_info` are not the same function. Moreover, I don't think the `isa(x, Conditional)` branch ever did anything because even at the time of the commit, `tuple_tfunc` applied `widenconditional` to all incoming argtypes. That leaves `PartialTypeVar`, which seems reasonable to just include in the definition of `has_nontrivial_const_info`, so that we may be consistent between `tuple_tfunc` and `Expr(:new)`. | 31 August 2022, 14:16:54 UTC |
a83a0e6 | Jakob Nybo Nissen | 31 August 2022, 13:16:45 UTC | Minor inference improvements in stdlibs (#46561) Since Julia unfortuantely still cannot propagate information from immutable fields loaded twice (see #39888, #41199), these kind of changes are necessary to achieve type stability. | 31 August 2022, 13:16:45 UTC |
5fe93ee | Shuhei Kadowaki | 31 August 2022, 12:33:29 UTC | `AbstractInterpreter`: allow overloading `merge_effects!` (#46559) This allows external `AbstractInterpreter`s to observe effects computed for each statement (as like `add_remark!`) and show more fine-grained effects information, e.g. in Cthulhu's code view. | 31 August 2022, 12:33:29 UTC |
dc27852 | Kristoffer Carlsson | 31 August 2022, 12:21:08 UTC | code loading fixes for cases where wrong version of package is loaded (#46068) | 31 August 2022, 12:21:08 UTC |
7537cb3 | Hendrik Ranocha | 31 August 2022, 12:12:01 UTC | Improve inferrability of `open(f, cmd, ...)` (#46551) This fixes invalidations from loading Static.jl | 31 August 2022, 12:12:01 UTC |
adc72d1 | Hendrik Ranocha | 31 August 2022, 12:08:55 UTC | Improve inference in REPL LineEdit.jl `getEntry` (#46550) This prevents invalidations from loading Static.jl | 31 August 2022, 12:08:55 UTC |
25a07bf | Hendrik Ranocha | 31 August 2022, 12:06:18 UTC | Improve type stability of `platforms_match(::AbstractPlatform, ::AbstractPlatform)` (#46547) This improvement prevents invalidations in binaryplatforms.jl when loading Static.jl. | 31 August 2022, 12:06:18 UTC |
f1f5d59 | Hendrik Ranocha | 31 August 2022, 12:04:37 UTC | fix another invalidation from Static.jl (#46546) This is a follow-up to https://github.com/JuliaLang/julia/pull/46481. I suggest the labels `latency` and `backport-1.8`. | 31 August 2022, 12:04:37 UTC |
5a02f3f | Keno Fischer | 31 August 2022, 10:12:49 UTC | Drive-by microopt - remove duplicated subtype query (#46560) `typeintersect` already performs this subtype query internally as the first thing it does, so just check after the fact rather than duplicating the query. | 31 August 2022, 10:12:49 UTC |
8adca3b | Lilith Orion Hafner | 31 August 2022, 09:46:56 UTC | require one based indexing in evalpoly (#46552) Co-authored-by: Lilith Hafner <Lilith.Hafner@gmail.com> | 31 August 2022, 09:46:56 UTC |
99d8c7b | Hendrik Ranocha | 31 August 2022, 09:30:54 UTC | fix invalidations in REPL LineEdit.jl from Static.jl (#46548) * fix invalidations in REPL LineEdit.jl from Static.jl | 31 August 2022, 09:30:54 UTC |
4862893 | Daniel Matz | 31 August 2022, 09:24:43 UTC | Forward keyword arguments when using @deprecate without a signature (#46261) When using the @deprecate macro without specifying the deprecated signature, a method is created for the old name that accepts a variable number of positional arguments. This commit makes the created method also accept a variable number of keyword arguments. | 31 August 2022, 09:24:43 UTC |
559826e | Udoh Jeremiah | 31 August 2022, 09:08:31 UTC | More info on nor(x, y) (#46505) | 31 August 2022, 09:08:31 UTC |
0a64f5b | Jishnu Bhattacharya | 31 August 2022, 07:35:12 UTC | Improve `hvcat` signature in its docstring (#46518) Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> | 31 August 2022, 07:35:12 UTC |
682ae8a | Gabriel Baraldi | 31 August 2022, 06:33:58 UTC | Disable even more FileWatching tests (#46497) | 31 August 2022, 06:33:58 UTC |
7ab0c81 | Lilith Orion Hafner | 31 August 2022, 05:50:06 UTC | Loosen type signature on Dates' otherperiod_seed (#45886) | 31 August 2022, 05:50:06 UTC |
3c7d96f | merry | 31 August 2022, 05:44:07 UTC | errorshow: Show hint when + is attempted on AbstractStrings (#45823) | 31 August 2022, 05:44:07 UTC |
f066855 | Shuhei Kadowaki | 31 August 2022, 02:40:04 UTC | inference: revive `CachedMethodTable` mechanism (#46535) `CachedMethodTable` was removed within #44240 as we couldn't confirm any performance improvement then. However it turns out the optimization was critical in some real world cases (e.g. #46492), so this commit revives the mechanism with the following tweaks that should make it more effective: - create method table cache per inference (rather than per local inference on a function call as on the previous implementation) - only use cache mechanism for abstract types (since we already cache lookup result at the next level as for concrete types) As a result, the following snippet reported at #46492 recovers the compilation performance: ```julia using ControlSystems a_2 = [-5 -3; 2 -9] C_212 = ss(a_2, [1; 2], [1 0; 0 1], [0; 0]) @time norm(C_212) ``` > on master ``` julia> @time norm(C_212) 364.489044 seconds (724.44 M allocations: 92.524 GiB, 6.01% gc time, 100.00% compilation time) 0.5345224838248489 ``` > on this commit ``` julia> @time norm(C_212) 26.539016 seconds (62.09 M allocations: 5.537 GiB, 5.55% gc time, 100.00% compilation time) 0.5345224838248489 ``` | 31 August 2022, 02:40:04 UTC |
97c853a | Shuhei Kadowaki | 31 August 2022, 01:52:48 UTC | `AbstractInterpreter`: allow overload of `type_annotate!` (#46554) So that external `AbstractInterpreter`s observe the DCE on type-inferred code based on reachability analysis of abstract interpretation. This is especially useful for Cthulhu to show collected remarks layered on DCE-ed `CodeInfo` object. | 31 August 2022, 01:52:48 UTC |
c2a1650 | Hendrik Ranocha | 30 August 2022, 18:11:07 UTC | avoid one invalidation of `isinf` when loading Static.jl (#46493) | 30 August 2022, 18:11:07 UTC |
d1706d4 | Nicholas Bauer | 30 August 2022, 14:51:04 UTC | Remove backtrace entirely in shell mode (#42867) | 30 August 2022, 14:51:04 UTC |
fd6b485 | Nicholas Bauer | 30 August 2022, 14:28:38 UTC | Suggested refinement to Symbol docs (#45115) Moves the notice that `:` only works for valid identifiers up to the first sentence, and adds examples where `Symbol()` would be needed. | 30 August 2022, 14:28:38 UTC |
3242858 | Lionel Zoubritzky | 30 August 2022, 13:48:22 UTC | Fix Dict limit printing of small values ending with color (#45521) | 30 August 2022, 13:48:22 UTC |
b252d17 | Lilith Orion Hafner | 30 August 2022, 13:32:53 UTC | Increase code reuse in Dates.Period conversion and promotion (#45884) | 30 August 2022, 13:32:53 UTC |
909f153 | Lilith Orion Hafner | 30 August 2022, 13:30:05 UTC | Deprecate Dates.argerror (#46031) | 30 August 2022, 13:30:05 UTC |
1715110 | 理念圈 | 30 August 2022, 13:29:03 UTC | Enhance `StringIndexError` display (correct escaping) (#46039) | 30 August 2022, 13:29:03 UTC |
c00f40b | J S | 30 August 2022, 13:16:36 UTC | add partition specialization for Strings (#46234) This PR fixes JuliaLang/julia#45768 | 30 August 2022, 13:16:36 UTC |
afb8c89 | Ian Butterworth | 30 August 2022, 13:14:56 UTC | `@kwdef`: export and add to public api (#46273) | 30 August 2022, 13:14:56 UTC |
ca629f3 | Lilith Orion Hafner | 30 August 2022, 13:11:37 UTC | Add property in searchsortedfirst docstring (#46511) | 30 August 2022, 13:11:37 UTC |
710d9a0 | Lilith Orion Hafner | 30 August 2022, 13:10:18 UTC | Add link to appropriate section of devdocs (#46540) | 30 August 2022, 13:10:18 UTC |
6d6f3b7 | DilumAluthgeBot | 30 August 2022, 13:02:21 UTC | 🤖 Bump the Pkg stdlib from 8d77a6cac to aa3704d36 (#46543) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 30 August 2022, 13:02:21 UTC |
fb19a0a | Wolf Thomsen | 30 August 2022, 11:12:58 UTC | Docs: Clarify docs of watch_file and watch_folder (#46523) This change adds additional information regarding the behavior of the functions "watch_file" and "watch_folder". Specifically, the use of events (as opposed to polling) is clarified. | 30 August 2022, 11:12:58 UTC |
fa90dc8 | Sagar Patel | 30 August 2022, 09:52:29 UTC | docs: LibGit2: use GitRepo constructor instead of init (#46442) init does not handle working trees, so the constructor must be used instead. | 30 August 2022, 09:52:29 UTC |
99340fe | Hendrik Ranocha | 30 August 2022, 09:51:11 UTC | fix invalidations in REPLCompletions from Static.jl (#46494) | 30 August 2022, 09:51:11 UTC |
f9712f9 | Tim Holy | 30 August 2022, 01:21:10 UTC | Allow redefinition of `invoke`d methods with new signatures (fixes #46503) (#46538) | 30 August 2022, 01:21:10 UTC |
ccf04c2 | Tim Besard | 29 August 2022, 19:22:45 UTC | Improve the Core.Compiler.@show helper. (#46423) Add support for multiple arguments, returning the last value, just like how Base.@show works. | 29 August 2022, 19:22:45 UTC |
1fae1b9 | Hendrik Ranocha | 29 August 2022, 19:21:59 UTC | fix invalidations in sort! from Static.jl (#46491) | 29 August 2022, 19:21:59 UTC |
6cd2a9d | Shuhei Kadowaki | 29 August 2022, 16:45:30 UTC | inference: handle `Union` with `TypeVar` properly within `isdefined_tfunc` (#46534) Improves the robustness of `isdefined_tfunc` when it splits `Union` with `TypeVar`s. Originally reported at <https://github.com/aviatesk/JET.jl/issues/379>. | 29 August 2022, 16:45:30 UTC |
431071b | Hendrik Ranocha | 29 August 2022, 16:02:25 UTC | fix invalidations of REPL from HDF5.jl (#46486) | 29 August 2022, 16:02:25 UTC |
5c5af1f | Hendrik Ranocha | 29 August 2022, 15:49:08 UTC | fix invalidations for Dicts from Static.jl (#46490) | 29 August 2022, 15:49:08 UTC |
91f068c | Mosè Giordano | 29 August 2022, 12:40:08 UTC | Remove extra whitespace in `base/complex.jl` (#46532) | 29 August 2022, 12:40:08 UTC |
10961d1 | Henrique Becker | 29 August 2022, 09:40:45 UTC | Change description of underscore-only variables (#45964) * Change description of underscore-only variables Spawned by https://discourse.julialang.org/t/class-of-variables/83892 The rvalue/lvalue description does not seem benefitial. It confuse programmers that are not programming language nerds (it is a cool concept to learn, but this does not seem the place to learn it), and even programming language nerds may object. I for example, find kinda of a stretch to call `___` a lvalue because the linked wikipedia page says: > An l-value refers to an object that persists beyond a single expression. An r-value is a temporary value that does not persist beyond the expression that uses it.[3] Considering this description, the `___` matches more a rvalue than an lvalue (even if it is semantically a location and appear always in the left-hand side of an assignment). | 29 August 2022, 09:40:45 UTC |
6ba623e | Udoh Jeremiah | 29 August 2022, 09:19:14 UTC | Add some more info to `Base.@irrational` (#46525) | 29 August 2022, 09:19:14 UTC |
72222d6 | Jakob Nybo Nissen | 29 August 2022, 09:16:56 UTC | Docs: Remove static scheduling warning (#46519) The docs on multithreading still warns that the default scheduler for @threads uses static scheduling. However, since #44136, dynamic scheduling has been the default. This commit removes the warning. | 29 August 2022, 09:16:56 UTC |
c79b995 | Erik Schnetter | 29 August 2022, 09:09:29 UTC | LinearAlgebra: Make kron with Diagonal matrices more efficient (#46463) Co-authored-by: Daniel Karrasch <daniel.karrasch@posteo.de> | 29 August 2022, 09:09:29 UTC |
f5db687 | Udoh Jeremiah | 29 August 2022, 09:05:23 UTC | More specificity about the isreal(x) function (#46460) | 29 August 2022, 09:05:23 UTC |
b64743b | Morten Piibeleht | 29 August 2022, 09:02:18 UTC | Use Documenter 0.27.23 (#46516) | 29 August 2022, 09:02:18 UTC |
5e8e0a5 | Y. Yang | 29 August 2022, 07:27:51 UTC | Fix union!(s::BitSet, r::AbstractUnitRange{<:Integer}) when two ranges do not overlap. (#45578) * Fix union!(s::BitSet, r::AbstractUnitRange{<:Integer}) when two ranges do not overlap. Resizing of BitSet should be filled with 0 by default. | 29 August 2022, 07:27:51 UTC |
3037c0a | Keno Fischer | 29 August 2022, 03:06:56 UTC | Try to fix FileWatching test more (#46524) I think the synchronization in #46028 was incomplete to actually fix the issue. Try to fix it by accounting the time taken to wait for the synchronization event into the lock time. Otherwise, the test pass/fail depends on the scheduler ordering. | 29 August 2022, 03:06:56 UTC |
5316549 | Keno Fischer | 28 August 2022, 21:02:52 UTC | Handle Vararg in PartialStruct fields in lattice ⊑ (#46515) This was an existing todo. While we're at it, also explicitly check the remaining cases where lattice elements survived all the way to the conservative fallback and remove it in preparation for some refactoring here. | 28 August 2022, 21:02:52 UTC |
6cdc4ce | DilumAluthgeBot | 28 August 2022, 02:32:11 UTC | 🤖 Bump the SparseArrays stdlib from 78e48c3 to 91814c1 (#46513) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 28 August 2022, 02:32:11 UTC |
293031b | Shuhei Kadowaki | 26 August 2022, 20:24:45 UTC | `AbstractInterpreter`: pass `InferenceResult` to `transform_result_for_cache` (#46488) This allows external `AbstractInterpreter`s to cache customized information more easily. | 26 August 2022, 20:24:45 UTC |
dfbb9c4 | Katharine Hyatt | 26 August 2022, 18:53:31 UTC | Add some examples for Task related functions and Examples cleanup (#46002) * Add some examples for Task related functions and Examples cleanup Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com> Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> | 26 August 2022, 18:53:31 UTC |
316fc8c | Udoh Jeremiah | 26 August 2022, 18:51:15 UTC | Information for specific operating system (#46438) * Information for specific operating system To not cause ambiguities, when a message is going to a specific operating system, say windows, its best to be spelled out explicitly if possible, so the reader on the docs can know what's happening, other than assuming with the prefix of `win`, one would immediately figure out its talking about windows. Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> | 26 August 2022, 18:51:15 UTC |
3b81696 | Akira Kyle | 26 August 2022, 16:49:43 UTC | Fix ordering of headers so `#define _GNU_SOURCE` comes first (#46183) Co-authored-by: Kristoffer Carlsson <kcarlsson89@gmail.com> | 26 August 2022, 16:49:43 UTC |
98e1b13 | Hendrik Ranocha | 26 August 2022, 13:38:28 UTC | fix type instability/invalidations from `nextind` (#46489) | 26 August 2022, 13:38:28 UTC |
ce6e9ee | Hendrik Ranocha | 26 August 2022, 13:37:16 UTC | fix invalidations in logging (#46481) | 26 August 2022, 13:37:16 UTC |
c491e79 | Oscar Smith | 26 August 2022, 09:11:05 UTC | fix bug when error is infinite (#46436) | 26 August 2022, 09:11:05 UTC |
bea7b6f | Shuhei Kadowaki | 26 August 2022, 04:25:54 UTC | follow up the inlining unmatched type param PR (#46484) This commit follows up #45062: - eliminate closure capturing, and improve type stability a bit - refactor the test structure so that they are more aligned with the other parts of tests | 26 August 2022, 04:25:54 UTC |
19f44b6 | Ian Atol | 25 August 2022, 22:43:35 UTC | Allow inlining methods with unmatched type parameters (#45062) | 25 August 2022, 22:43:35 UTC |
36aab14 | Shuhei Kadowaki | 25 August 2022, 10:17:38 UTC | IRShow: print invalid `SSAValue` in red (#46472) | 25 August 2022, 10:17:38 UTC |
c3d5009 | Daniel Karrasch | 25 August 2022, 06:54:34 UTC | Fix 3-arg `dot` for 1x1 structured matrices (#46473) | 25 August 2022, 06:54:34 UTC |
e7ef4b5 | Shuhei Kadowaki | 24 August 2022, 19:51:51 UTC | NFC simplifications on codegen.cpp (#46449) | 24 August 2022, 19:51:51 UTC |
dd375e1 | Tim Holy | 24 August 2022, 19:31:51 UTC | `invoke`d calls: record invoke signature in backedges (#46010) This fixes a long-standing issue with how we've handled `invoke` calls with respect to method invalidation. When we load a package, we need to ask whether a given MethodInstance would be compiled in the same way now (aka, in the user's running session) as when the package was precompiled; in practice, the way we do that is to test whether the dispatches would be to the same methods in the current world-age. `invoke` presents special challenges because it allows the coder to deliberately select a different method than the one that would be chosen by ordinary dispatch; if there is no record of how this choice was made, it can look like it resolves to the wrong method and this can trigger invalidation. This allows a MethodInstance to store dispatch tuples as well as other MethodInstances among their backedges. Additionally: - provide backedge-iterators for both C and Julia that abstracts the specific storage mechanism. - fix a bug in the CodeInstance `relocatability` field, where methods that only return a constant (and hence store `nothing` for `inferred`) were deemed non-relocatable. - fix a bug in which #43990 should have checked that the method had not been deleted. Tests passed formerly simply because we weren't caching external CodeInstances that inferred down to a `Const`; fixing that exposed the bug. This bug has been exposed since merging #43990 for non-`Const` inference, and would affect Revise etc. Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 24 August 2022, 19:31:51 UTC |
3b1c54d | Elliot Saba | 24 August 2022, 15:38:20 UTC | Consistently use `RUNPATH` in our libraries (#46464) * Consistently use `RUNPATH` in our libraries When loading dependencies on Linux, we can either use `RPATH` or `RUNPATH` as a list of relative paths to search for libraries. The difference, for our purposes, mainly lies within how this interacts with `LD_LIBRARY_PATH`: `RPATH` is searched first, then `LD_LIBRARY_PATH`, then `RUNPATH`. So by using `RUNPATH` here, we are explicitly allowing ourselves to be overridden by `LD_LIBRARY_PATH`. This is fine, as long as we are consistent across our entire library line, however in the `v1.8.0` release, there was an inconsistency, reported in [0]. The inconsistency occured because of the following confluence of factors: - Ancient `ld` builds (such as the one used in our build environment) do not default to using `RUNPATH`, but instead use `RPATH`. - `patchelf`, when it rewrites the RPATH, will default to using `RUNPATH` instead. - We were only using `patchelf` on `libjulia-internal`, not on `libjulia-codegen`, which was newly added in `v1.8`. These three factors together caused us to ship a binary with `RUNPATH` in `libjulia-internal`, but `RPATH` in `libjulia-codegen`, which caused loading to fail in [0] due to first `libjulia-internal` being loaded, (which brought in the external `libstdc++`), then `libjulia-codegen` failed to load (because it found an incompatible `libstdc++`), causing the mysterious compiler error. This PR fixes this twofold; first, when building the libraries in the first place, we pass `--enable-new-dtags` to the linker to encourage it to use `runpath` when possible. This removes the possibility for a missing `patchelf` invocation to break things in this way. Second, we apply `patchelf` properly to `libjulia-codegen` as well. [0] https://github.com/JuliaLang/julia/issues/46409 * Update Make.inc Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> | 24 August 2022, 15:38:20 UTC |
8dde54d | Peter | 24 August 2022, 10:57:39 UTC | Specialize Diagonal * Matrix * Diagonal (#46400) | 24 August 2022, 10:57:39 UTC |
c876894 | Lilith Orion Hafner | 24 August 2022, 02:21:13 UTC | remove misleading comment (#46458) | 24 August 2022, 02:21:13 UTC |
f0b5556 | Lilith Orion Hafner | 23 August 2022, 21:25:29 UTC | Better error messages for getindex(::Number) (#46457) | 23 August 2022, 21:25:29 UTC |
18fa383 | Shuhei Kadowaki | 23 August 2022, 13:44:32 UTC | fix `Base.return_types` for direct builtin calls (#46443) This commit also changed this fragile test case ``` @test Base.return_types(Expr) == Any[Expr] ``` to ``` @test only(Base.return_types(Core._expr)) === Expr ``` since `Expr` is just a generic function and can be overloaded in the future (e.g. the JuliaSyntax.jl integration PR). | 23 August 2022, 13:44:32 UTC |
df3da05 | Shuhei Kadowaki | 23 August 2022, 05:19:59 UTC | implement `compilerbarrier` builtin (#46432) This builtin is useful to control compiler behavior. It could be considered as a more robust and generalized version of `inferencebarrier`. I scratched the following docstring for `compilerbarrier`, that hopefully explains its purpose. Base.compilerbarrier(setting::Symbol, val) This function puts a barrier at a specified compilation phase. It is supposed to only influence the compilation behavior according to `setting`, and its runtime semantics is just to return the second argument `val` (except that this function will perform additional checks on `setting` in a case when `setting` isn't known precisely at compile-time.) Currently either of the following `setting`s is allowed: - Barriers on abstract interpretation: * `:type`: the return type of this function call will be inferred as `Any` always (the strongest barrier on abstract interpretation) * `:const`: the return type of this function call will be inferred with widening constant information on `val` * `:conditional`: the return type of this function call will be inferred with widening conditional information on `val` (see the example below) - Any barriers on optimization aren't implemented yet !!! note This function is supposed to be used _with `setting` known precisely at compile-time_. Note that in a case when the `setting` isn't known precisely at compile-time, the compiler currently will put the most strongest barrier(s) rather than emitting a compile-time warning. \# Examples ```julia julia> Base.return_types((Int,)) do a x = compilerbarrier(:type, a) # `x` won't be inferred as `x::Int` return x end |> only Any julia> Base.return_types() do x = compilerbarrier(:const, 42) if x == 42 # no constant information here, so inference also accounts for the else branch return x # but `x` is still inferred as `x::Int` at least here else return nothing end end |> only Union{Nothing, Int64} julia> Base.return_types((Union{Int,Nothing},)) do a if compilerbarrier(:conditional, isa(a, Int)) # the conditional information `a::Int` isn't available here (leading to less accurate return type inference) return a else return nothing end end |> only Union{Nothing, Int64} ``` As a result, `Base.inferencebarrier` is now defined as ```julia inferencebarrier(@nospecialize(x)) = compilerbarrier(:type, x) ``` | 23 August 2022, 05:19:59 UTC |
80e50b5 | Gabriel Baraldi | 22 August 2022, 19:10:49 UTC | Fix whitespace in timings.jl (#46439) | 22 August 2022, 19:10:49 UTC |
947c908 | Daniel Karrasch | 22 August 2022, 15:53:08 UTC | Fix multiplication of `AbstractQ`s (#46237) | 22 August 2022, 15:53:08 UTC |
baa85f4 | Michael Abbott | 22 August 2022, 15:49:12 UTC | See also `axes` from `eachindex`'s docstring, etc. (#45356) * mention pairs and axes in eachindex's docstring | 22 August 2022, 15:49:12 UTC |
99e8953 | Dilum Aluthge | 22 August 2022, 14:34:14 UTC | Fix `deepcopy` for `Base.GenericCondition` (#46406) | 22 August 2022, 14:34:14 UTC |
e0056c8 | Mason Protter | 22 August 2022, 10:08:05 UTC | Fix `@time` compat description (#46416) | 22 August 2022, 10:08:05 UTC |