1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

181 commits

Author SHA1 Message Date
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
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
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
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
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
a7c6cd3600 Catch-up merge from master sources @186573 to branch/2014-05-28/align.
Copied from Perforce
 Change: 186574
 ServerID: perforce.ravenbrook.com
2014-06-13 15:37:20 +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
1dd8a0fa26 Merge branch/2014-06-11/grain into branch/2014-05-28/align.
Copied from Perforce
 Change: 186561
 ServerID: perforce.ravenbrook.com
2014-06-13 13:35:14 +01:00
Gareth Rees
100405cac2 Restore the chunk ring.
Copied from Perforce
 Change: 186558
 ServerID: perforce.ravenbrook.com
2014-06-13 12:31:47 +01:00
Gareth Rees
8c9de5f775 New function arenachunktreetraverse ensures that calls to chunkofaddr are reliably detected.
Copied from Perforce
 Change: 186550
 ServerID: perforce.ravenbrook.com
2014-06-12 20:28:50 +01:00
Gareth Rees
1d9afa915f Fix arenadescribetracts:
* Return value from TreeVisitor is Bool, not Res, so pass Res back via a closure.
* Can't use TRACT_TRACT_FOR while iterating over the chunk tree, because that macro uses ChunkOfAddr. (A plain loop is simpler.)
* Mustn't try to describe unallocated tracts -- they might not even be mapped into memory. So consult the allocTable.
Make tract functions more robust:
* TractCheck must only check the pool if there is one (otherwise it segfaults for unallocated tracts)
* TractLimit can't look up the arena via TractPool, because the tract might not have a pool. So pass in the arena as an argument.

Copied from Perforce
 Change: 186547
 ServerID: perforce.ravenbrook.com
2014-06-12 18:46:49 +01:00
Gareth Rees
08f341fcc9 Catch-up merge from master sources @186540 to branch/2014-05-17/chunk-tree.
Copied from Perforce
 Change: 186546
 ServerID: perforce.ravenbrook.com
2014-06-12 17:55:16 +01:00
Gareth Rees
e50888e0c5 Fix problems identified by dl in review <https://info.ravenbrook.com/mail/2014/06/12/15-04-02/0/>.
Copied from Perforce
 Change: 186542
 ServerID: perforce.ravenbrook.com
2014-06-12 17:11:09 +01:00