-
Notifications
You must be signed in to change notification settings - Fork 465
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor peek timestamps. The previous problems were: - Optimize stats determined their own timestamp early on, and was possibly not the final timestamp. This doesn't matter hugely, but also duplicated a bit of work. - We were not able to fill in the final timestamp until very late in LIR optimization, missing potential optimization opportunities and doing the scalar walk twice. - It was generally confusing when timestamps were acquired because we also have realtime and linear timestamps. Fix these by adding a new stage, and moving and renaming other stages. The new stage does the final timestamp determination and acquires read holds. Now all three timestamp stages happen first (linearization, realtime recency, final determination and read holds), then both optimizer stages, then final execution. We did not do this before because we always delayed getting read holds until some end step with no off-thread work after it. Now that we always acquire read holds immediately upon getting a timestamp, this is no longer a worry. In a future PR we could now maybe merge the optimization stages, and remove the double scalar expr prep.
- Loading branch information
Showing
4 changed files
with
141 additions
and
153 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
Oops, something went wrong.