From d15217b953af28669dd3e5b46303b3ca882f353e Mon Sep 17 00:00:00 2001 From: Marco Costalba Date: Sat, 2 Jul 2011 11:01:12 +0100 Subject: [PATCH] Rearrange structs to avoid internal padding Found with gcc -Wpadded gcc option. No functional change. Signed-off-by: Marco Costalba --- src/book.h | 2 +- src/position.h | 8 ++++---- src/search.h | 9 ++++----- src/thread.h | 8 ++++---- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/book.h b/src/book.h index 38804f9a..07c00b45 100644 --- a/src/book.h +++ b/src/book.h @@ -53,10 +53,10 @@ private: BookEntry read_entry(int idx); int first_entry(uint64_t key); + RKISS RKiss; std::ifstream bookFile; std::string bookName; int bookSize; - RKISS RKiss; }; #endif // !defined(BOOK_H_INCLUDED) diff --git a/src/position.h b/src/position.h index 0cc6a0ca..d02514fe 100644 --- a/src/position.h +++ b/src/position.h @@ -58,9 +58,9 @@ struct StateInfo { Score value; Value npMaterial[2]; - PieceType capturedType; Key key; Bitboard checkersBB; + PieceType capturedType; StateInfo* previous; }; @@ -256,16 +256,16 @@ private: int index[64]; // [square] // Other info - Color sideToMove; Key history[MaxGameLength]; int castleRightsMask[64]; // [square] Square castleRookSquare[16]; // [castleRight] StateInfo startState; - bool chess960; + int64_t nodes; + Color sideToMove; int fullMoves; int threadID; - int64_t nodes; StateInfo* st; + int chess960; // Static variables static Score pieceSquareTable[16][64]; // [piece][square] diff --git a/src/search.h b/src/search.h index 955056e1..1688534b 100644 --- a/src/search.h +++ b/src/search.h @@ -34,6 +34,7 @@ struct SplitPoint; /// current ply. struct SearchStack { + SplitPoint* sp; int ply; Move currentMove; Move excludedMove; @@ -42,8 +43,7 @@ struct SearchStack { Depth reduction; Value eval; Value evalMargin; - bool skipNullMove; - SplitPoint* sp; + int skipNullMove; }; @@ -59,10 +59,9 @@ struct SearchLimits { : time(t), increment(i), movesToGo(mtg), maxTime(mt), maxDepth(md), maxNodes(mn), infinite(inf), ponder(pon) {} - bool useTimeManagement() const { return !(maxTime | maxDepth | maxNodes | int(infinite)); } + bool useTimeManagement() const { return !(maxTime | maxDepth | maxNodes | infinite); } - int time, increment, movesToGo, maxTime, maxDepth, maxNodes; - bool infinite, ponder; + int time, increment, movesToGo, maxTime, maxDepth, maxNodes, infinite, ponder; }; extern void init_search(); diff --git a/src/thread.h b/src/thread.h index 13121ca1..10062031 100644 --- a/src/thread.h +++ b/src/thread.h @@ -37,8 +37,8 @@ struct SplitPoint { SplitPoint* parent; const Position* pos; Depth depth; - bool pvNode; Value beta; + int pvNode; int ply; int master; Move threatMove; @@ -79,6 +79,7 @@ struct Thread { bool cutoff_occurred() const; bool is_available_to(int master) const; + SplitPoint splitPoints[MAX_ACTIVE_SPLIT_POINTS]; MaterialInfoTable materialTable; PawnInfoTable pawnTable; int maxPly; @@ -87,7 +88,6 @@ struct Thread { volatile ThreadState state; SplitPoint* volatile splitPoint; volatile int activeSplitPoints; - SplitPoint splitPoints[MAX_ACTIVE_SPLIT_POINTS]; }; @@ -118,13 +118,13 @@ public: void split(Position& pos, SearchStack* ss, Value* alpha, const Value beta, Value* bestValue, Depth depth, Move threatMove, int moveCount, MovePicker* mp, bool pvNode); private: + Thread threads[MAX_THREADS]; Lock mpLock; Depth minimumSplitDepth; int maxThreadsPerSplitPoint; - bool useSleepingThreads; int activeThreads; + bool useSleepingThreads; volatile bool allThreadsShouldExit; - Thread threads[MAX_THREADS]; }; extern ThreadsManager Threads; -- 2.39.2