https://github.com/JuliaLang/julia
Revision a2b1f94ce2fae805920bcc4aa07d801d38cb89e0 authored by Shuhei Kadowaki on 04 March 2024, 01:08:35 UTC, committed by Jameson Nash on 04 March 2024, 16:50:48 UTC
As discussed at <https://github.com/JuliaLang/julia/commit/b8a0a3978ccf163ce8fc371a4882547dc1271d53#commitcomment-139076159>,
currently external abstract interpreter that configures `may_optimize`
to return `false` may end up with the internal error from irinterp since
it fundamentally required optimized IR but it currently assumes that all
sources from cached `CodeInstance`s are optimized.

This commit addresses the issue by incorporating a `may_optimize` check
in `concrete_eval_eligible`, which in turn automatically disables
irinterp for such interpreters. Although there were earlier discussions
suggesting the revival of `codeinfo.inferred::Bool`, this commit does
not need it, and I think this approach maintains the current state more
cleanly.
1 parent c0a93f8
Raw File
Tip revision: a2b1f94ce2fae805920bcc4aa07d801d38cb89e0 authored by Shuhei Kadowaki on 04 March 2024, 01:08:35 UTC
disable irinterp for interpreters with `may_optimize(...)=false`
Tip revision: a2b1f94
CITATION.bib
% This article is the definitive citation for Julia.
@article{Julia-2017,
    title={Julia: A fresh approach to numerical computing},
    author={Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B},
    journal={SIAM {R}eview},
    volume={59},
    number={1},
    pages={65--98},
    year={2017},
    publisher={SIAM},
    doi={10.1137/141000671},
    url={https://epubs.siam.org/doi/10.1137/141000671}
}

% For more details on research related to Julia, see https://julialang.org/research
back to top