| 940 | return false; |
| 941 | } |
| 942 | if (table_->hashMode() != BaseHashTable::HashMode::kArray) { |
| 943 | // Not a kArray table, no rehashing will shrink this. |
| 944 | return true; |
| 945 | } |
| 946 | auto stats = table_->stats(); |
| 947 | // If we have a large array with sparse data, we rehash this in a |
| 948 | // mode that turns off value ranges for kArray mode. Large means |
| 949 | // over 1/16 of the space budget and sparse means under 1 entry |
| 950 | // per 32 buckets. |
| 951 | if (stats.capacity * sizeof(void*) > maxBytes / 16 && |
no test coverage detected