Index: Source/wtf/HashTable.h |
diff --git a/Source/wtf/HashTable.h b/Source/wtf/HashTable.h |
index 3e50fc968bb9c7781880ac76763a1eb3f4b716b9..8fd6415530aa8fd1cfd0fc5b759a4e4c8590c957 100644 |
--- a/Source/wtf/HashTable.h |
+++ b/Source/wtf/HashTable.h |
@@ -1009,10 +1009,11 @@ namespace WTF { |
// store. With the default allocator it's enough to call the |
// destructor, since we will free the memory explicitly and |
// we won't see the memory with the bucket again. |
- if (!isEmptyOrDeletedBucket(table[i])) { |
- if (Allocator::isGarbageCollected) |
+ if (Allocator::isGarbageCollected) { |
+ if (!isEmptyOrDeletedBucket(table[i])) |
deleteBucket(table[i]); |
- else |
+ } else { |
+ if (!isDeletedBucket(table[i])) |
table[i].~ValueType(); |
} |
} |