about summary refs log tree commit diff
path: root/src/test/debuginfo/enum-thinlto.rs
diff options
context:
space:
mode:
authorNicholas Nethercote <nnethercote@mozilla.com>2018-07-18 15:03:43 +1000
committerNicholas Nethercote <nnethercote@mozilla.com>2018-07-20 15:15:06 +1000
commit798209e78b90b83a3742f713b70473b6ab799aca (patch)
tree5eb9ba867cbd0c8721321f0ac3a2d45c86085ff4 /src/test/debuginfo/enum-thinlto.rs
parent4f3c7a472b77ba3f3afbc12d004b9d1bbcee7fe7 (diff)
downloadrust-798209e78b90b83a3742f713b70473b6ab799aca.tar.gz
rust-798209e78b90b83a3742f713b70473b6ab799aca.zip
Speed up `SparseBitMatrix`.
Using a `BTreeMap` to represent rows in the bit matrix is really slow.
This patch changes things so that each row is represented by a
`BitVector`. This is a less sparse representation, but a much faster
one.

As a result, `SparseBitSet` and `SparseChunk` can be removed.

Other minor changes in this patch.

- It renames `BitVector::insert()` as `merge()`, which matches the
  terminology in the other classes in bitvec.rs.

- It removes `SparseBitMatrix::is_subset()`, which is unused.

- It reinstates `RegionValueElements::num_elements()`, which #52190 had
  removed.

- It removes a low-value `debug!` call in `SparseBitMatrix::add()`.
Diffstat (limited to 'src/test/debuginfo/enum-thinlto.rs')
0 files changed, 0 insertions, 0 deletions