1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-25 08:12:11 -07:00
Commit graph

13 commits

Author SHA1 Message Date
Gareth Rees
365e431f21 Catch-up merge from master sources @186481 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186484
 ServerID: perforce.ravenbrook.com
2014-06-11 12:42:58 +01:00
Gareth Rees
3c486bd581 Fix problems identified by rb in review <https://info.ravenbrook.com/mail/2014/06/04/15-13-24/0/>.
Copied from Perforce
 Change: 186449
 ServerID: perforce.ravenbrook.com
2014-06-08 20:28:33 +01:00
Gareth Rees
331d260bfd Catch-up merge from master sources @186436 to branch/2014-04-08/align.
Copied from Perforce
 Change: 186439
 ServerID: perforce.ravenbrook.com
2014-06-08 16:30:53 +01:00
Gareth Rees
88626830d8 Alignment is now configurable for mv pools using mps_key_align.
MVFF and MVT support alignments down to FreelistMinimumAlignment.
For MVFF and MVT, alignments that are too small are rounded up automatically, to make it easier to write portable programs.

Copied from Perforce
 Change: 185369
 ServerID: perforce.ravenbrook.com
2014-04-08 21:32:19 +01:00
Gareth Rees
a3055d56c0 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
6ef8e57b1f 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
042f9c5f14 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
fe60d16407 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
757a6417fb Missing extern.
Copied from Perforce
 Change: 182496
 ServerID: perforce.ravenbrook.com
2013-06-04 15:40:45 +01:00
Gareth Rees
6efd6ba489 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
abdabf9c7b Missing prototypes for freelistfindfirst and freelistfindlast.
Copied from Perforce
 Change: 182411
 ServerID: perforce.ravenbrook.com
2013-06-03 11:08:58 +01:00
Gareth Rees
9b3153f8b6 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
ca7975ac29 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