Revision a7121cf70ccc430013a12737f1388c5948873c39 authored by Keno Fischer on 12 February 2023, 20:28:54 UTC, committed by GitHub on 12 February 2023, 20:28:54 UTC
A `MethodInstance` whose static parameter values are unknown will have `TypeVar`s in the corresponding slot in their sparam_vals object and have their code instance's `->invoke` method set to `jl_fptr_sparam`. I think the original expectation here was that at some point the runtime would externally compute the set of static parameters and pass them in as an argument (just as it would for regular arguments). However, as far as I can tell, no place in the runtime actually does this and instead static paramters are always tied to a particular MethodInstance. This is enforced by making sure that compilable signatures never have unbound typevars (unless that is the true answer). However, when we added the `compilesig_invokes` optimizer option, this allowed bypassing `get_compileable_sig`, causing unexpected errors around type parameters. This commit simply institutes a check that fixes this particular case, though I don't think the idea of wanting to :invoke MethodInstances with unknown sparams is all that unreasonable (especially since we can now inline such cases) and in the future we may want to revisit the runtime support for actually passing through sparams.
1 parent 94ad628
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-- | 294 bytes |
.gitattributes | -rw-r--r-- | 65 bytes |
.gitignore | -rw-r--r-- | 514 bytes |
.mailmap | -rw-r--r-- | 12.1 KB |
CITATION.bib | -rw-r--r-- | 513 bytes |
CITATION.cff | -rw-r--r-- | 940 bytes |
CONTRIBUTING.md | -rw-r--r-- | 23.1 KB |
HISTORY.md | -rw-r--r-- | 363.4 KB |
LICENSE.md | -rw-r--r-- | 1.3 KB |
Make.inc | -rw-r--r-- | 53.0 KB |
Makefile | -rw-r--r-- | 30.2 KB |
NEWS.md | -rw-r--r-- | 1.8 KB |
README.md | -rw-r--r-- | 7.3 KB |
THIRDPARTY.md | -rw-r--r-- | 3.7 KB |
VERSION | -rw-r--r-- | 11 bytes |
julia.spdx.json | -rw-r--r-- | 35.8 KB |
sysimage.mk | -rw-r--r-- | 4.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...