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 |
---|---|---|---|---|
af34539 | Shuhei Kadowaki | 05 April 2022, 12:24:25 UTC | wip: scratch compiler plugin | 12 April 2022, 12:41:05 UTC |
6c22265 | Shuhei Kadowaki | 12 April 2022, 06:32:19 UTC | more test coverage | 12 April 2022, 07:39:13 UTC |
7aa4a7d | Shuhei Kadowaki | 12 April 2022, 06:32:05 UTC | Merge branch 'master' into jb/ircode2oc | 12 April 2022, 06:32:05 UTC |
c2da085 | Jéssica Milaré | 12 April 2022, 05:40:47 UTC | Round from zero support for non-BigFloats (#41246) Co-authored-by: Steven G. Johnson <stevenj@alum.mit.edu> Co-authored-by: Steven G. Johnson <stevenj@mit.edu> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 12 April 2022, 05:40:47 UTC |
8020549 | Mosè Giordano | 12 April 2022, 05:25:49 UTC | [src] Fix compilation of `crc32.c` on aarch64 with Clang (#44915) Compilation of this file on aarch64 Linux with Clang currently fails with ```console $ make crc32c.o CC=clang CC src/crc32c.o In file included from /home/mose/repo/julia/src/crc32c.c:45: In file included from ./julia_internal.h:1021: In file included from /home/mose/repo/julia/usr/include/libunwind.h:7: /home/mose/repo/julia/usr/include/libunwind-aarch64.h:60:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wc++-compat] typedef struct ^ /home/mose/repo/julia/usr/include/libunwind-aarch64.h:169:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wc++-compat] typedef struct unw_tdep_save_loc ^ /home/mose/repo/julia/src/crc32c.c:339:22: warning: unused function 'crc32c_dispatch' [-Wunused-function] static crc32c_func_t crc32c_dispatch(unsigned long hwcap) ^ '++crc' is not a recognized feature for this target (ignoring feature) '++crc' is not a recognized feature for this target (ignoring feature) /home/mose/repo/julia/src/crc32c.c:212:9: error: instruction requires: crc asm("crc32cx %w0, %w1, %2" : "=r"(res) : "r"(crc), "r"(val)); ^ <inline asm>:1:2: note: instantiated into assembly here crc32cx w0, w0, x1 ^ /home/mose/repo/julia/src/crc32c.c:218:9: error: instruction requires: crc asm("crc32cw %w0, %w1, %w2" : "=r"(res) : "r"(crc), "r"(val)); ^ <inline asm>:1:2: note: instantiated into assembly here crc32cw w0, w0, w1 ^ /home/mose/repo/julia/src/crc32c.c:224:9: error: instruction requires: crc asm("crc32ch %w0, %w1, %w2" : "=r"(res) : "r"(crc), "r"(val)); ^ <inline asm>:1:2: note: instantiated into assembly here crc32ch w0, w0, w1 ^ /home/mose/repo/julia/src/crc32c.c:230:9: error: instruction requires: crc asm("crc32cb %w0, %w1, %w2" : "=r"(res) : "r"(crc), "r"(val)); ^ <inline asm>:1:2: note: instantiated into assembly here crc32cb w0, w0, w1 ^ 3 warnings and 4 errors generated. make: *** [Makefile:217: crc32c.o] Error 1 ``` Compilation on aarch64 macOS with Apple Clang is successful, but there is still the message about the unrecognized feature: ```console % rm -f crc32c.o; make crc32c.o CC src/crc32c.o '++crc' is not a recognized feature for this target (ignoring feature) '++crc' is not a recognized feature for this target (ignoring feature) ``` It appears GCC and Clang disagrees on how the target attribute should be specified: GCC wants `"+crc"`, while Clang wants `"crc"`. Also Android's zlib uses `"crc"` only when building for Clang: <https://android.googlesource.com/platform/external/zlib/+/refs/tags/android-platform-12.1.0_r2/crc32_simd.c#187>. With this change, compilation of Julia on aarch64 Linux with Clang is now successful. Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 12 April 2022, 05:25:49 UTC |
d9e6eaf | pchintalapudi | 12 April 2022, 05:17:33 UTC | Remove a few unobjectionable codegen lock calls (#44924) | 12 April 2022, 05:17:33 UTC |
2ae677d | Jameson Nash | 12 April 2022, 05:11:29 UTC | [Distributed] Set stdin to devnull before closing it (#44881) * [Distributed] Set stdin to devnull before closing it Distributed closes and destroys stdin, but some tests attempted to explicitly use it, leading to test problems. We previously interpreted this as passing devnull, but this is better to be explicit. * Revert "Testsystem: for now, move the REPL tests to node 1 (#44880)" This reverts commit 7401e92a930ab51ff74e67a27152df5c2acd459b. | 12 April 2022, 05:11:29 UTC |
b5bbb9f | Will Kimmerer | 12 April 2022, 02:06:42 UTC | distributed docs (#44940) | 12 April 2022, 02:06:42 UTC |
d4e26c8 | Mark Baum | 12 April 2022, 02:02:17 UTC | predicate function negation with ComposedFunction (#44752) Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com> | 12 April 2022, 02:02:17 UTC |
c0c60e8 | pchintalapudi | 12 April 2022, 01:59:07 UTC | Pool more JIT resources to reduce memory usage/contention (#44912) | 12 April 2022, 01:59:07 UTC |
4c858f8 | Ian Atol | 12 April 2022, 01:54:13 UTC | Fix 44921 by properly setting Vboxed field (#44942) | 12 April 2022, 01:54:13 UTC |
990c21a | Christine Flood | 12 April 2022, 01:44:58 UTC | Updated 32 bit heuristics (#44805) Co-authored-by: Christine H. Flood <christineflood@juliacomputing.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com> Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 12 April 2022, 01:44:58 UTC |
0c2722e | pchintalapudi | 11 April 2022, 20:44:58 UTC | Use context lock instead of codegen lock (#44923) | 11 April 2022, 20:44:58 UTC |
691d310 | Jeff Bezanson | 08 April 2022, 19:18:38 UTC | fixes to OpaqueClosure argument count handling and MethodError display | 11 April 2022, 16:55:37 UTC |
1fe7cfa | Zachary P Christensen | 11 April 2022, 16:10:32 UTC | add `@nospecialize` for `identity` (#44929) | 11 April 2022, 16:10:32 UTC |
dfe0e34 | Shuhei Kadowaki | 11 April 2022, 14:34:37 UTC | replace `@pure` annotations in Base with effect settings (#44776) This commit replaces `@pure`/`@_pure_meta` annotations used in `Base` with corresponding effect settings (`:total` or `:total_or_throw`). The concrete evaluation mechanism based on the effect system (#43852) has the following benefits over the `@pure`-based optimization: - it can fold cases when consistent exception is thrown - it can handle constant union-split situation as well - effects can be propagated inter-procedurally While revisiting the existing annotations, I removed some unnecessary ones and also added some more hopefully new annotations (mostly for reflection utilities). In theory this should give us some performance benefits, e.g. now we can concrete-evaluate union-spit `typeintersect`: ```julia @test Base.return_types((Union{Int,Nothing},)) do x typeintersect(String, typeof(x)) end |> only === Type{Union{}} ``` Though this commit ends up bigger than I expected -- we should carefully check a benchmark result so that it doesn't come with any regressions. | 11 April 2022, 14:34:37 UTC |
0deb326 | Shuhei Kadowaki | 11 April 2022, 02:41:35 UTC | inference: don't widen `DataType`/`UninAll` to `Type` within `tuple_tfunc` (#44896) Follows up #44725. | 11 April 2022, 02:41:35 UTC |
bb91e62 | Max Horn | 10 April 2022, 23:28:41 UTC | Fix "anonymous types declared in an anonymous union" warnings (#44807) They look like this: ``` CC src/processor.o In file included from /Users/mhorn/Projekte/Julia/julia.master/src/processor.cpp:10: In file included from ./processor.h:5: ./julia.h:395:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types] struct { ^ ./julia.h:405:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types] struct { ^ 2 warnings generated. ``` and come from code that was introduced by @keno in PR #43852. But it turns out that the union is not used at all! So I'm simply removing the offending union. Perhaps it is needed for some future work, but it should be trivial to add it back if needed. If that happens, I suggest a comment is added that explain why this looks similar to but has different layout compared to the `typedef _jl_purity_overrides_t` also in `julia.h`. | 10 April 2022, 23:28:41 UTC |
992b261 | pchintalapudi | 10 April 2022, 18:47:02 UTC | Move to a pool of threadsafecontexts (#44605) * Use pooled contexts * Allow move construction of the resource pool | 10 April 2022, 18:47:02 UTC |
3d87815 | Dilum Aluthge | 09 April 2022, 23:50:31 UTC | CI (`Create Buildbot Statuses`): remove `tester_macos64` from the list (#44918) | 09 April 2022, 23:50:31 UTC |
73c9863 | Elliot Saba | 09 April 2022, 15:06:38 UTC | Add `skip(::BufferStream, n)` (#44917) The lack of this method means that we can't use `Tar` with a `BufferStream` which seems a shame. A minimal example: ``` julia> using Tar mktempdir() do dir touch("$(dir)/foo") touch("$(dir)/bar") mkdir("$(dir)/baz") open("$(dir)/baz/qux", write=true) do io println(io, rand(UInt8, 1000)) end bs = Base.BufferStream() tar_stream = open(`tar c $(dir)`; read=true).out @async begin write(bs, read(tar_stream)) close(bs) end Tar.list(bs) end ``` Results in: ``` ERROR: MethodError: no method matching skip(::Base.BufferStream, ::Int64) Closest candidates are: skip(::Base.GenericIOBuffer, ::Integer) at iobuffer.jl:243 skip(::IOStream, ::Integer) at iostream.jl:184 skip(::Base.Filesystem.File, ::Integer) at filesystem.jl:251 ``` Whereas adding the definition in this PR instead yields: ``` tar: Removing leading `/' from member names 5-element Vector{Tar.Header}: Tar.Header("tmp/jl_7b01pO/", :directory, 0o700, 0, "") Tar.Header("tmp/jl_7b01pO/foo", :file, 0o664, 0, "") Tar.Header("tmp/jl_7b01pO/bar", :file, 0o664, 0, "") Tar.Header("tmp/jl_7b01pO/baz/", :directory, 0o775, 0, "") Tar.Header("tmp/jl_7b01pO/baz/qux", :file, 0o664, 6006, "") ``` | 09 April 2022, 15:06:38 UTC |
74314a0 | Tim Besard | 09 April 2022, 00:55:53 UTC | ASAN: Minimal system image to reduce CI time. (#44908) Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 09 April 2022, 00:55:53 UTC |
385762b | Simeon Schaub | 08 April 2022, 21:50:53 UTC | allow slurping in any position (#42902) This extends the current slurping syntax by allowing the slurping to not only occur at the end, but anywhere on the lhs. This allows syntax like `a, b..., c = x` to work as expected. The feature is implemented using a new function called `split_rest` (definitely open to better names), which takes as arguments the iterator, the number of trailing variables at the end as a `Val` and possibly a previous iteration state. It then spits out a vector containing all slurped arguments and a tuple with the n values that get assigned to the rest of the variables. The plan would be to customize this for different finite collection, so that the first argument won't always be a vector, but that has not been implemented yet. `split_rest` differs from `rest` of course in that it always needs to be eager, since the trailing values need to be known immediately. This is why the slurped part has to be a vector for most iterables, instead of a lazy iterator as is the case for `rest`. | 08 April 2022, 21:50:53 UTC |
8890aea | pchintalapudi | 08 April 2022, 11:47:33 UTC | Use EmittedUndefVarErrors Statistic (#44901) | 08 April 2022, 11:47:33 UTC |
6d78404 | Shuhei Kadowaki | 08 April 2022, 01:42:38 UTC | remove `isvarargtype` assertions from `subtype` and `intersect` (#44761) fix #44735 | 08 April 2022, 01:42:38 UTC |
244ada3 | Steven G. Johnson | 07 April 2022, 23:30:59 UTC | fallback randn/randexp for AbstractFloat (#44714) * fallback randn/randexp for AbstractFloat | 07 April 2022, 23:30:59 UTC |
f536b81 | Takafumi Arakaki | 07 April 2022, 18:40:09 UTC | Make some islocked methods better annotated for DRF (#44874) This implements the `islocked`-`trylock` API documented in #44820 for `ReentrantLock` and `SpinLock`. | 07 April 2022, 18:40:09 UTC |
315a5dd | Yuto Horikawa | 07 April 2022, 18:39:04 UTC | [REPL] replace \sqspne with \sqsupsetneq (#44899) | 07 April 2022, 18:39:04 UTC |
d055d96 | pchintalapudi | 07 April 2022, 17:53:08 UTC | codegen: remove the imaging mode global (#44600) | 07 April 2022, 17:53:08 UTC |
a1e93a3 | Jameson Nash | 07 April 2022, 17:52:23 UTC | Merge pull request #44578 from JuliaLang/pc/float-stat Add statistics and verification to our floating point passes | 07 April 2022, 17:52:23 UTC |
d127b5e | Jameson Nash | 07 April 2022, 17:49:39 UTC | mach: use 64-bit error handlers (#44837) While the legacy (32-bit) handlers still will work, we should switch to the modern handlers. | 07 April 2022, 17:49:39 UTC |
5f2abf6 | Jameson Nash | 07 April 2022, 17:48:04 UTC | fix missing field type initialization vars (#44797) We were accidentally passing the start of the list instead of the end of the list, resulting in some values passing through uninitialized. Fix #42297 regression | 07 April 2022, 17:48:04 UTC |
b4bed71 | Jameson Nash | 07 April 2022, 17:47:50 UTC | fix Libc.rand and seed problems (#44432) Continuation from #43606 - Replaces thread-unsafe function `rand` with `jl_rand`. - Fixes `_ad_hoc_entropy_source` fallback in Random. - Uses uv_random for more direct access to quality-randomness (usually a syscall rather than a file.) - Ensures Array{Bool} are valid when created from RandomDevice. | 07 April 2022, 17:47:50 UTC |
badad9d | Nicolau Leal Werneck | 07 April 2022, 07:39:46 UTC | Implements flatmap (#44792) flatmap is the composition of map and flatten. It is important for functional programming patterns. Some tasks that can be easily attained with list-comprehensions, including the composition of filter and mapping, or flattening a list of computed lists, can only be attained with do-syntax style if a flatmap functor is available. (Or appending a `|> flatten`, etc.) Filtering can be implemented by outputing empty lists or singleton lists for the values to be removed or kept. | 07 April 2022, 07:39:46 UTC |
ad047d0 | Mosè Giordano | 07 April 2022, 06:22:32 UTC | [src] Use `JL_CFLAGS` and `JL_CXXFLAGS` variables to build Julia (#44867) * [src] Use `JCFLAGS_add` and `JCXXFLAGS_add` variables to build Julia These variables are always used, they don't mess up with `JCFLAGS` and `JCXXFLAGS` and are specific to building Julia's source code only (not the dependencies). * [src] Rename `JC*FLAGS_add` to `JL_C*FLAGS` | 07 April 2022, 06:22:32 UTC |
7401e92 | Dilum Aluthge | 06 April 2022, 21:54:09 UTC | Testsystem: for now, move the REPL tests to node 1 (#44880) | 06 April 2022, 21:54:09 UTC |
2944ee9 | Jameson Nash | 06 April 2022, 21:32:12 UTC | fix trailing whitespace from #44849 (#44884) | 06 April 2022, 21:32:12 UTC |
559244b | gaurav-arya | 06 April 2022, 16:01:37 UTC | Add \neq tab completion to ≠ (#44849) | 06 April 2022, 16:01:37 UTC |
7014681 | Paul Melis | 06 April 2022, 12:36:50 UTC | Small doc clearifications on embedding and the GC, plus information on threading restrictions (#43966) * Small clarifications on embedding and the GC, plus more information on restrictions when embedding in a multi-thread environment * Fix wide code blocks, add syntax highlight, small tweaks to text * Trim trailing whitespace Co-authored-by: Paul Melis <paul.melis@surfsara.nl> | 06 April 2022, 12:36:50 UTC |
f41eed8 | pchintalapudi | 06 April 2022, 12:17:39 UTC | Instrument various parts of codegen (#44595) * Instrument cgutils with statistics * Instrument ccall.cpp * Instrument intrinsics * Instrument codegen | 06 April 2022, 12:17:39 UTC |
2c8c0a4 | Lilith Orion Hafner | 06 April 2022, 00:38:18 UTC | Simplify InsertionSort (#44862) | 06 April 2022, 00:38:18 UTC |
0a7d5d1 | Mosè Giordano | 05 April 2022, 20:11:31 UTC | Show `dlerror()` only if it's actually non-NULL (#44856) This prevents a segmentation fault when showing an error message when libjulia can't be loaded. | 05 April 2022, 20:11:31 UTC |
0ba4c07 | Prem Chintalapudi | 05 April 2022, 16:52:51 UTC | Remove unused variable and invalidate less frequently in muladd | 05 April 2022, 16:52:51 UTC |
1a004d1 | Prem Chintalapudi | 12 March 2022, 06:30:49 UTC | Instrument simdloop and multiversioning | 05 April 2022, 16:50:24 UTC |
14bedc1 | Prem Chintalapudi | 12 March 2022, 06:08:28 UTC | Refactor and instrument muladd | 05 April 2022, 16:50:24 UTC |
568a6b7 | Prem Chintalapudi | 12 March 2022, 05:57:16 UTC | Instrument DemoteFloat16 | 05 April 2022, 16:50:24 UTC |
3fb132f | Elliot Saba | 05 April 2022, 16:02:02 UTC | Update Pkg, and move tests to node 1 (#44828) * 🤖 Bump the Pkg stdlib from 53cefb5c to b5d23482 * Move `Pkg` to node 1 Co-authored-by: Dilum Aluthge <dilum@aluthge.com> | 05 April 2022, 16:02:02 UTC |
6774185 | Mosè Giordano | 05 April 2022, 15:51:36 UTC | Check if `_POSIX_C_SOURCE` is defined before using its value (#44850) | 05 April 2022, 15:51:36 UTC |
c5fae67 | Shuhei Kadowaki | 05 April 2022, 11:33:15 UTC | Merge branch 'master' into jb/ircode2oc | 05 April 2022, 11:33:15 UTC |
dacf9d6 | Daniel Karrasch | 05 April 2022, 09:04:45 UTC | Remove disturbing `@show` output in tests (#44860) | 05 April 2022, 09:04:45 UTC |
aa497b5 | pchintalapudi | 05 April 2022, 08:01:35 UTC | Add statistics/verification to cpufeatures and julia-licm (#44592) | 05 April 2022, 08:01:35 UTC |
038c2bb | Takafumi Arakaki | 05 April 2022, 04:16:52 UTC | Support TATAS-like usage in `islocked` and `trylock` spec (#44820) | 05 April 2022, 04:16:52 UTC |
e9150a1 | Chris Elrod | 05 April 2022, 02:40:23 UTC | add `@nospecialize` annotations for Returns (#44853) | 05 April 2022, 02:40:23 UTC |
7a61fc0 | Simeon Schaub | 05 April 2022, 02:21:08 UTC | fix `getglobal_nothrow` (#44855) | 05 April 2022, 02:21:08 UTC |
f8f83da | pchintalapudi | 04 April 2022, 23:32:45 UTC | Fix leftover indentation TODOs (#44854) | 04 April 2022, 23:32:45 UTC |
81e7cfc | Mosè Giordano | 04 April 2022, 20:11:25 UTC | [Zlib_jll] Update to v1.2.12+3 (#44810) Note: this is the first build of the real upstream version 1.2.12 which was released a few days ago. | 04 April 2022, 20:11:25 UTC |
2f9e3a5 | Oscar Smith | 04 April 2022, 15:46:54 UTC | faster `_log_ext` (#44717) * faster _log_ext * test subnormal^float | 04 April 2022, 15:46:54 UTC |
0c9f130 | pchintalapudi | 04 April 2022, 14:43:45 UTC | Instrument AllocOpt (#44577) | 04 April 2022, 14:43:45 UTC |
51271e0 | Petr Vana | 04 April 2022, 04:17:56 UTC | Detect multiple concurent writes to Dict + remove dead code (#44778) Thanks to #38180, the removed code seems to be dead because no finalizers should be used anymore to modify dictionaries (it was dangerous). Furthermore, it may help users to detect illegal concurrent writes, since it doesn't recurse and have new error message. There should be no, or even a positive, performance effect. | 04 April 2022, 04:17:56 UTC |
209aad1 | Thomas van Doornmalen | 04 April 2022, 03:57:30 UTC | restore MSVC support to julia.h file (#44842) Put back a few lines that were removed by PR $42703 because they are required to successfully embed Julia with MSVC. | 04 April 2022, 03:57:30 UTC |
62dd14e | Viral B. Shah | 03 April 2022, 04:15:13 UTC | Fix #42929 (#44838) | 03 April 2022, 04:15:13 UTC |
f84b49a | Lilith Orion Hafner | 03 April 2022, 03:05:44 UTC | Stricter tests in int.jl (#44522) * Stricter tests in int.jl * More tests for coverage. | 03 April 2022, 03:05:44 UTC |
5dfd6c9 | Lilith Orion Hafner | 03 April 2022, 02:26:38 UTC | Add radix sort (#44230) * Add radix sort | 03 April 2022, 02:26:38 UTC |
41c2c7c | Steven G. Johnson | 02 April 2022, 21:27:09 UTC | graphemes(s, m:n) substring slicing (#44266) * graphemes(s, m:n) substring slicing * variable naming * whoops * consolidate tests * empty-range test * note complexity * Update stdlib/Unicode/src/Unicode.jl Co-authored-by: Sebastian Stock <42280794+sostock@users.noreply.github.com> * news fix Co-authored-by: Sebastian Stock <42280794+sostock@users.noreply.github.com> | 02 April 2022, 21:27:09 UTC |
daa2101 | Mosè Giordano | 02 April 2022, 18:10:08 UTC | Delete trailing whitespace (#44836) | 02 April 2022, 18:10:08 UTC |
8823058 | Jerry Ling | 02 April 2022, 17:17:25 UTC | improve str macro doc help (#39110) * improve str macro doc help * add string macro search result | 02 April 2022, 17:17:25 UTC |
020c2de | Steven G. Johnson | 02 April 2022, 14:51:09 UTC | clarification of export list (#44744) * clarification of export list Co-authored-by: Fredrik Ekre <ekrefredrik@gmail.com> | 02 April 2022, 14:51:09 UTC |
567ae8c | N5N3 | 02 April 2022, 14:13:18 UTC | Seperate `LinearAlgebra.axp(b)y!` and `BLAS.axp(b)y!`. (#44758) * Seperate `LinearAlgebra.axpy!` and `BLAS.axpy!` * Make more `dot` based on `BLAS`. * Doc fix. | 02 April 2022, 14:13:18 UTC |
5916faf | Katharine Hyatt | 02 April 2022, 12:17:59 UTC | Tests for bad arguments to at-threads (#30937) | 02 April 2022, 12:17:59 UTC |
dbe41d4 | Paul Berg | 02 April 2022, 09:39:38 UTC | Fix implicit binding import for aliased bindings (#44827) `b->name` is used to lookup in `b->owner`, not `var`. | 02 April 2022, 09:39:38 UTC |
78d9dd0 | Shuhei Kadowaki | 01 April 2022, 22:39:36 UTC | add new `:total_may_throw` utility setting for `@assume_effects` (#44775) This setting is particularly useful since it allows the compiler to evaluate a call of the applied method when all the call arguments are fully known, no matter if the call results in an error or not. This commit also adds some more explanations on the difference between `@pure` and `@assume_effects`. | 01 April 2022, 22:39:36 UTC |
4422a1d | pchintalapudi | 01 April 2022, 22:02:52 UTC | Migrate codegen to operate on orc::ThreadSafeModule (#44440) * Move to TSModule, round 2 * Pass in modules to codegen * Rename jl_create_datalayout * Get unlocked modules once * Pass along module data layout and target more frequently * Remove jl_get_ee_context * Add note about context locks | 01 April 2022, 22:02:52 UTC |
48ae154 | Christian Plessl | 01 April 2022, 18:24:52 UTC | Fix typo in documentation (#44831) | 01 April 2022, 18:24:52 UTC |
081ae64 | Mosè Giordano | 01 April 2022, 17:59:06 UTC | Mark as `inline` functions implemented in `src/serialize.h` (#44739) * Mark as `inline` functions implemented in `src/serialize.h` Also, remove duplicate definitions from `src/staticdata.c` and include `serialize.h` in there. | 01 April 2022, 17:59:06 UTC |
05340a8 | iuliadmtru | 01 April 2022, 15:53:26 UTC | fix typo in line 38 in tuple.jl (#44817) | 01 April 2022, 15:53:26 UTC |
20d29f4 | SamarthMayya | 01 April 2022, 13:28:42 UTC | Added Pluto.jl to Browser workflow in docs (#44683) * Added Pluto.jl to Browser workflow Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com> | 01 April 2022, 13:28:42 UTC |
cf649a7 | Shuhei Kadowaki | 01 April 2022, 04:54:43 UTC | effects: replaces usages of `ALWAYS_FALSE` with `TRISTATE_UNKNOWN` (#44808) Although they are basically equivalent in the current implementation, it would be more correct conceptually if we propagate `TRISTATE_UNKNOWN` instead of `ALWAYS_TRUE`, as it is hard or impossible to derive a global conclusion from a local analysis on each statement in most places. This commit also adds a docstring that simply explains the design of the effect analysis. | 01 April 2022, 04:54:43 UTC |
3888176 | Shuhei Kadowaki | 01 April 2022, 01:01:45 UTC | follow up #44786, fix `findsup` to return correct `overlayed` value (#44804) | 01 April 2022, 01:01:45 UTC |
70406c9 | Tyson Whitehead | 31 March 2022, 23:45:01 UTC | Makefile wildcard globs only work at end (#34879) This implements the same logic in the choosetests.jl. Co-authored-by: Jameson Nash <vtjnash@gmail.com> | 31 March 2022, 23:45:01 UTC |
ef835ac | Steven G. Johnson | 31 March 2022, 21:01:10 UTC | abs2(::Number) fallback (#44110) | 31 March 2022, 21:01:10 UTC |
3c08483 | Mosè Giordano | 31 March 2022, 17:53:38 UTC | Silence all warnings when building with GCC on Linux (#44350) * Silence all warnings when building with GCC on Linux * Replace `#warning` with `#pragma message` The former causes a compiler warning with Clang about it being a language extension, which then causes an error if building with `-Werror`. * Silence warning about unused variable when doing a non-debug build * Initialise another variable which can be detected as uninitialised * Fix more warnings introduced by recent changes | 31 March 2022, 17:53:38 UTC |
66c95f3 | Max Horn | 31 March 2022, 15:24:46 UTC | Fix typo in a docstring (#44806) | 31 March 2022, 15:24:46 UTC |
82ce311 | Shuhei Kadowaki | 31 March 2022, 07:28:03 UTC | effects: add reflection utility for the new effect analysis (#44785) This commit adds new reflection utility named `Base.infer_effects` that works in the same way as `Base.return_types` but returns inferred effects instead. It would be helpful to test that certain method call has an expected effects. For example, we can now remove `Base.@pure` annotation from the definition of `BroadcastStyle(a::A, b::B) where {A<:AbstractArrayStyle{M},B<:AbstractArrayStyle{N}} where {M,N}` and checks it's still eligible for concrete evaluation like this (see <https://github.com/JuliaLang/julia/pull/44776#discussion_r836756190> for the context): ```julia julia> import Base.Broadcast: AbstractArrayStyle, DefaultArrayStyle, Unknown julia> function BroadcastStyle(a::A, b::B) where {A<:AbstractArrayStyle{M},B<:AbstractArrayStyle{N}} where {M,N} if Base.typename(A) === Base.typename(B) return A(Val(max(M, N))) end return Unknown() end BroadcastStyle (generic function with 1 method) julia> # test that the above definition is eligible for concrete evaluation @test Base.infer_effects(BroadcastStyle, (DefaultArrayStyle{1},DefaultArrayStyle{2},)) |> Core.Compiler.is_total_or_error Test Passed ``` Co-authored-by: Takafumi Arakaki <aka.tkf@gmail.com> | 31 March 2022, 07:28:03 UTC |
3f23c45 | Elliot Saba | 30 March 2022, 19:57:52 UTC | Propagate `TMPDIR` in `Distributed` tests (#44799) On our macOS CI systems, `TMPDIR` is set to a special path (not `/tmp`) and the CI processes are not allowed to write into `/tmp`. This causes this `Distributed` test to fail, as it loses the special `TMPDIR` setting. This explicitly sets `TMPDIR` to ensure that it propagates correctly. | 30 March 2022, 19:57:52 UTC |
516a404 | Keno Fischer | 30 March 2022, 19:52:19 UTC | Merge pull request #44798 from JuliaLang/kf/bugpoint Make julia bootstrap bugpointable | 30 March 2022, 19:52:19 UTC |
dab3019 | Stefan Karpinski | 30 March 2022, 14:23:14 UTC | LICENSE.md: update copyright years (#44802) | 30 March 2022, 14:23:14 UTC |
dcc0efe | Daniel Karrasch | 30 March 2022, 13:50:08 UTC | RFC: Rework `copy_oftype` a bit (#44756) | 30 March 2022, 13:50:08 UTC |
967b974 | Daniel Karrasch | 30 March 2022, 13:47:58 UTC | Restrict `size(::AbstractQ)` to concrete types (#44751) | 30 March 2022, 13:47:58 UTC |
bad450f | Valentin Churavy | 30 March 2022, 11:52:04 UTC | Change type of donotdelete intrinsics (#44793) | 30 March 2022, 11:52:04 UTC |
3e1ae47 | Shuhei Kadowaki | 30 March 2022, 11:46:45 UTC | optimizer: inline abstract union-split callsite (#44512) Currently the optimizer handles abstract callsite only when there is a single dispatch candidate (in most cases), and so inlining and static-dispatch are prohibited when the callsite is union-split (in other word, union-split happens only when all the dispatch candidates are concrete). However, there are certain patterns of code (most notably our Julia-level compiler code) that inherently need to deal with abstract callsite. The following example is taken from `Core.Compiler` utility: ```julia julia> @inline isType(@nospecialize t) = isa(t, DataType) && t.name === Type.body.name isType (generic function with 1 method) julia> code_typed((Any,)) do x # abstract, but no union-split, successful inlining isType(x) end |> only CodeInfo( 1 ─ %1 = (x isa Main.DataType)::Bool └── goto #3 if not %1 2 ─ %3 = π (x, DataType) │ %4 = Base.getfield(%3, :name)::Core.TypeName │ %5 = Base.getfield(Type{T}, :name)::Core.TypeName │ %6 = (%4 === %5)::Bool └── goto #4 3 ─ goto #4 4 ┄ %9 = φ (#2 => %6, #3 => false)::Bool └── return %9 ) => Bool julia> code_typed((Union{Type,Nothing},)) do x # abstract, union-split, unsuccessful inlining isType(x) end |> only CodeInfo( 1 ─ %1 = (isa)(x, Nothing)::Bool └── goto #3 if not %1 2 ─ goto #4 3 ─ %4 = Main.isType(x)::Bool └── goto #4 4 ┄ %6 = φ (#2 => false, #3 => %4)::Bool └── return %6 ) => Bool ``` (note that this is a limitation of the inlining algorithm, and so any user-provided hints like callsite inlining annotation doesn't help here) This commit enables inlining and static dispatch for abstract union-split callsite. The core idea here is that we can simulate our dispatch semantics by generating `isa` checks in order of the specialities of dispatch candidates: ```julia julia> code_typed((Union{Type,Nothing},)) do x # union-split, unsuccessful inlining isType(x) end |> only CodeInfo( 1 ─ %1 = (isa)(x, Nothing)::Bool └── goto #3 if not %1 2 ─ goto #9 3 ─ %4 = (isa)(x, Type)::Bool └── goto #8 if not %4 4 ─ %6 = π (x, Type) │ %7 = (%6 isa Main.DataType)::Bool └── goto #6 if not %7 5 ─ %9 = π (%6, DataType) │ %10 = Base.getfield(%9, :name)::Core.TypeName │ %11 = Base.getfield(Type{T}, :name)::Core.TypeName │ %12 = (%10 === %11)::Bool └── goto #7 6 ─ goto #7 7 ┄ %15 = φ (#5 => %12, #6 => false)::Bool └── goto #9 8 ─ Core.throw(ErrorException("fatal error in type inference (type bound)"))::Union{} └── unreachable 9 ┄ %19 = φ (#2 => false, #7 => %15)::Bool └── return %19 ) => Bool ``` Inlining/static-dispatch of abstract union-split callsite will improve the performance in such situations (and so this commit will improve the latency of our JIT compilation). Especially, this commit helps us avoid excessive specializations of `Core.Compiler` code by statically-resolving `@nospecialize`d callsites, and as the result, the # of precompiled statements is now reduced from `2005` ([`master`](f782430c5b)) to `1912` (this commit). And also, as a side effect, the implementation of our inlining algorithm gets much simplified now since we no longer need the previous special handlings for abstract callsites. One possible drawback would be increased code size. This change seems to certainly increase the size of sysimage, but I think these numbers are in an acceptable range: > [`master`](f782430c5b) ``` ❯ du -shk usr/lib/julia/* 17604 usr/lib/julia/corecompiler.ji 194072 usr/lib/julia/sys-o.a 169424 usr/lib/julia/sys.dylib 23784 usr/lib/julia/sys.dylib.dSYM 103772 usr/lib/julia/sys.ji ``` > this commit ``` ❯ du -shk usr/lib/julia/* 17512 usr/lib/julia/corecompiler.ji 195588 usr/lib/julia/sys-o.a 170908 usr/lib/julia/sys.dylib 23776 usr/lib/julia/sys.dylib.dSYM 105360 usr/lib/julia/sys.ji ``` | 30 March 2022, 11:46:45 UTC |
f782430 | Shuhei Kadowaki | 30 March 2022, 11:12:11 UTC | effects: change the `overlayed::Bool` property to `nonoverlayed::Bool` (#44786) The current naming of `overlayed` is a bit confusing since `overlayed === true`, which is the conservative default value, actually means "it _may_ be overlayed" while `overlayed === false` means "this is absolutely not overlayed". I think it should be named as `nonoverlayed`, and then a query name like `is_nonoverlayed` would be more sensible than the alternative `is_overlayed`, which actually should be something like `can_be_overlayed`. | 30 March 2022, 11:12:11 UTC |
18a2031 | Shuhei Kadowaki | 30 March 2022, 10:43:28 UTC | improve return-type reflections of opaque closure (#44743) | 30 March 2022, 10:43:28 UTC |
54be1ce | Keno Fischer | 30 March 2022, 05:48:54 UTC | Fix static show for Base.Colon (#44726) As noted in 44635, we current static show `Base.Colon()` as `Base.Any`, which is very confusing. Try to improve the situation by only using the special function printing if the binding actually matches the value we're trying to print. | 30 March 2022, 05:48:54 UTC |
7c2edc5 | pchintalapudi | 30 March 2022, 04:05:36 UTC | Remove some frivolous (p)*jl types (#44469) | 30 March 2022, 04:05:36 UTC |
1b3435b | Keno Fischer | 30 March 2022, 03:03:05 UTC | Make multiversioning bugpoint robust Bugpoint can introduce IR forms that would cause multiversioning to fail and that julia should never emit. However, if we actually crash on those, then bugpoint will get confused. To work around this, add a "bugpoint" mode to multiversioning where it accepts somewhat corrupted IR and tries to do something reasonable. This mode is not enabled from julia internally, but is enabled when run through the external pass interface. Of course the result of a bugpoint reduction won't be a loadable system image as a result, but bugpoint already is basically guaranteed to generate a non-loadable image, so that isn't an issue (since bugpoint is for debugging the compiler itself). | 30 March 2022, 03:07:00 UTC |
926f18f | Keno Fischer | 29 March 2022, 22:02:39 UTC | Register dump_native=true versions of passes for opt The pass pipeline for dump_native=true (which is used when building the sysimage) is slightly different than the JIT pipeline, which can affect behavior. Expose versions of the julia passes with dump_native=true set, to make it easy to reproduce LLVM issues using `opt`. | 30 March 2022, 03:06:49 UTC |
f562ad0 | Tim Besard | 30 March 2022, 03:06:31 UTC | Initialize jl_page_size when not calling julia_init. (#44699) If we load libjulia-codegen directly, e.g. from opt or llc, we don't call julia_init but init_llvm. Co-authored-by: Keno Fischer <keno@juliacomputing.com> | 30 March 2022, 03:06:31 UTC |
8e12f70 | Shuhei Kadowaki | 30 March 2022, 00:38:23 UTC | fix potential error within `multiq_sift_down` (#44788) This commit fixes the following error possibility: ``` julia> using JET julia> @report_call println(nothing) ═════ 1 possible error found ═════ ┌ @ coreio.jl:4 Base.println(Core.tuple(Base.stdout), xs...) │┌ @ strings/io.jl:75 Base.print(Core.tuple(io), xs, Core.tuple("\n")...) ││┌ @ strings/io.jl:43 Base.lock(io) │││┌ @ show.jl:334 Base.lock(Base.getproperty(io, :io)) ││││┌ @ stream.jl:283 Base.lock(Base.getproperty(s, :lock)) │││││┌ @ lock.jl:103 slowlock(rl) ││││││┌ @ lock.jl:112 Base.wait(c) │││││││┌ @ condition.jl:124 = Base.wait() ││││││││┌ @ task.jl:940 Base.poptask(W) │││││││││┌ @ task.jl:929 task = Base.trypoptask(W) ││││││││││┌ @ task.jl:923 Base.Partr.multiq_deletemin() │││││││││││┌ @ partr.jl:162 Base.Partr.multiq_sift_down(heap, Base.Partr.Int32(1)) ││││││││││││┌ @ partr.jl:55 Base.Partr.multiq_sift_down(heap, child) │││││││││││││ no matching method found for call signature (Tuple{typeof(Base.Partr.multiq_sift_down), Base.Partr.taskheap, UInt32}): Base.Partr.multiq_sift_down(heap::Base.Partr.taskheap, child::UInt32) ││││││││││││└─────────────── ``` | 30 March 2022, 00:38:23 UTC |
4115686 | Shuhei Kadowaki | 30 March 2022, 00:27:41 UTC | fix `tuple_tfunc` on `Union` containing `Type{...}` (#44725) fix #44705 | 30 March 2022, 00:27:41 UTC |
4b58679 | Max Horn | 30 March 2022, 00:16:31 UTC | Fewer warnings in 'make clean' in clean directory (#44450) * Fewer warnings in 'make clean' in clean directory * Don't ignore exit code for 'rm -rf' | 30 March 2022, 00:16:31 UTC |