mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-20 00:56:39 +08:00
Revert "Use a per-thread array"
This reverts commit800410eef1and instead increases stack size. I went through the old emails with Daylen that reported the crash issue on Mac OS X and was fixed by0049d3f337. It was reported default stack size for a thread in Mac OS X is 8 megabytes while the patch that we are reverting allows to reduce stack size at max of about 217KB, so the reason for the crash was only marginal in MAX_MOVES value. On those emails Daylen also hinted how to increase stack size for Mac OS X to 16MB. So prefer to increase stack size to 16MB instad of re-inventing the wheel and do our home grown stack as we did with the patch that we are now reverting (it will remain anyhow in git history for documentation purposes). No functional change.
This commit is contained in:
@@ -75,7 +75,7 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats&
|
||||
|
||||
assert(d > DEPTH_ZERO);
|
||||
|
||||
cur = end = moves = pos.this_thread()->get_moves_array();
|
||||
cur = end = moves;
|
||||
endBadCaptures = moves + MAX_MOVES - 1;
|
||||
countermoves = cm;
|
||||
ss = s;
|
||||
@@ -91,11 +91,10 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats&
|
||||
}
|
||||
|
||||
MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats& h,
|
||||
Square sq) : pos(p), history(h) {
|
||||
Square sq) : pos(p), history(h), cur(moves), end(moves) {
|
||||
|
||||
assert(d <= DEPTH_ZERO);
|
||||
|
||||
cur = end = moves = pos.this_thread()->get_moves_array();
|
||||
if (p.checkers())
|
||||
stage = EVASION;
|
||||
|
||||
@@ -124,11 +123,10 @@ MovePicker::MovePicker(const Position& p, Move ttm, Depth d, const HistoryStats&
|
||||
}
|
||||
|
||||
MovePicker::MovePicker(const Position& p, Move ttm, const HistoryStats& h, PieceType pt)
|
||||
: pos(p), history(h) {
|
||||
: pos(p), history(h), cur(moves), end(moves) {
|
||||
|
||||
assert(!pos.checkers());
|
||||
|
||||
cur = end = moves = pos.this_thread()->get_moves_array();
|
||||
stage = PROBCUT;
|
||||
|
||||
// In ProbCut we generate only captures better than parent's captured piece
|
||||
@@ -141,7 +139,6 @@ MovePicker::MovePicker(const Position& p, Move ttm, const HistoryStats& h, Piece
|
||||
end += (ttMove != MOVE_NONE);
|
||||
}
|
||||
|
||||
MovePicker::~MovePicker() { pos.this_thread()->free_moves_array(); }
|
||||
|
||||
/// score() assign a numerical move ordering score to each move in a move list.
|
||||
/// The moves with highest scores will be picked first.
|
||||
|
||||
Reference in New Issue
Block a user