1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

54 commits

Author SHA1 Message Date
Bruce Mitchener
2e417719d4 Fix typos. 2024-11-26 22:10:23 +07:00
Gareth Rees
7c6c56b541 Ensure that the mps builds with clang 10.
Clang 10 turns on -Wimplicit-int-float-conversion, and on 64-bit
platforms this issues a warning that implicit conversions to double
from Size and unsigned long "may lose precision".

This commit adds casts to (double) for all such conversions. The loss
of precision is either impossible in practice (because a double can
represent all integers up to 2**53, which is about 9 petabytes, well
beyond the addressing capabilities for current CPUs), or else
acceptable, because we are accumulating an approximate quantity like
"collection work" or "fill size" (that has to cope with loss of
precision due in any case), or computing a threshold like the spare
commit limit where it is acceptable for it to be somewhat approximate.
2021-01-10 10:42:05 +00:00
Gareth Rees
f47c389a52 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846 Publish licence updates in code directory.
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.

Copied from Perforce
 Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
4eda4e85c7 Use tags with dots; regularize design references from code.
Copied from Perforce
 Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
d2d2895c03 Catch-up merge from master sources at changelevel 194022 to branch/2018-06-20/monitor.
Copied from Perforce
 Change: 195071
2018-09-15 21:29:28 +01:00
Nick Barnes
6b6c6f253a Integrate recent monitor improvements from cet custom monitor branch.
Copied from Perforce
 Change: 194738
2018-07-26 14:40:31 +01:00
Gareth Rees
55305914da Fix the mortality of the world to avoid runaway feedback between the dynamic criterion and the mortality of the arena's top generation as described in <https://info.ravenbrook.com/mail/2018/07/13/19-53-23/0/>.
Copied from Perforce
 Change: 194648
2018-07-13 20:56:08 +01:00
Gareth Rees
032bd714e0 Catch-up merge from master sources at changelevel 194628.
Copied from Perforce
 Change: 194631
2018-07-13 11:28:36 +01:00
Gareth Rees
1ef415715f Must get the new size of the generation before condemning it (afterwards, the condemned memory is accounted as "old", not "new").
Copied from Perforce
 Change: 194628
2018-07-13 10:55:30 +01:00
Gareth Rees
90f5f01b84 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
c692e2b6e0 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
08beb998fd Don't represent capacities internally in kilobytes, convert once on initialization.
In the monitor, start average mortality time series with the initial predicted value.

Copied from Perforce
 Change: 194565
2018-07-10 13:10:00 +01:00
Gareth Rees
13f5b95ddb Add time series for fraction of generations condemned in chain.
Copied from Perforce
 Change: 194541
2018-07-09 16:56:16 +01:00
Gareth Rees
e38b71547d 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
6d0dccb644 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
efb1d94578 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
aba1c55487 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
Gareth Rees
04e129be5c Ensure that at most one collection of the world can be started in a call to arenapoll. this avoids a loop if the live set is large enough to provoke the "dynamic criterion".
Copied from Perforce
 Change: 191274
 ServerID: perforce.ravenbrook.com
2016-04-19 18:17:09 +01:00
Gareth Rees
3f8661740b 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
3174eba71e 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
4d1e8f06fe Handle failed traceaddwhite in policycondemnchain and arenarootswalk.
Copied from Perforce
 Change: 191040
 ServerID: perforce.ravenbrook.com
2016-04-12 20:58:33 +01:00
Gareth Rees
7eeb2e8b78 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
Richard Brooksby
3154cbed7d Making arenas properly inherit from instances, and converting remaining method calls to use the method macro, while noting uses which are inside-out.
Copied from Perforce
 Change: 190856
 ServerID: perforce.ravenbrook.com
2016-04-10 14:00:55 +01:00
Richard Brooksby
d54be414d9 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
Richard Brooksby
f0c95255b4 Don't return to the mutator if there's an emergency.
Clarifying "more time" and what we do if there's isn't.

Copied from Perforce
 Change: 190050
 ServerID: perforce.ravenbrook.com
2016-03-15 06:25:53 +00:00
Gareth Rees
2a3c4e0590 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
Gareth Rees
7ba1f1394e Don't forget to multiply by clockspersec!
Copied from Perforce
 Change: 189927
 ServerID: perforce.ravenbrook.com
2016-03-12 22:56:52 +00:00
Gareth Rees
459a9f775d Implement pause time control.
Copied from Perforce
 Change: 189921
 ServerID: perforce.ravenbrook.com
2016-03-12 22:08:26 +00:00
Richard Brooksby
32d42e00cd 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
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
c47b507def Fix typo found by gdr.
Copied from Perforce
 Change: 189376
 ServerID: perforce.ravenbrook.com
2016-02-28 20:12:12 +00:00
Richard Brooksby
6aec944f87 Try later allocation plans if growing the arena fails.
Copied from Perforce
 Change: 189363
 ServerID: perforce.ravenbrook.com
2016-02-26 19:59:55 +00:00
Richard Brooksby
5fc8accc63 Purge spare committed memory when growing the arena fails due to the commit limit.
Copied from Perforce
 Change: 189362
 ServerID: perforce.ravenbrook.com
2016-02-26 19:59:55 +00:00
Richard Brooksby
233539fbbc Catch-up merge from branch/2015-08-11/policy.
Copied from Perforce
 Change: 189339
 ServerID: perforce.ravenbrook.com
2016-02-25 23:08:49 +00:00
Nick Barnes
7fc7d9c085 Remove redundant assignment.
Copied from Perforce
 Change: 188292
 ServerID: perforce.ravenbrook.com
2015-09-09 15:20:01 +01:00
Gareth Rees
b8df4963ee Can't assume that the caller will give us any available time.
Copied from Perforce
 Change: 188259
 ServerID: perforce.ravenbrook.com
2015-09-04 22:35:03 +01:00
Gareth Rees
38b52d7a05 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
d2662a861e 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
800aa3b250 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
db81205af5 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
0ff67113ae 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
1437590cb3 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
68489eec1e 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
61bae42d43 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
f1441b58d1 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
b5edbd02ce Use sizeisarenagrains macro.
Copied from Perforce
 Change: 188172
 ServerID: perforce.ravenbrook.com
2015-08-25 15:03:35 +01:00
Gareth Rees
3274a4fba6 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
dd676e2919 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