-
Notifications
You must be signed in to change notification settings - Fork 11.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[move-trace] Finessed support for tracing macros (#20298)
## Description This PR finesses support for tracing macros, but due to how macros are (or rather are not) represented in the bytecode and source maps, this support has some limitations. In particular: 1. Currently we don't keep track of variable values inside macros 2. Macros and lambdas are not real function calls so when tracing execution of the macro, control flow may move somewhat unpredictably between the caller and callee 3. We track macro invocations using virtual frames but these are not necessarily pushed/popped symmetrically due to lack of precise information on when macro code starts and ends. As a result we keep limited number of virtual frames on the stack (max 2) - more detailed explanation can be found in code comments ## Test plan All new and old tests must pass
- Loading branch information
Showing
184 changed files
with
3,617 additions
and
179 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
Oops, something went wrong.