Fixing related corner case in arenaAllocFindInFreeCBS when it thought it couldn’t find a block when it was in fact running out of nodes. This was revealed by “gcbench --npass 1 --arena-size 1M --seed 945632066 --niter 1 amc”.
Fixing draft ArenaFreeCBSDelete after exercising it.
Copied from Perforce
Change: 184568
ServerID: perforce.ravenbrook.com
This doesn't work because the splay tree can't cope with homing in on a node (that appears big enough) then being told that it isn't suitable (because it doesn't have space in the right zone). The splay tree summary condition must be precise, as stated in the design. The splay tree isn't suited to this kind of search.
Copied from Perforce
Change: 184073
ServerID: perforce.ravenbrook.com
Moved CBSStruct to mpmst.h so that it can be included inline in ArenaStruct without circularity problems.
Copied from Perforce
Change: 184044
ServerID: perforce.ravenbrook.com
CBSFindLargest() takes a size argument, so that the caller doesn't have to re-insert the found block if it wasn't large enough.
Copied from Perforce
Change: 182431
ServerID: perforce.ravenbrook.com
The functions CBSInsert, CBSDelete and CBSFind* now additionally return an "old" address range which gives the former base and limit of the block that has just been updated. This gives clients enough information to update their caches if need be.
Update CBS test and design accordingly.
Copied from Perforce
Change: 182014
ServerID: perforce.ravenbrook.com
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.
Copied from Perforce
Change: 24911
ServerID: perforce.ravenbrook.com
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.
Copied from Perforce
Change: 24877
ServerID: perforce.ravenbrook.com