Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Perform lambda patch in its own parallel walk
Summary: ## Context The 1st parallel [walk](https://www.internalfb.com/code/fbsource/[a5da2b900a795b6004c92bc57575d3d697445fda]/fbandroid/native/redex/opt/typedef-anno-checker/TypedefAnnoPatcher.cpp?lines=434) in the patcher tries to do too many things in one go. It could patch the same method/field in different threads via different code paths. the same field/method if patched via different code path can trigger separate logic after the patching event causing things to diverge. ## Proposal It is still not clear to me what is the exact piece of logic that introduced the nondeterminism. But it's obvious to me that breaking things up into steps should help. In this change, I move the more localized and straightforward patching logic into its own parallel walk. As a result, we move the lambda patching logic into its own walk minimizing the adverse interactions between the two steps. Reviewed By: wsanville Differential Revision: D70307382 fbshipit-source-id: d249e0da03eba64fb607b3fc400c4be9ecbb7ed0
- Loading branch information