Gareth Rees
5bd92654df
Improve describe output for generations.
...
Must take SegBase(seg) before reclaiming the segment in case it gets destroyed.
Copied from Perforce
Change: 194624
2018-07-12 09:47:29 +01:00
Gareth Rees
f65c8fdfdb
Update common assertions in the manual.
...
Convert capacity to bytes once on initialization rather than every time it is used.
Copied from Perforce
Change: 194612
2018-07-11 21:27:47 +01:00
Gareth Rees
c3fd9d5ba7
Represent the set of generations condemned for a trace.
...
Eliminate duplication between policyCondemnChain and traceCondemnAll.
Compute better mortality estimate for collection of the world.
Copied from Perforce
Change: 194611
2018-07-11 21:14:43 +01:00
Gareth Rees
85e6b88e07
Don't make multiple calls to controlalloc when you could just make one and divvy it up yourself.
...
Copied from Perforce
Change: 194484
2018-07-06 18:56:12 +01:00
Gareth Rees
7f7822d4ab
Segment class gcseg no longer implements hardware barriers; these are implemented by new subclass mutatorseg, which is now used everywhere that gcseg was used formerly. the idea is that in a future change mrgrefseg will inherit from gcseg instead of mutatorseg.
...
Copied from Perforce
Change: 193981
2018-06-19 14:45:42 +01:00
Gareth Rees
a0db5c7bfe
Catch-up merge from master sources to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 192192
ServerID: perforce.ravenbrook.com
2016-09-05 16:17:04 +01:00
Gareth Rees
a42ef06b8d
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 192187
ServerID: perforce.ravenbrook.com
2016-09-05 16:01:17 +01:00
Gareth Rees
c737a08bc2
Fix assertion text in the manual.
...
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.
Copied from Perforce
Change: 192097
ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +01:00
David Lovemore
c357b42870
Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 191678
ServerID: perforce.ravenbrook.com
2016-04-27 12:20:36 +01:00
David Lovemore
abbd11acc8
Fixed a slowdown caused by initing each generation with the same parameters.
...
Copied from Perforce
Change: 191677
ServerID: perforce.ravenbrook.com
2016-04-27 12:08:24 +01:00
Gareth Rees
73734325d5
Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 191513
ServerID: perforce.ravenbrook.com
2016-04-21 18:20:54 +01:00
Gareth Rees
613f001ec5
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 191512
ServerID: perforce.ravenbrook.com
2016-04-21 18:03:23 +01:00
Richard Brooksby
4be15a5b0b
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191471
ServerID: perforce.ravenbrook.com
2016-04-21 14:46:10 +01:00
Gareth Rees
8868a011a7
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 191429
ServerID: perforce.ravenbrook.com
2016-04-21 10:52:18 +01:00
Richard Brooksby
65a770e91f
Avoid using "class" as an identifier, since tools like lldb parse expressions as c++, and it can't be named.
...
Copied from Perforce
Change: 191304
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
1c0704e3c8
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191251
ServerID: perforce.ravenbrook.com
2016-04-19 16:37:51 +01:00
Gareth Rees
99303979de
Give buffers their own account in the pool generation accounting system. this ensures that buffers don't contribute to the "new size" of a generation, and so don't provoke collections of that generation.
...
Copied from Perforce
Change: 191243
ServerID: perforce.ravenbrook.com
2016-04-19 16:02:16 +01:00
Gareth Rees
7b1f72a679
Top generation mortality estimate is no longer unjustifiable: it will now converge on the correct value.
...
No need to check topGen.mortality -- this is checked by LocusCheck.
Copied from Perforce
Change: 191085
ServerID: perforce.ravenbrook.com
2016-04-13 15:52:08 +01:00
Gareth Rees
d40145c046
Maintain a moving average of the mortality of each generation.
...
Copied from Perforce
Change: 191081
ServerID: perforce.ravenbrook.com
2016-04-13 15:19:50 +01:00
Gareth Rees
77b12d3ee7
Catch-up merge from master sources to branch/2014-10-11/snc.
...
Copied from Perforce
Change: 191065
ServerID: perforce.ravenbrook.com
2016-04-13 13:07:19 +01:00
Gareth Rees
c33b1f49e8
Condemn only the segments in the selected generations (not segments that happen to share a zone with any segment ever allocated in the generation).
...
Copied from Perforce
Change: 191034
ServerID: perforce.ravenbrook.com
2016-04-12 19:42:03 +01:00
Gareth Rees
b36632f54d
Keep a ring of segments for each generation.
...
Copied from Perforce
Change: 191031
ServerID: perforce.ravenbrook.com
2016-04-12 19:16:19 +01:00
Richard Brooksby
b4fbe7ba92
Making classes into instances of kinds, allowing subclass tests to be used to validate classes as well.
...
Copied from Perforce
Change: 190958
ServerID: perforce.ravenbrook.com
2016-04-11 20:58:39 +01:00
Richard Brooksby
ef6e2970ca
Eliminating generated classof* and setclassof* functions in favour of checked poly macros.
...
Copied from Perforce
Change: 190938
ServerID: perforce.ravenbrook.com
2016-04-11 18:06:47 +01:00
Richard Brooksby
a148490cfa
Adding classname for use in describe methods.
...
Fixing error path to use class destroy in ArenaCreate.
Using MustBeA to reduce boiler plate in land classes.
Copied from Perforce
Change: 190904
ServerID: perforce.ravenbrook.com
2016-04-11 14:06:28 +01:00
Richard Brooksby
c92bf9505a
Explicitly making inststruct the prefix of instances, eliminating pointer punning of class pointers, and reducing likelihood of editing errors.
...
Copied from Perforce
Change: 190830
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
590c23a935
Moving common fields into the base class, starting with the class name.
...
Copied from Perforce
Change: 190816
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
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
Gareth Rees
b41d6be0e4
New function policycondemnchain.
...
Copied from Perforce
Change: 188156
ServerID: perforce.ravenbrook.com
2015-08-21 11:01:00 +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
fa4429dae1
Make finaltest more strict so that it catches job003884.
...
Fix mps_pool_free_size for AWL and LO in the hot variety.
Copied from Perforce
Change: 187230
ServerID: perforce.ravenbrook.com
2014-10-13 11:04:30 +01:00
Gareth Rees
c968255f1e
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
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
7c2e271e60
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
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
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
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
c9aef36d67
More stringent checking in poolgenaccountforseg{split,merge}, as suggested by dl in < https://info.ravenbrook.com/mail/2014/06/02/14-32-56/0/ >.
...
Copied from Perforce
Change: 186426
ServerID: perforce.ravenbrook.com
2014-06-08 12:42:17 +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
c19b578653
Fix typo.
...
Copied from Perforce
Change: 186362
ServerID: perforce.ravenbrook.com
2014-05-30 10:58:10 +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
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
946a50691d
Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186348
ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +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
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
34cc9d49e4
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
93d01e3ca8
It is an error to destroy a chain if there is an active trace using the chain.
...
Copied from Perforce
Change: 186013
ServerID: perforce.ravenbrook.com
2014-05-11 21:47:20 +01:00
Gareth Rees
8a84937edb
Improve formatting of poolgendescribe and tracedescribe.
...
Add ArenaDescribe calls to amcss and finalcv to get coverage of PoolGenDescribe, TraceDescribe, and MRGDescribe.
Copied from Perforce
Change: 186010
ServerID: perforce.ravenbrook.com
2014-05-11 21:13:55 +01:00