Gareth Rees
7870122c9d
Rename locusprefhigh to locusprefhigh and so on, to follow < http://www.ravenbrook.com/project/mps/master/design/guide.impl.c.naming#capital-constant >
...
Copied from Perforce
Change: 187283
ServerID: perforce.ravenbrook.com
2014-10-19 09:19:43 +01:00
Gareth Rees
66dfd1a69a
Improved assertion messages when a required keyword argument is not found. instead of "unreachable code", the assertion message is the name of the missing key.
...
Copied from Perforce
Change: 187267
ServerID: perforce.ravenbrook.com
2014-10-14 22:05:30 +01:00
Gareth Rees
7996f44ede
Rename "page" to "grain" in mvffreduce. use unused_size for an unused closure argument.
...
Copied from Perforce
Change: 187140
ServerID: perforce.ravenbrook.com
2014-10-04 16:09:27 +01:00
Gareth Rees
2d0f425428
Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
...
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt >), so it's about time it was implemented.
Copied from Perforce
Change: 187071
ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
39e8b866cf
Rename mps_class_t to mps_pool_class_t for clarity.
...
Retain a typedef for mps_class_t for backwards compatibility.
Copied from Perforce
Change: 187065
ServerID: perforce.ravenbrook.com
2014-09-27 13:37:38 +01:00
Gareth Rees
456d747b61
Rename segpref to locuspref -- this structure describes preferences for the placement of any kind of address, not just segments.
...
Add LocusPrefDescribe and use it in MVFFDescribe.
Copied from Perforce
Change: 187061
ServerID: perforce.ravenbrook.com
2014-09-27 11:27:00 +01:00
Gareth Rees
e6cf907567
Add landiterateanddelete method for the cbs land classes.
...
Use this to check that all memory has been returned to the arena in MVFFFinish.
Copied from Perforce
Change: 186616
ServerID: perforce.ravenbrook.com
2014-06-14 12:44:11 +01:00
Gareth Rees
e40740db1c
Fix defects found by coverity < https://info.ravenbrook.com/mail/2014/06/13/18-12-37/0/ >
...
Copied from Perforce
Change: 186604
ServerID: perforce.ravenbrook.com
2014-06-13 21:45:46 +01:00
Gareth Rees
1b7de24015
Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
...
Copied from Perforce
Change: 186577
ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Gareth Rees
bf97a59af1
Catch-up merge from master sources @186564 to branch/2014-06-11/grain.
...
Copied from Perforce
Change: 186572
ServerID: perforce.ravenbrook.com
2014-06-13 15:30:46 +01:00
Gareth Rees
266a75b639
Catch-up merge from master sources @186536 to branch/2014-05-15/size.
...
Copied from Perforce
Change: 186539
ServerID: perforce.ravenbrook.com
2014-06-12 16:46:36 +01:00
Gareth Rees
bb44aa1f51
Catch-up merge from master sources @186528 to branch/2014-04-15/mvffnoseg.
...
Copied from Perforce
Change: 186534
ServerID: perforce.ravenbrook.com
2014-06-12 15:59:39 +01:00
Gareth Rees
a94a92f9a2
Fix problems noted by nb in review < https://info.ravenbrook.com/mail/2014/06/11/20-47-37/0/ >
...
Copied from Perforce
Change: 186533
ServerID: perforce.ravenbrook.com
2014-06-12 15:53:55 +01:00
Gareth Rees
181fe2d26a
Use xyzpool macros systematically as suggested by nb in < https://info.ravenbrook.com/mail/2014/06/11/20-47-37/0/ >
...
Copied from Perforce
Change: 186529
ServerID: perforce.ravenbrook.com
2014-06-12 14:25:00 +01:00
Gareth Rees
c71e35f3c1
Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.
...
Copied from Perforce
Change: 186526
ServerID: perforce.ravenbrook.com
2014-06-12 13:45:22 +01:00
Gareth Rees
41e2d84377
Rename "arena alignment" to "arena grain size" to avoid confusion with ordinary structure alignment.
...
Copied from Perforce
Change: 186503
ServerID: perforce.ravenbrook.com
2014-06-11 17:13:03 +01:00
Gareth Rees
b826b76559
Restore assertions on spare keyword argument, accidentally removed in change 186484.
...
Copied from Perforce
Change: 186488
ServerID: perforce.ravenbrook.com
2014-06-11 13:29:01 +01:00
Gareth Rees
dbc6f9cd32
Catch-up merge from branch/2014-04-15/mvffnoseg @186485 to branch/2014-05-15/size.
...
Copied from Perforce
Change: 186487
ServerID: perforce.ravenbrook.com
2014-06-11 13:17:14 +01:00
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
4113048403
Catch-up merge from master sources @186460 to branch/2014-04-08/align.
...
Copied from Perforce
Change: 186461
ServerID: perforce.ravenbrook.com
2014-06-09 19:26:31 +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
fe20a6e3d8
Add comments addressing points noted by dl in review < https://info.ravenbrook.com/mail/2014/06/04/14-08-35/0/ >.
...
Copied from Perforce
Change: 186448
ServerID: perforce.ravenbrook.com
2014-06-08 20:08:38 +01:00
Gareth Rees
d6b83892af
Remove unused pool class attributes.
...
Bring method descriptions up to date in pool class design.
Copied from Perforce
Change: 186446
ServerID: perforce.ravenbrook.com
2014-06-08 19:54:24 +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
Richard Brooksby
e7579bd79d
Fixing wrong function name in comment.
...
Copied from Perforce
Change: 186418
ServerID: perforce.ravenbrook.com
2014-06-05 13:14:37 +01:00
Gareth Rees
e369a11904
Landvisitor no longer takes a deletereturn.
...
Copied from Perforce
Change: 186366
ServerID: perforce.ravenbrook.com
2014-05-30 12:13:40 +01:00
Gareth Rees
224afa61a8
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/05/29/13-01-02/0/ >.
...
Copied from Perforce
Change: 186347
ServerID: perforce.ravenbrook.com
2014-05-29 14:50:36 +01:00
Gareth Rees
16ccef5e2d
New public functions mps_pool_total_size and mps_pool_free_size.
...
Old (undocumented) functions mps_{mv,mvff,mvt}_size and mps_{mv,mvff,mvt}_free_size are now macros for the new public functions.
New pool methods PoolTotalSize and PoolFreeSize, with implementations for public pool classes except SNC.
Coverage of the new functions in apss and mpmss for the manual pool classes, and in finaltest for the automatic pool classes.
Copied from Perforce
Change: 186118
ServerID: perforce.ravenbrook.com
2014-05-15 17:01:59 +01:00
Gareth Rees
7e22bed98f
Merge branch/2014-04-08/align into branch/2014-05-15/size.
...
Copied from Perforce
Change: 186116
ServerID: perforce.ravenbrook.com
2014-05-15 14:54:36 +01:00
Gareth Rees
ae0cbbfbc4
Add note about potential for speed improvement, as requested by rb.
...
Copied from Perforce
Change: 186093
ServerID: perforce.ravenbrook.com
2014-05-13 18:04:59 +01:00
Gareth Rees
6d91ddbe12
Describe the block pool.
...
Copied from Perforce
Change: 186091
ServerID: perforce.ravenbrook.com
2014-05-13 17:49:35 +01:00
Gareth Rees
a25521dbe9
Catch-up merge from branch/2014-03-30/addrset to branch/2014-04-15/mvffnoseg.
...
Copied from Perforce
Change: 186082
ServerID: perforce.ravenbrook.com
2014-05-13 16:27:17 +01:00
Gareth Rees
883f4a4c3f
Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186081
ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
7818a73504
Merge branch/2014-02-23/mvff-tune into branch/2014-04-15/mvffnoseg.
...
Copied from Perforce
Change: 186079
ServerID: perforce.ravenbrook.com
2014-05-13 16:10:51 +01:00
Gareth Rees
2b41ec58db
Catch-up merge from master sources @185999 to branch/2014-04-17/describe.
...
Copied from Perforce
Change: 186003
ServerID: perforce.ravenbrook.com
2014-05-11 18:33:02 +01:00
Gareth Rees
add3e4bf93
Consistent order stream, depth.
...
Copied from Perforce
Change: 186001
ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
c44f2d6a20
Correct indentation of describe output by passing depth parameter to describe functions and to writef.
...
Call Describe functions from test cases so that we get coverage.
Copied from Perforce
Change: 186000
ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
4ed8190265
Back out change 185626 (violates the design.mps.writef.snazzy).
...
Copied from Perforce
Change: 185941
ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
4c655eba6a
Fix rash build on os x by adding the unused attribute to functions declared static that are not called in the rash variety.
...
Copied from Perforce
Change: 185915
ServerID: perforce.ravenbrook.com
2014-05-01 12:18:00 +01:00
David Lovemore
fb7363db2e
Rename bool(v) to boolof(v) to fix clash with the windows header file windows.h
...
Copied from Perforce
Change: 185841
ServerID: perforce.ravenbrook.com
2014-04-28 13:14:04 +01:00
Gareth Rees
d83fbf6b09
Correct indentation of describe output.
...
Copied from Perforce
Change: 185626
ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
1099dbaeb5
Mvff no longer uses segments, but instead maintains the address ranges it has acquired from the arena in a cbs.
...
Copied from Perforce
Change: 185574
ServerID: perforce.ravenbrook.com
2014-04-15 17:52:14 +01:00
Gareth Rees
a94cc2ed78
New generic function landsize returns the total size of ranges in a land (if the land supports it). implement it for all land classes.
...
The MVFF pool class doesn't have to maintain its free size any more: it can just call LandSize.
Move re-entrancy protection from CBS to Land. This allows us to remove some CBS functions. (But requires some adjustment in failoverDelete.)
In MVFF, do more checking of mvff->total.
Copied from Perforce
Change: 185569
ServerID: perforce.ravenbrook.com
2014-04-15 16:35:34 +01:00
Gareth Rees
d0881bf1e1
Lands maintain the total size of the address ranges they maintain. (this avoids the need to do free size accounting in mvff.)
...
Copied from Perforce
Change: 185567
ServerID: perforce.ravenbrook.com
2014-04-15 14:23:53 +01:00
Gareth Rees
0abdd8ae47
Catch-up merge from master/...@185556 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185563
ServerID: perforce.ravenbrook.com
2014-04-15 13:14:50 +01:00
Gareth Rees
391e7e6c83
Add -wconversion to the options for gcc. ensure that the mps builds.
...
Copied from Perforce
Change: 185463
ServerID: perforce.ravenbrook.com
2014-04-11 14:25:15 +01:00
Gareth Rees
07853f0c33
Alas, mvff and mvt can't round up alignment because they need to support buffered allocation.
...
Copied from Perforce
Change: 185381
ServerID: perforce.ravenbrook.com
2014-04-09 13:01:58 +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
51aac4e32d
No keyword arguments needed in these cbsfastlandclass initializations.
...
Copied from Perforce
Change: 185329
ServerID: perforce.ravenbrook.com
2014-04-08 00:13:50 +01:00
Gareth Rees
3d1db4eab6
Use cbs subclasses to implement the fast-find and find-in-zones features. this avoids the need to control behaviour by passing booleans, and it means that there is no wasted space in the cbs block structure when these features are not used.
...
Bring splay tree design up to date; add missing diagrams; move it to the "current" section of the manual.
Copied from Perforce
Change: 185294
ServerID: perforce.ravenbrook.com
2014-04-07 15:36:18 +01:00