https://github.com/JuliaLang/julia
Revision 715c50d82af8d2856281e99bbed68014c3ddefd9 authored by Jameson Nash on 29 February 2024, 14:32:17 UTC, committed by GitHub on 29 February 2024, 14:32:17 UTC
This function might previously refuse to make gc roots for any of the
function's arguments (i.e. it potentially assumed everything was in an
alloca), which was only valid if we could guarantee that no IPO passes
run. This commit aims to make that safe, but deferring such decisions
about their source until llvm-late-gc-lowering can make them valid.

This should make inlining-safe gc annotations for

code_llvm(raw=true, optimize=false, (Some{Int},)) do x; GC.@preserve x
GC.safepoint(); end

and also better annotations even without inlining for

code_llvm(raw=true, optimize=false, (Some{Any},)) do x; GC.@preserve x
GC.safepoint(); end
1 parent 24aaf00
History
Tip revision: 715c50d82af8d2856281e99bbed68014c3ddefd9 authored by Jameson Nash on 29 February 2024, 14:32:17 UTC
codegen: make gcroots for argument-derived values (#53501)
Tip revision: 715c50d
File Mode Size
.devcontainer
.github
base
cli
contrib
deps
doc
etc
src
stdlib
test
.buildkite-external-version -rw-r--r-- 5 bytes
.clang-format -rw-r--r-- 3.3 KB
.clangd -rw-r--r-- 114 bytes
.codecov.yml -rw-r--r-- 52 bytes
.git-blame-ignore-revs -rw-r--r-- 371 bytes
.gitattributes -rw-r--r-- 65 bytes
.gitignore -rw-r--r-- 571 bytes
.mailmap -rw-r--r-- 12.7 KB
CITATION.bib -rw-r--r-- 513 bytes
CITATION.cff -rw-r--r-- 940 bytes
CONTRIBUTING.md -rw-r--r-- 23.4 KB
HISTORY.md -rw-r--r-- 388.3 KB
LICENSE.md -rw-r--r-- 1.3 KB
Make.inc -rw-r--r-- 56.1 KB
Makefile -rw-r--r-- 30.2 KB
NEWS.md -rw-r--r-- 1.8 KB
README.md -rw-r--r-- 7.4 KB
THIRDPARTY.md -rw-r--r-- 3.9 KB
VERSION -rw-r--r-- 11 bytes
julia.spdx.json -rw-r--r-- 37.8 KB
pkgimage.mk -rw-r--r-- 7.1 KB
sysimage.mk -rw-r--r-- 4.2 KB
typos.toml -rw-r--r-- 78 bytes

README.md

back to top