-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add a fallback implementation for
(pass::$PassName)(fargs...)
(#46)
When dynamic dispatch occurs for the generated function and the dispatch signature is `!isdispatchtuple` (e.g. since it includes a `Type`-object argument with a free type variable), it will result in unintended code generation, leading to issues like #39 and #45. In this commit, the generated function is now not marked as `:generated_only`, and it will simply fallback to original implementations. This fix introduces a regression where overlays will not occur for the entire call graph of such `!isdispatchtuple` dynamic dispatches. But since it would require a redesign of the runtime system to completely resolve this issue, this regression seems to be acceptable for now.
- Loading branch information
Showing
2 changed files
with
33 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters