Inline hash_table::calculate_offsets, used by iterators.

The `HashMap` and `HashSet` iterators use `RawTable::first_bucket_raw` which is generic and will get inlined cross-crate.
However, `first_bucket_raw` calls `calculate_offsets` and the call doesn't get inlined, despite being a simple function.
This missing `#[inline]` results in `hash_table::calculate_offsets` showing up at the top of a callgrind profile with 3 million calls (for the testcase in #25916).
This commit is contained in:
Eduard Burtescu 2015-05-31 11:03:46 +03:00
parent 78c4d53871
commit 4a4315bf4b

View file

@ -528,6 +528,7 @@ fn test_rounding() {
// Returns a tuple of (key_offset, val_offset),
// from the start of a mallocated array.
#[inline]
fn calculate_offsets(hashes_size: usize,
keys_size: usize, keys_align: usize,
vals_align: usize)