diff options
| author | bors <bors@rust-lang.org> | 2024-08-22 12:52:35 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-08-22 12:52:35 +0000 |
| commit | 8b10bda1e497df32cffaec1cdbc1e818eb70ba3b (patch) | |
| tree | f29c8e8dc3c8839bc2248e6cd399e4832e8a1fba /compiler/rustc_parse_format/src | |
| parent | 695a4f918a18a73f5f2f100a9448318891f6f648 (diff) | |
| parent | b5d77d849e01bd48fb7d7da6d6f4a613af00e750 (diff) | |
| download | rust-8b10bda1e497df32cffaec1cdbc1e818eb70ba3b.tar.gz rust-8b10bda1e497df32cffaec1cdbc1e818eb70ba3b.zip | |
Auto merge of #3833 - JoJoDeveloping:tb-fix-stack-overflow, r=RalfJung
Make Tree Borrows Provenance GC no longer produce stack overflows Most functions operating on Tree Borrows' trees are carefully written to not cause stack overflows due to too much recursion. The one exception is [`Tree::keep_only_needed`](https://github.com/rust-lang/miri/blob/94f5588fafcc7d59fce60ca8f7af0208e6f618d4/src/borrow_tracker/tree_borrows/tree.rs#L724), which just uses regular recursion. This function is part of the provenance GC, so it is called regularly for every allocation in the program. Tests show that this is a problem in practice. For example, the test `fill::horizontal_line` in crate `tiny-skia` (version 0.11.4) is such a test. This PR changes this, this test no now longer crashes. Instead, it succeeds (after a _long_ time).
Diffstat (limited to 'compiler/rustc_parse_format/src')
0 files changed, 0 insertions, 0 deletions
