-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Thoroughly nospecialize all functions; add no-alloc, no-specialize test.
Make sure that _all_ functions in ExceptionUnwrapping are marked nospecialize. We don't want to pay the wasted compilation time at runtime, since these are all going to be called in _exceptional_ cases, certainly not in a hot loop, and because we've seen crashes caused by a stackoverflow in type inference while attempting to specialize the code to handle a StackOverflowException! 😅 This time, we add a unit test to ensure that that these functions do not allocate and do not incur new compilation when called with novel arguments.
- Loading branch information
Showing
3 changed files
with
64 additions
and
21 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