Richard Brooksby
9583c0f68a
Merging branch mps/branch/2016-03-13/without-reservation into master sources.
...
Copied from Perforce
Change: 190106
ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
d4a055f70b
Merging branch/2016-03-12/pause into the master sources.
...
Copied from Perforce
Change: 190053
ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Gareth Rees
e034e7aeea
Address points made by rb in review < https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/ >
...
Copied from Perforce
Change: 190031
ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +00: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
Richard Brooksby
ca7dcd913e
Basic removal of the reservoir pool from code and design.
...
Copied from Perforce
Change: 190000
ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Gareth Rees
31de518300
Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
...
Copied from Perforce
Change: 189918
ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
f9041d9a20
Documentation and interface for pause time control (no implementation yet).
...
Copied from Perforce
Change: 189915
ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
Richard Brooksby
275770ed43
Catch-up merge from master sources to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 189891
ServerID: perforce.ravenbrook.com
2016-03-12 15:13:15 +00:00
Richard Brooksby
aa0412e071
Removing the mostly unused size component of the closure convention.
...
Copied from Perforce
Change: 189503
ServerID: perforce.ravenbrook.com
2016-03-01 17:20:50 +00:00
Richard Brooksby
2de01f7d2d
Improving detail of design.mps.bootstrap.land.sol and cross-referencing from source code.
...
Copied from Perforce
Change: 189345
ServerID: perforce.ravenbrook.com
2016-02-25 23:43:50 +00:00
Richard Brooksby
a3efd2d694
Catch-up merge from branch/2015-08-06/config to remove arenaconfigure.
...
Copied from Perforce
Change: 189335
ServerID: perforce.ravenbrook.com
2016-02-25 22:59:06 +00:00
Richard Brooksby
6a15535df6
Removing unused function arenascannable.
...
Reinstate when needed. See <https://info.ravenbrook.com/mail/2016/02/17/13-05-54/0/ >.
Copied from Perforce
Change: 189292
ServerID: perforce.ravenbrook.com
2016-02-25 17:09:09 +00:00
Richard Brooksby
c015827c36
Catch-up merge from master sources.
...
Copied from Perforce
Change: 189265
ServerID: perforce.ravenbrook.com
2016-02-17 11:04:51 +00:00
Richard Brooksby
8532653113
Catch-up merge from master sources.
...
Copied from Perforce
Change: 189140
ServerID: perforce.ravenbrook.com
2016-02-11 23:42:07 +00:00
Richard Brooksby
8ace24237d
Ensuring landfinish doesn't try treecheck on unmapped memory. see < https://info.ravenbrook.com/mail/2016/02/10/14-42-20/0/ >.
...
Copied from Perforce
Change: 189121
ServerID: perforce.ravenbrook.com
2016-02-10 15:14:21 +00:00
Richard Brooksby
080d135eec
Catch up merge from master sources.
...
Copied from Perforce
Change: 189088
ServerID: perforce.ravenbrook.com
2016-02-03 16:56:04 +00:00
Richard Brooksby
38f73575ae
Removing result code from arenasetsparecommitlimit since it can never fail.
...
See <https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0 >.
Copied from Perforce
Change: 189084
ServerID: perforce.ravenbrook.com
2016-02-03 16:51:31 +00:00
Richard Brooksby
d4e54ba17e
Backing out the introduction of mps_arena_configure. see < https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0 >.
...
Copied from Perforce
Change: 189081
ServerID: perforce.ravenbrook.com
2016-02-03 15:52:05 +00:00
Richard Brooksby
1cd22e39b2
Removing arena configure method from arena classes.
...
Copied from Perforce
Change: 189080
ServerID: perforce.ravenbrook.com
2016-01-30 20:16:30 +00:00
Richard Brooksby
673d651aba
Fixing uninitialised variable warning from gcc 5.2.1.
...
Copied from Perforce
Change: 189069
ServerID: perforce.ravenbrook.com
2016-01-30 19:58:10 +00:00
Richard Brooksby
5dccd2e006
Catch-up merge from masters.
...
Copied from Perforce
Change: 188928
ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Gareth Rees
5d3379f84c
Add a return value to arenasetsparecommitlimit, as suggested by nb in review.
...
Copied from Perforce
Change: 188287
ServerID: perforce.ravenbrook.com
2015-09-08 16:36:48 +01:00
Gareth Rees
537af4b0dc
Rename mps_key_arena_commit_limit and mps_key_arena_spare_commit_limit as mps_key_commit_limit and mps_key_spare_commit_limit respectively, as suggested by nb in review.
...
Copied from Perforce
Change: 188286
ServerID: perforce.ravenbrook.com
2015-09-08 16:21:27 +01:00
Gareth Rees
e131ab2c8b
Aver that results of arenaavail, arenacollectable and arenascannable are non-negative.
...
Copied from Perforce
Change: 188207
ServerID: perforce.ravenbrook.com
2015-09-03 10:12:18 +01:00
Gareth Rees
1f6522bd04
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188176
ServerID: perforce.ravenbrook.com
2015-08-25 19:35:03 +01:00
Gareth Rees
d506458eea
New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
...
Copied from Perforce
Change: 188160
ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
b3056139c8
New module policy.c.
...
Copied from Perforce
Change: 188152
ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
c2d2eacdb2
Catch-up merge from master sources to branch/2015-08-06/config.
...
Copied from Perforce
Change: 188146
ServerID: perforce.ravenbrook.com
2015-08-14 16:35:07 +01:00
Gareth Rees
5f578c7d8a
Improve organization and naming of arena's free land initialization and finish code, following review by nb < https://info.ravenbrook.com/mail/2015/08/11/15-52-34/0/ >.
...
Copied from Perforce
Change: 188143
ServerID: perforce.ravenbrook.com
2015-08-14 10:30:16 +01:00
Gareth Rees
8d2ed22908
Apply commit limit (and spare commit limit) during arena creation, to avoid exceeding the limit and then discovering that we've done so.
...
Add test case for arena hitting commit limit during creation.
Copied from Perforce
Change: 188106
ServerID: perforce.ravenbrook.com
2015-08-10 15:27:26 +01:00
Gareth Rees
511ec1c025
Catch-up merge from branch/2015-08-10/arena-create to branch/2015-08-06/config.
...
Copied from Perforce
Change: 188104
ServerID: perforce.ravenbrook.com
2015-08-10 12:49:36 +01:00
Gareth Rees
66c2645e03
Tear down arena correctly if controlinit fails.
...
Copied from Perforce
Change: 188100
ServerID: perforce.ravenbrook.com
2015-08-10 11:43:17 +01:00
Gareth Rees
6359b0ed98
Merge branch/2014-09-29/reserved into the master sources.
...
Copied from Perforce
Change: 188090
ServerID: perforce.ravenbrook.com
2015-08-07 16:33:43 +01:00
Gareth Rees
b3e8eb2280
The primary chunk is always the last chunk to be removed, so assert that. review suggestion from rb; see < https://info.ravenbrook.com/mail/2015/08/07/13-56-51/0/ >
...
Copied from Perforce
Change: 188089
ServerID: perforce.ravenbrook.com
2015-08-07 16:14:50 +01:00
Gareth Rees
703c1ee5f5
New function mps_arena_configure provides keyword argument interface to changing the properties of an arena.
...
New keyword arguments MPS_KEY_ARENA_COMMIT_LIMIT and MPS_KEY_SPARE_ARENA_COMMIT_LIMIT can be passed to mps_arena_create_k or mps_arena_configure.
Deprecate mps_arena_commit_limit_set and mps_arena_spare_commit_limit_set.
Copied from Perforce
Change: 188085
ServerID: perforce.ravenbrook.com
2015-08-06 17:02:51 +01:00
Gareth Rees
0394f40751
Fix comment (function is named vmarenamap, not vmarenamap).
...
Copied from Perforce
Change: 187965
ServerID: perforce.ravenbrook.com
2015-06-19 12:01:01 +01:00
Gareth Rees
0c42e3aa23
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
3ecf3d50c6
Make arenahasaddr work for all pools (not just for pools with segments).
...
Copied from Perforce
Change: 187108
ServerID: perforce.ravenbrook.com
2014-10-02 09:13:21 +01:00
Gareth Rees
72209444c0
Store reserved address space associated with chunk in a field in the chunkstruct, as suggested by rb in < https://info.ravenbrook.com/mail/2014/10/01/13-55-44/0/ >.
...
Copied from Perforce
Change: 187104
ServerID: perforce.ravenbrook.com
2014-10-01 21:40:50 +01:00
Gareth Rees
f9a37d2942
Document the behaviour of committed (memory marked as in use) and spare_committed (always zero) in the client arena class.
...
Account for (and check) committed memory in the client arena class.
Can't check arena->committed <= arena->reserved in ArenaCheck, but can in ClientArenaCheck.
Rename ClientFree to ClientArenaFree to match the naming convention elsewhere.
Copied from Perforce
Change: 187093
ServerID: perforce.ravenbrook.com
2014-09-30 20:04:35 +01:00
Gareth Rees
6d10abd466
Remove orphaned comment (originally from grm in change 19855) about being unable to "check that limit>=size" (referring to the reservoir). it seems, at least from testing, that this check is good now, so add it to reservoircheck.
...
Copied from Perforce
Change: 187092
ServerID: perforce.ravenbrook.com
2014-09-30 18:57:50 +01:00
Gareth Rees
53c5301a9e
Instead of iterating over the chunks to compute the total reserved address space, maintain a running total in arenachunkinsert and (new function) arenachunkremoved.
...
New arena class method chunkReserved handles the class-specific computation of the reserved size of a chunk.
Copied from Perforce
Change: 187089
ServerID: perforce.ravenbrook.com
2014-09-29 22:50:46 +01:00
Gareth Rees
83a93881a2
Design.mps.ring.naming: "when one structure parent contains one ring of child structures, the field in parent is usually known as childring, and the field in child is known as parentring". so the field in chunkstruct should be named arenaring.
...
Copied from Perforce
Change: 187084
ServerID: perforce.ravenbrook.com
2014-09-29 20:54:00 +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
1608519fe2
Fix problems identified by nb in review < https://info.ravenbrook.com/mail/2014/07/24/12-21-04/0/ >.
...
Copied from Perforce
Change: 186945
ServerID: perforce.ravenbrook.com
2014-08-06 16:18:34 +01:00
Gareth Rees
3aba0f32d9
Catch-up merge from master sources @186573 to branch/2014-05-28/align.
...
Copied from Perforce
Change: 186631
ServerID: perforce.ravenbrook.com
2014-06-14 16:11:20 +01:00
Gareth Rees
33b3eec69d
More modular to assign the primary chunk in arenachunkinsert.
...
Copied from Perforce
Change: 186621
ServerID: perforce.ravenbrook.com
2014-06-14 14:34:10 +01:00
Gareth Rees
cdee105f58
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