-
-
Notifications
You must be signed in to change notification settings - Fork 121
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clean up generator frame computations
Summary: First, there were two mysterious +1s in `translateInitialYield()`: The first was was never necessary: the value comes from `LinearScanAllocator::getSpillSize()`, which is already exactly the number of bytes of spill space needed. The second one was making up for an off-by-one error a few lines earlier: `rsi` was being initialized to `rbp - frame_size`, which points at the bottom word of the `FrameHeader`, not the top word of the spill space like we wanted. I then realized that we shouldn't even be allocating space for the `FrameHeader` in generators, so I removed that from a bunch of relevant computations. I also fixed a few out-of-date comments and renamed a few functions/variables to clarify their meanings along the way. Reviewed By: mpage Differential Revision: D49653467 fbshipit-source-id: 19236352b3041b5012ae1e819442ac93a1239d1d
- Loading branch information
1 parent
4fcd583
commit 2872a2f
Showing
8 changed files
with
38 additions
and
30 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
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