-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
generate method dispatchers prior to code-gen (#734)
## Summary Move the method dispatcher generation out of the code generators (`cgen` and `jsgen`) and into the orchestrators. This is another step towards unifying the backend processing. Methods are now also subject to dead-code elimination, meaning that if none of the methods attached to an object hierarchy are called, no code will be generated for them. ## Details The dispatchers do not appear in calls prior to `transf`, so the DCE implementation used by IC backend cannot analyze them. For this reason, `cgen` continues to special-case methods. In addition, remove the unused `objHasKidsValid` enum value. ### Future Direction Given that all backends need to generate method dispatchers, this step (lowering methods into procedures) should happen through some common facility in the future.
- Loading branch information
Showing
7 changed files
with
27 additions
and
29 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
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
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
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