Index: src/store-buffer.cc |
diff --git a/src/store-buffer.cc b/src/store-buffer.cc |
index c0315f27a8ed2482a468532227ff5c17723e4580..87189f49aeec7b60a4c99b17c16e135ed794e3fb 100644 |
--- a/src/store-buffer.cc |
+++ b/src/store-buffer.cc |
@@ -688,9 +688,9 @@ void StoreBuffer::Compact() { |
int hash1 = |
((int_addr ^ (int_addr >> kHashMapLengthLog2)) & (kHashMapLength - 1)); |
if (hash_map_1_[hash1] == int_addr) continue; |
- int hash2 = |
- ((int_addr - (int_addr >> kHashMapLengthLog2)) & (kHashMapLength - 1)); |
+ uintptr_t hash2 = (int_addr - (int_addr >> kHashMapLengthLog2)); |
hash2 ^= hash2 >> (kHashMapLengthLog2 * 2); |
+ hash2 &= (kHashMapLength - 1); |
if (hash_map_2_[hash2] == int_addr) continue; |
if (hash_map_1_[hash1] == 0) { |
hash_map_1_[hash1] = int_addr; |