Richard Brooksby
07987ab579
Eliminating withreservoirpermit and all its variants.
...
Copied from Perforce
Change: 190005
ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Gareth Rees
973f5369e1
Rename chain.h to locus.h, for consistency with other modules, where the interface has the same name as the implemention.
...
Copied from Perforce
Change: 189682
ServerID: perforce.ravenbrook.com
2016-03-06 18:56:32 +00:00
Richard Brooksby
998a11b45a
Catch-up merge from master sources to branch/2015-09-04/stack.
...
Copied from Perforce
Change: 189370
ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
b26e5cc27d
Merging branch/2015-08-11/policy into master sources.
...
Copied from Perforce
Change: 189330
ServerID: perforce.ravenbrook.com
2016-02-25 21:46:11 +00:00
Richard Brooksby
8a4e5ab290
Moving scanning accounting to tracescanarea and creating analogous formatscan.
...
Copied from Perforce
Change: 189325
ServerID: perforce.ravenbrook.com
2016-02-19 12:11:50 +00:00
Gareth Rees
fb83e75c0b
Remove unused variable p1 (broke the build on gcc).
...
Copied from Perforce
Change: 187296
ServerID: perforce.ravenbrook.com
2014-10-20 16:50:02 +01:00
Gareth Rees
7be8c5067b
Remove unused variable obj1pip -- broke the compilation in gcc.
...
Copied from Perforce
Change: 187295
ServerID: perforce.ravenbrook.com
2014-10-20 16:45:45 +01:00
Gareth Rees
0f0435b710
Remove duplicate function amcfix (and rename amcheaderfix to amcfix) so that we don't have the burden of maintaining two copies of this function.
...
Copied from Perforce
Change: 187293
ServerID: perforce.ravenbrook.com
2014-10-20 16:38:54 +01:00
Gareth Rees
169aaf972f
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
8a094c1bf7
Amc no longer keeps statistics about pages condemned and retained. if we need this kind of analysis, it would be better to add more telemetry until we can do the analysis offline.
...
Copied from Perforce
Change: 187274
ServerID: perforce.ravenbrook.com
2014-10-14 23:05:56 +01:00
Gareth Rees
d4b8907389
Assert if you try to create a pool using a format from another arena, a pool using a chain from another arena, or a root using a thread from another arena.
...
Copied from Perforce
Change: 187268
ServerID: perforce.ravenbrook.com
2014-10-14 22:21:43 +01:00
Gareth Rees
51a264446a
Amc now asserts that references (unless ambiguous) are aligned to the pool alignment.
...
Copied from Perforce
Change: 187162
ServerID: perforce.ravenbrook.com
2014-10-08 21:13:34 +01:00
Gareth Rees
00229b0479
Use the method suffix only for methods in classes; use visitor or function for other kinds of functions.
...
New document guide.impl.c.naming sets out the rules for naming.
Copied from Perforce
Change: 187159
ServerID: perforce.ravenbrook.com
2014-10-07 23:48:55 +01:00
Gareth Rees
21f6addf6c
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
1f517274f3
Cast all arguments to the writef function to make it easy to check that none of the necessary casts have been omitted.
...
New macro WriteFYesNo makes it easy to describe a Boolean.
Describe more structure elements for ABQ, Arena, Buffer, Format, MFS, Root, Seg.
Copied from Perforce
Change: 187063
ServerID: perforce.ravenbrook.com
2014-09-27 12:49:30 +01:00
Gareth Rees
88708ac00a
Instead of creating one padding object for each reclaimed object in a nailed amc segment, create a padding object for each contiguous run of reclaimed objects, speeding up any future traversals of the segment.
...
Copied from Perforce
Change: 186812
ServerID: perforce.ravenbrook.com
2014-07-03 20:56:18 +01:00
Gareth Rees
d3248f60f5
Emit the amcfixforward event after forwarding the object, so that the newref parameter is in fact the new location (rather than constantly 0, as before).
...
Copied from Perforce
Change: 186809
ServerID: perforce.ravenbrook.com
2014-07-03 19:18:22 +01:00
Gareth Rees
9d1cec7942
Ensure that the amcss test case uses a wide range of arena grain sizes (by scaling up the whole allocation).
...
Remove hack from rnd_grain -- this was covering up a bug.
Base the AMC "large" segment determination on the requested object size, not the (rounded up) segment size.
Assert in the case where largeSize < extendBy: this has bad space performance.
Copied from Perforce
Change: 186755
ServerID: perforce.ravenbrook.com
2014-06-30 16:07:09 +01:00
David Lovemore
392e6a056a
Catch up merge from master/...@186577
...
Copied from Perforce
Change: 186582
ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
8b012960dc
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
a13a1aa1df
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
David Lovemore
adbb265043
Updated due to gdr's review comments in mail < https://info.ravenbrook.com/mail/2014/06/13/12-46-29/0/ >
...
Copied from Perforce
Change: 186569
ServerID: perforce.ravenbrook.com
2014-06-13 15:09:49 +01:00
David Lovemore
4731440031
Remove requirement that mps_key_extend_by argument to amc is aligned to arena alignment.
...
Copied from Perforce
Change: 186557
ServerID: perforce.ravenbrook.com
2014-06-13 12:19:26 +01:00
Gareth Rees
5e11b7034a
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
9268a0adc8
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
15df9bb6de
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
cb629746ea
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
bfb0b771dd
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
5969ae2114
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
David Lovemore
84ddecde2f
Amc now respects mps_key_extend_by keyword argument.
...
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.
Copied from Perforce
Change: 186480
ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
48ab51ff6c
Remove unneeded variable arena (obsoleted by removal of check on totalsize).
...
Copied from Perforce
Change: 186453
ServerID: perforce.ravenbrook.com
2014-06-09 08:22:12 +01:00
Gareth Rees
545bb116cf
Fix the build on fri3gc.
...
Copied from Perforce
Change: 186436
ServerID: perforce.ravenbrook.com
2014-06-08 15:20:50 +01:00
Gareth Rees
03f8b41b44
Encapsulate the artifical ageing and reclaiming that's need to ensure that all the memory in a segment is accounted as free. addresses point made by rb in < https://info.ravenbrook.com/mail/2014/06/02/15-43-00/0/ >
...
Copied from Perforce
Change: 186428
ServerID: perforce.ravenbrook.com
2014-06-08 13:12:12 +01:00
Gareth Rees
f37b0868c0
Rename poolgen functions to make it clear that they only handle accounting.
...
Copied from Perforce
Change: 186368
ServerID: perforce.ravenbrook.com
2014-05-30 12:29:42 +01:00
Gareth Rees
9cf9e3b5de
Fix problems noted by rb in review < https://info.ravenbrook.com/mail/2014/05/29/16-29-44/0/ >.
...
Copied from Perforce
Change: 186361
ServerID: perforce.ravenbrook.com
2014-05-30 10:56:12 +01:00
Gareth Rees
a460e285bb
Better fix for the off-by-one error (chaingen already has the topgen logic).
...
Copied from Perforce
Change: 186358
ServerID: perforce.ravenbrook.com
2014-05-29 17:21:51 +01:00
Gareth Rees
96ee218c7f
Fix off-by-one error.
...
Copied from Perforce
Change: 186357
ServerID: perforce.ravenbrook.com
2014-05-29 17:14:32 +01:00
Gareth Rees
3a84ade86a
Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186354
ServerID: perforce.ravenbrook.com
2014-05-29 15:38:42 +01:00
Gareth Rees
d1bcbd4bbb
Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186263
ServerID: perforce.ravenbrook.com
2014-05-23 14:13:44 +01:00
Gareth Rees
04a44878f3
Catch-up merge from master sources @186174 to branch/2014-04-30/poolgen.
...
Copied from Perforce
Change: 186185
ServerID: perforce.ravenbrook.com
2014-05-19 14:59:19 +01:00
Gareth Rees
981a266642
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
4d10bb418b
Catch-up merge from master sources @186077 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186110
ServerID: perforce.ravenbrook.com
2014-05-15 10:17:41 +01:00
Gareth Rees
7b5411c4f7
Catch-up merge from master sources @186035 to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 186040
ServerID: perforce.ravenbrook.com
2014-05-12 18:42:33 +01:00
Gareth Rees
30f37732a9
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
c77c91056d
Consistent order stream, depth.
...
Copied from Perforce
Change: 186001
ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
2493f121dc
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
d1b44a4f05
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
6adaa61966
Store flags as bitfields to save space in segment structure.
...
Copied from Perforce
Change: 185932
ServerID: perforce.ravenbrook.com
2014-05-01 22:06:47 +01:00
Gareth Rees
7620c6fcd1
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
Gareth Rees
0a4c4fcaa6
Fix problems identified by dl in < https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/ >.
...
Copied from Perforce
Change: 185897
ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00