diff options
| author | Simonas Kazlauskas <git@kazlauskas.me> | 2016-06-16 18:28:30 +0300 |
|---|---|---|
| committer | Simonas Kazlauskas <git@kazlauskas.me> | 2016-06-17 00:00:44 +0300 |
| commit | 04d63ccf5ac2448ced4ca0d964afbcfe47a58dfe (patch) | |
| tree | f5cf6d87236c1b21fc7aea45a231ca26221d0211 /src/rustllvm/RustWrapper.cpp | |
| parent | a479a6a7a6fa1bfe1f18d7d7411ad14e7b8ca17b (diff) | |
| download | rust-04d63ccf5ac2448ced4ca0d964afbcfe47a58dfe.tar.gz rust-04d63ccf5ac2448ced4ca0d964afbcfe47a58dfe.zip | |
Cache drops for early scope exits
Previously we would rebuild all drops on every early exit from a scope, which for code like:
```rust
match x {
a => return 1,
b => return 2,
...
z => return 27
}
```
would produce 27 exactly same chains of drops for each return, a O(n*m) explosion in drops.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
