From: Fabian Fichter Date: Tue, 9 Mar 2021 20:33:44 +0000 (+0100) Subject: Merge official-stockfish/master X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=183763cbeb2d80d423e4c8db1dd6d5bf35011d2b;p=fairystockfish.git Merge official-stockfish/master No functional change. --- 183763cbeb2d80d423e4c8db1dd6d5bf35011d2b diff --cc src/tt.h index 7004c68,a750b6c..cc01c34 --- a/src/tt.h +++ b/src/tt.h @@@ -67,14 -67,20 +67,20 @@@ class TranspositionTable struct Cluster { TTEntry entry[ClusterSize]; - char padding[2]; // Pad to 32 bytes + char padding[4]; // Pad to 64 bytes }; - static_assert(sizeof(Cluster) == 32, "Unexpected Cluster size"); + static_assert(sizeof(Cluster) == 64, "Unexpected Cluster size"); + // Constants used to refresh the hash table periodically + static constexpr unsigned GENERATION_BITS = 3; // nb of bits reserved for other things + static constexpr int GENERATION_DELTA = (1 << GENERATION_BITS); // increment for generation field + static constexpr int GENERATION_CYCLE = 255 + (1 << GENERATION_BITS); // cycle length + static constexpr int GENERATION_MASK = (0xFF << GENERATION_BITS) & 0xFF; // mask to pull out generation number + public: ~TranspositionTable() { aligned_large_pages_free(table); } - void new_search() { generation8 += 8; } // Lower 3 bits are used by PV flag and Bound + void new_search() { generation8 += GENERATION_DELTA; } // Lower bits are used for other things TTEntry* probe(const Key key, bool& found) const; int hashfull() const; void resize(size_t mbSize);