forked from bazelbuild/bazel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add runfiles.merge_all() for merging a sequence of runfiles objects.
We've seen some pathological cases where runfiles.merge() run in a loop results in an extraordinarily deep and inefficient NestedSet representing the runfiles's artifacts - and attempting to walk such a NestedSet could lead to a stack overflow. Merging a list of runfiles at once produces a NestedSet which is much shallower (by two orders of magnitude in some cases). In a followup to this change, we intend to introduce checks to make sure NestedSet depth does not become excessive. RELNOTES: Add runfiles.merge_all() for merging a sequence of runfiles objects. PiperOrigin-RevId: 364399853
- Loading branch information
1 parent
56026b8
commit 29e9369
Showing
4 changed files
with
197 additions
and
1 deletion.
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