Rearrange structs to avoid internal padding
authorMarco Costalba <mcostalba@gmail.com>
Sat, 2 Jul 2011 10:01:12 +0000 (11:01 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 2 Jul 2011 10:01:12 +0000 (11:01 +0100)
Found with gcc -Wpadded gcc option.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
src/book.h
src/position.h
src/search.h
src/thread.h

index 38804f9acf572b3518d105955d96539f04726c6e..07c00b4585ebea54e2337a8f8a4c22abe0b36416 100644 (file)
@@ -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)
index 0cc6a0ca7a91fdbc4658bbade5eb763233f13007..d02514feb860b6723c60fc900ddc9208ca568f7f 100644 (file)
@@ -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]
index 955056e1e9d9686d4d6aeccf2cda12fb5436f656..1688534b59b0782ac0de81f59a63f49853e0a194 100644 (file)
@@ -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();
index 13121ca1175756ee4965f4af25e29dc339f7396b..100620313fcebc7e7f5f6161fe15b600b0a9929e 100644 (file)
@@ -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;