<table><tr><td style="">fabiank created this revision.<br />Restricted Application added a reviewer: KDE Games.<br />Restricted Application added a subscriber: kde-games-devel.<br />fabiank requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13815">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Previously, it relied on allocating space behind an actual TREE and</li>
</ul>

<p>then later accessing it via pointer arirthmetic. Now we have an actual<br />
array as a member of the TREE. TREE is now also a template, templated<br />
over the size of the array (which coincides with the pilecount of each<br />
Solver)</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Alignment is now handled in the allocator, instead of ensuring that</li>
</ul>

<p>every MemoryManager allocation preserves the alignment</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">more typesafety in the allocation functions</li>
</ul></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">run Kpat manually, solver could still manage to solve games and determine solvability (at least to the extent it did before)</li>
<li class="remarkup-list-item">memory usage stayed roughly the same</li>
<li class="remarkup-list-item">Asan did not complain</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R410 KPatience</div></div></div><br /><div><strong>BRANCH</strong><div><div>cleanup_mm</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13815">https://phabricator.kde.org/D13815</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
patsolve/memory.cpp<br />
patsolve/memory.h<br />
patsolve/patsolve.cpp<br />
patsolve/patsolve.h</div></div></div><br /><div><strong>To: </strong>fabiank, KDE Games<br /><strong>Cc: </strong>kde-games-devel<br /></div>