Gareth Rees
4623be4a03
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
3804af1803
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
2333afe92a
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
b929dbbe4c
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
19744dfaec
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
c2d6f32919
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
00f4c7068d
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
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
db203fb12b
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
e38d608024
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
fa29a3a5e0
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
5f35b7f792
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
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
10afd0ee3b
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
e50fdb0f73
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
36eff1fb48
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
78507d9df6
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
3b97cae580
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
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
David Lovemore
bd05f7d321
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
be87f69167
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
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
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
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
David Lovemore
c14a0e5e3e
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
2aa32f236a
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
f2447e74fd
Fix the build on fri3gc.
...
Copied from Perforce
Change: 186436
ServerID: perforce.ravenbrook.com
2014-06-08 15:20:50 +01:00
Gareth Rees
e8bb8ecedb
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
9fb9c2f319
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
d59108f214
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
7e345e486f
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
2828487364
Fix off-by-one error.
...
Copied from Perforce
Change: 186357
ServerID: perforce.ravenbrook.com
2014-05-29 17:14:32 +01:00
Gareth Rees
6a71a7c730
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
f25bd5b496
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
b2f8c11ebb
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
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
a4611cb411
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
35985c3587
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
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
7b9e9ab0d9
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
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
Gareth Rees
b9ccc0af7a
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
Gareth Rees
cd099a2aae
Better names for poolgen functions.
...
Accounting for segment splitting and merging.
Accounting for allocation and freeing in segsmss.
Copied from Perforce
Change: 185894
ServerID: perforce.ravenbrook.com
2014-04-30 13:49:26 +01:00