1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 22:40:51 -08:00
Commit graph

1997 commits

Author SHA1 Message Date
Gareth Rees
3ef063c80f Avoid "iso c90 forbids mixed declarations and code" error from gcc.
Copied from Perforce
 Change: 188257
 ServerID: perforce.ravenbrook.com
2015-09-04 22:28:40 +01:00
Gareth Rees
aa6a027c68 Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188250
 ServerID: perforce.ravenbrook.com
2015-09-04 19:13:28 +01:00
Gareth Rees
0a927608dc Policycollectiontime is now local to policy.c.
Improve comment for policyCondemnChain (document the mortalityReturn parameter to; fix design reference).

Copied from Perforce
 Change: 188240
 ServerID: perforce.ravenbrook.com
2015-09-04 16:02:46 +01:00
Gareth Rees
2514663693 Move policy for mps_arena_step to policy module.
Copied from Perforce
 Change: 188238
 ServerID: perforce.ravenbrook.com
2015-09-04 15:25:37 +01:00
Gareth Rees
b43a56f9b5 Move arenadefaultzoneset to be adjacent to its todo.
Add comments for ArenaDefaultZONESET and LocusPrefDEFAULT.

Copied from Perforce
 Change: 188237
 ServerID: perforce.ravenbrook.com
2015-09-04 15:24:14 +01:00
Gareth Rees
30a7fa542d Fix bug introduced by change 188219: the end of the interval is not the same as the available collection time.
Copied from Perforce
 Change: 188223
 ServerID: perforce.ravenbrook.com
2015-09-04 08:53:23 +01:00
Gareth Rees
b9cd26b30a There can only be an emergency when a trace is busy, so check this.
Copied from Perforce
 Change: 188220
 ServerID: perforce.ravenbrook.com
2015-09-03 20:14:06 +01:00
Gareth Rees
158c7758d7 Arenastep considers collecting the world after finishing a trace (not just on entry if no traces are busy).
ArenaStep does not care about quanta, so call TraceAdvance instead of TracePoll.

Copied from Perforce
 Change: 188219
 ServerID: perforce.ravenbrook.com
2015-09-03 19:11:49 +01:00
Gareth Rees
7bf1664f5e Separate the values "more work to do?" and "amount of work done" in tracepoll. previously, the code used "amount of work done > 0" when it needed "more work to do?" but that's not right, because on the last two calls to traceadvance, no "work" is done (because reclaim work is not measured), but there may still be more work to do.
Copied from Perforce
 Change: 188218
 ServerID: perforce.ravenbrook.com
2015-09-03 15:51:37 +01:00
Gareth Rees
851e35bcff Move the arenaemergency test up to policypollagain.
Copied from Perforce
 Change: 188217
 ServerID: perforce.ravenbrook.com
2015-09-03 15:39:39 +01:00
Gareth Rees
ef62affc6d Move the clearing of the emergency flag down into tracedestroy{init,finish}.
Copied from Perforce
 Change: 188216
 ServerID: perforce.ravenbrook.com
2015-09-03 15:35:38 +01:00
Gareth Rees
b4db3bd09f Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
Copied from Perforce
 Change: 188210
 ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
ffbe7beaa5 Accumulate scannedsize in mrg pool.
Copied from Perforce
 Change: 188209
 ServerID: perforce.ravenbrook.com
2015-09-03 11:54:55 +01:00
Gareth Rees
bea6e91d73 Accumulate trace metrics in arenapark.
Copied from Perforce
 Change: 188208
 ServerID: perforce.ravenbrook.com
2015-09-03 11:50:28 +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
3b0e0c2aa5 Don't start a trace unless there's work to do.
Copied from Perforce
 Change: 188204
 ServerID: perforce.ravenbrook.com
2015-09-02 21:55:24 +01:00
Gareth Rees
309d42e408 Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188203
 ServerID: perforce.ravenbrook.com
2015-09-02 21:23:23 +01:00
Gareth Rees
9a303f6935 Refactor tracequantum into tracepoll and traceadvance. (tracequantum was formerly called from arenapark, but that doesn't care about the quantum size.)
Copied from Perforce
 Change: 188198
 ServerID: perforce.ravenbrook.com
2015-09-02 10:50:00 +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
028510db19 Catch-up merge from branch/2015-08-06/config to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188175
 ServerID: perforce.ravenbrook.com
2015-08-25 19:32:55 +01:00
Gareth Rees
b0e9c66094 Use sizeisarenagrains macro.
Copied from Perforce
 Change: 188172
 ServerID: perforce.ravenbrook.com
2015-08-25 15:03:35 +01:00
Gareth Rees
517ffb9344 Condition >= 1.0 is needed to ensure division can't overflow.
Copied from Perforce
 Change: 188170
 ServerID: perforce.ravenbrook.com
2015-08-25 13:50:19 +01:00
Gareth Rees
9dd49aa48e New functions policypoll and policypollagain.
Update design.strategy.

Copied from Perforce
 Change: 188165
 ServerID: perforce.ravenbrook.com
2015-08-25 13:27:17 +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
38f07daa3d Fix broken link to design/thread-safety
Copied from Perforce
 Change: 188158
 ServerID: perforce.ravenbrook.com
2015-08-21 11:20:20 +01:00
Gareth Rees
1710a3bb97 Prefer avert(type, value) to aver(typecheck(value)).
Copied from Perforce
 Change: 188157
 ServerID: perforce.ravenbrook.com
2015-08-21 11:14:27 +01: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
eee7ccb60c New function policystarttrace decides whether to start a trace.
Copied from Perforce
 Change: 188154
 ServerID: perforce.ravenbrook.com
2015-08-20 16:57:33 +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
365acce878 Merge branch/2015-08-10/arena-create into the master sources.
Copied from Perforce
 Change: 188144
 ServerID: perforce.ravenbrook.com
2015-08-14 10:57:06 +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
117f50417c Address review comments from nb in <https://info.ravenbrook.com/mail/2015/08/10/15-57-46/0/>
Copied from Perforce
 Change: 188115
 ServerID: perforce.ravenbrook.com
2015-08-10 18:55: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
afb5ff33c1 Correct the test for too-small client arena sizes.
Add automated test case for client arenas with small sizes.

Copied from Perforce
 Change: 188099
 ServerID: perforce.ravenbrook.com
2015-08-10 11:41:58 +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
Richard Brooksby
1a730f9e83 Clarifying situations in which arenaaccess might find the barrier already down. see <https://info.ravenbrook.com/mail/2015/07/14/15-08-55/0/>.
Copied from Perforce
 Change: 188033
 ServerID: perforce.ravenbrook.com
2015-07-14 17:18:00 +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
3c5be3b3a9 The table of references passed to mps_root_create_table must be word-aligned.
Explain why mps_root_create_fmt doesn't check the alignment of base and limit.

Copied from Perforce
 Change: 187947
 ServerID: perforce.ravenbrook.com
2015-06-15 22:12:42 +01:00
Gareth Rees
55b13ab5b5 The stack pointer passed to mps_root_create_reg must be word-aligned.
Copied from Perforce
 Change: 187946
 ServerID: perforce.ravenbrook.com
2015-06-15 22:11:48 +01:00
Gareth Rees
5cf97c8aba Explain why ldadd and ldisstale don't check that the address belongs to the arena, and don't check the alignment of the address.
Copied from Perforce
 Change: 187945
 ServerID: perforce.ravenbrook.com
2015-06-15 22:10:19 +01:00
Gareth Rees
3cf8519b72 If mvinit fails, ensure that its block pool is finished.
Copied from Perforce
 Change: 187940
 ServerID: perforce.ravenbrook.com
2015-06-15 18:11:32 +01:00
Gareth Rees
3f28170688 Use testrun -s suite when running from xcode.
Copied from Perforce
 Change: 187938
 ServerID: perforce.ravenbrook.com
2015-06-15 17:20:27 +01:00
Gareth Rees
09c5c1031f Fix cross-references.
Copied from Perforce
 Change: 187791
 ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
8a16ef48eb Todo was done: replace it with cross-reference to design.
Copied from Perforce
 Change: 187788
 ServerID: perforce.ravenbrook.com
2015-03-18 20:54:28 +00:00
Gareth Rees
a6ca2d9e52 Todo was done: replace it with cross-reference to design.
Copied from Perforce
 Change: 187787
 ServerID: perforce.ravenbrook.com
2015-03-18 20:49:59 +00:00