1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 23:31:55 -08:00
Commit graph

14 commits

Author SHA1 Message Date
Gareth Rees
86a50c3d1c Fix file-at-a-time compilation.
Copied from Perforce
 Change: 185210
 ServerID: perforce.ravenbrook.com
2014-04-03 15:01:53 +01:00
Gareth Rees
0b159dc650 New module failover implements a fail-over allocator as a land class.
Use Failover in MVT and MVFF.
Test Failover in landtest.
Implementation of LandFindInZones for Freelist (untested).
Remove signature from RangeStruct so we can embed it without a space cost.

Copied from Perforce
 Change: 185196
 ServerID: perforce.ravenbrook.com
2014-04-03 12:52:23 +01:00
Gareth Rees
b409ae89f6 Turn freelist into a land class.
Copied from Perforce
 Change: 185155
 ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Gareth Rees
d2cbfda452 First pass at implementation of lands (collections of address ranges). 100% boilerplate!
Copied from Perforce
 Change: 185131
 ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Gareth Rees
36bcd67544 Oops, forgot fl argument to freelistblocklimit.
Copied from Perforce
 Change: 182586
 ServerID: perforce.ravenbrook.com
2013-06-06 15:58:02 +01:00
Gareth Rees
997477468b Extra-careful check after setting the limit.
Copied from Perforce
 Change: 182585
 ServerID: perforce.ravenbrook.com
2013-06-06 15:51:41 +01:00
Gareth Rees
5db8a1802d Represent a block on the free list as a freelistblock rather than an addr (for better type safety). add many checks.
Copied from Perforce
 Change: 182584
 ServerID: perforce.ravenbrook.com
2013-06-06 15:47:37 +01:00
Gareth Rees
7288e21131 Avoid "variable may be used uninitialized" warnings.
Copied from Perforce
 Change: 182513
 ServerID: perforce.ravenbrook.com
2013-06-04 18:46:07 +01:00
Gareth Rees
f0def15a48 Freelistfindlargest() takes a size argument so that the interface matches cbsfindlargest().
New function FreelistFlushToCBS() tries to move all blocks out of a free list and into a CBS.

Copied from Perforce
 Change: 182432
 ServerID: perforce.ravenbrook.com
2013-06-03 16:17:28 +01:00
Gareth Rees
0260380dd3 Rename cbstest.c to fbmtest.c (free block management test) and generalize it so that it tests both the cbs and freelist modules.
Split FreelistFind into FreelistFindFirst and FreelistFindLast so that the interface exactly matches the CBS interface.
Fix errors in freelist.c: missing computation of size in FreelistBlockSetLimit; update linked list correct in coalesceRight case in FreelistInsert.
Avoid compiler warnings in freelist.c.
In cbs.c: use $U for Booleans ($B is for bit tables).

Copied from Perforce
 Change: 182397
 ServerID: perforce.ravenbrook.com
2013-06-02 21:34:23 +01:00
Gareth Rees
83aff660e2 Use a tag in the bottom bit to distinguish grains and blocks in the free list. this results in much simplification of the code.
Copied from Perforce
 Change: 182362
 ServerID: perforce.ravenbrook.com
2013-05-31 13:41:36 +01:00
Gareth Rees
915a41123c Fix iteration in freelistfindlargest.
Copied from Perforce
 Change: 182359
 ServerID: perforce.ravenbrook.com
2013-05-31 10:44:02 +01:00
Gareth Rees
04f2738a18 Improve documentation. fix off-by-one errors in the setprevnext functions.
Copied from Perforce
 Change: 182350
 ServerID: perforce.ravenbrook.com
2013-05-31 00:41:28 +01:00
Gareth Rees
032657464b New "freelist" module implementes a simple address-ordered linked list allocator (based on the "emergency list" allocator that was formerly part of the cbs module).
Copied from Perforce
 Change: 182348
 ServerID: perforce.ravenbrook.com
2013-05-31 00:12:49 +01:00