diff --git a/src/search.cpp b/src/search.cpp index 0fecbce65..fcbac3078 100644 --- a/src/search.cpp +++ b/src/search.cpp @@ -556,6 +556,7 @@ void Search::Worker::do_move(Position& pos, const Move move, StateInfo& st) { void Search::Worker::do_move(Position& pos, const Move move, StateInfo& st, const bool givesCheck) { DirtyPiece dp = pos.do_move(move, st, givesCheck, &tt); + nodes.fetch_add(1, std::memory_order_relaxed); accumulatorStack.push(dp); } @@ -940,7 +941,6 @@ Value Search::Worker::search( movedPiece = pos.moved_piece(move); do_move(pos, move, st); - thisThread->nodes.fetch_add(1, std::memory_order_relaxed); ss->currentMove = move; ss->isTTMove = (move == ttData.move); @@ -1193,7 +1193,6 @@ moves_loop: // When in check, search starts here // Step 16. Make the move do_move(pos, move, st, givesCheck); - thisThread->nodes.fetch_add(1, std::memory_order_relaxed); // Add extension to new depth newDepth += extension; @@ -1711,7 +1710,6 @@ Value Search::Worker::qsearch(Position& pos, Stack* ss, Value alpha, Value beta) Piece movedPiece = pos.moved_piece(move); do_move(pos, move, st, givesCheck); - thisThread->nodes.fetch_add(1, std::memory_order_relaxed); // Update the current move ss->currentMove = move;