BitSet
perf improvements
This commit makes two changes: 1. Changes `MaybeLiveLocals` to use `ChunkedBitSet` 2. Overrides the `fold` method for the iterator for `ChunkedBitSet`
This commit is contained in:
parent
02916c4c75
commit
bc7cd2f351
5 changed files with 141 additions and 23 deletions
|
@ -495,7 +495,8 @@ fn locals_live_across_suspend_points<'tcx>(
|
|||
let loc = Location { block, statement_index: data.statements.len() };
|
||||
|
||||
liveness.seek_to_block_end(block);
|
||||
let mut live_locals = liveness.get().clone();
|
||||
let mut live_locals: BitSet<_> = BitSet::new_empty(body.local_decls.len());
|
||||
live_locals.union(liveness.get());
|
||||
|
||||
if !movable {
|
||||
// The `liveness` variable contains the liveness of MIR locals ignoring borrows.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue