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

213 commits

Author SHA1 Message Date
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
Gareth Rees
0297b380b9 Clear the emergency before removing the trace from busytraces, to avoid violating <code/global.c#emergency.invariant>.
Copied from Perforce
 Change: 191774
 ServerID: perforce.ravenbrook.com
2016-05-02 13:06:07 +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
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
Gareth Rees
0d0eb93f01 Merge branch/2016-04-19/job004011.
Copied from Perforce
 Change: 191374
 ServerID: perforce.ravenbrook.com
2016-04-20 16:00:43 +01:00
Gareth Rees
c1aeb1f67a 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
b6f2ae3d67 Remove tracestatcondemn event -- contains no information not already emitted by the tracestart event.
Copied from Perforce
 Change: 191185
 ServerID: perforce.ravenbrook.com
2016-04-16 12:41:38 +01:00
Gareth Rees
aabe4992eb Compile out statistic declarations in non-statistical varieties (at the cost of some syntax checking).
Add some missing STATISTIC guards where statistics are used.
Add design documentation.
Avoid unnecessary distinction between STATISTIC and STATISTIC_STAT (both result in statements).

Copied from Perforce
 Change: 191178
 ServerID: perforce.ravenbrook.com
2016-04-16 12:07:10 +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
749226e23a 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
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
470b157620 Fix mistake (need trace->arena here).
Copied from Perforce
 Change: 190948
 ServerID: perforce.ravenbrook.com
2016-04-11 19:47:11 +01:00
Gareth Rees
6ee4c8534d In change 188204 we avoided creating and progressing traces with nothing condemned. but traces had one other effect: they called arenacompact via tracereclaim. restore the arenacompact for traces that failed to condemn anything.
Copied from Perforce
 Change: 190931
 ServerID: perforce.ravenbrook.com
2016-04-11 18:08:08 +01:00
Richard Brooksby
27e38efbda Don't allow pools to whiten segments without condemning objects, so that a condemned size of zero implies no white segments, allowing quick trace destruction.
Copied from Perforce
 Change: 190607
 ServerID: perforce.ravenbrook.com
2016-03-31 23:41:46 +01:00
Richard Brooksby
cae4514c1b Merging branch/2016-03-13/defer-write-barrier into master sources.
Copied from Perforce
 Change: 190380
 ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
d161c0e4ee Forgot shieldhold/shieldrelease in tracecondemnzones. caught by hot builds of amcssth.
Copied from Perforce
 Change: 190344
 ServerID: perforce.ravenbrook.com
2016-03-23 15:48:58 +00:00
Richard Brooksby
5bc87114ea Counting shield holds and releases, to ensure they are nested correctly.
Counting the number of unsynced segments in order to check consistency.
Moving the extra shield hold for request.dylan.160098 around actual whitening, and adding a matching shield release.

Copied from Perforce
 Change: 190321
 ServerID: perforce.ravenbrook.com
2016-03-23 11:59:57 +00:00
Richard Brooksby
cf0ac842bc Reorganising shield design and updating.
Renaming ShieldSuspend to ShieldHold and ShieldResume to ShieldRelease to reduce confusion.

Copied from Perforce
 Change: 190320
 ServerID: perforce.ravenbrook.com
2016-03-23 08:20:29 +00:00
Richard Brooksby
fde3757bac Tidying up and adding cross references to shiny new design document.
Copied from Perforce
 Change: 190213
 ServerID: perforce.ravenbrook.com
2016-03-19 23:07:53 +00:00
Richard Brooksby
a6f2928335 Removing bogus todo.
Copied from Perforce
 Change: 190212
 ServerID: perforce.ravenbrook.com
2016-03-19 19:40:00 +00:00
Richard Brooksby
ed69abbd66 Deferring non-urgent fixmes to todos.
Copied from Perforce
 Change: 190190
 ServerID: perforce.ravenbrook.com
2016-03-19 08:34:30 +00:00
Richard Brooksby
7ab4a5c7cf Catch-up merge from master sources to branch/2016-03-13/defer-write-barrier.
Copied from Perforce
 Change: 190175
 ServerID: perforce.ravenbrook.com
2016-03-17 20:14:47 +00:00
Richard Brooksby
8df13d0bff Shield cache that grows. improving commentary.
Copied from Perforce
 Change: 190160
 ServerID: perforce.ravenbrook.com
2016-03-17 16:55:14 +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
47dbed0eee Tidying up naming of write barrier deferral.
Copied from Perforce
 Change: 189960
 ServerID: perforce.ravenbrook.com
2016-03-13 13:26:24 +00:00
Richard Brooksby
17b529001b Fixing incomplete merge that missed out disabling the write barrier, but corrupted the segment summaries.
Copied from Perforce
 Change: 189954
 ServerID: perforce.ravenbrook.com
2016-03-13 12:16:01 +00:00
Richard Brooksby
06af849502 Integrating write barrier deferral changes from branch/2014-08-18/non-incremental.
p4 integrate branch/2014-08-18/non-incremental/...@186975,186988 branch/2016-03-13/defer-write-barrier/...

Copied from Perforce
 Change: 189943
 ServerID: perforce.ravenbrook.com
2016-03-13 11:27:21 +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
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
Richard Brooksby
07a1290f3e Eliminating closure_size from area scanners and root registration functions, as it isn't all that useful.
Copied from Perforce
 Change: 189491
 ServerID: perforce.ravenbrook.com
2016-03-01 15:59:06 +00:00
Richard Brooksby
998a11b45a Catch-up merge from master sources to branch/2015-09-04/stack.
Copied from Perforce
 Change: 189370
 ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +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
8a4e5ab290 Moving scanning accounting to tracescanarea and creating analogous formatscan.
Copied from Perforce
 Change: 189325
 ServerID: perforce.ravenbrook.com
2016-02-19 12:11:50 +00:00
Richard Brooksby
0f8bee3762 Detabifying code and restructuredtext files.
Copied from Perforce
 Change: 189309
 ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +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
6b7c5f3d74 Lifting assumptions about area scanners closer to interface.
Copied from Perforce
 Change: 189191
 ServerID: perforce.ravenbrook.com
2016-02-15 16:46:09 +00:00
Richard Brooksby
16bde84a68 Generalising tracescanarea to be a checking wrapper for all area scanners.
Copied from Perforce
 Change: 189190
 ServerID: perforce.ravenbrook.com
2016-02-15 15:44:57 +00:00
Richard Brooksby
a3fdda4678 Lifting and generalising area scanners to allow flexible tagging schemes.
Copied from Perforce
 Change: 189189
 ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Richard Brooksby
b6be181e15 Lifting area scanners into client-side code.
These versions also produce tighter loops under Clang.

Copied from Perforce
 Change: 189188
 ServerID: perforce.ravenbrook.com
2016-02-14 00:57:28 +00:00
Richard Brooksby
65c32e5965 Fixing misuse of format header offset to decode tagging. see <https://info.ravenbrook.com/mail/2016/02/11/17-20-12/0/> point 5.
Copied from Perforce
 Change: 189134
 ServerID: perforce.ravenbrook.com
2016-02-11 21:32:41 +00:00
Richard Brooksby
c8fed5bb8d Renaming tracescanareamasked to tracescanareatagged
Copied from Perforce
 Change: 189133
 ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00:00
Richard Brooksby
a0e001c000 Catch up merge from master sources.
Copied from Perforce
 Change: 189130
 ServerID: perforce.ravenbrook.com
2016-02-10 21:10:25 +00:00
Gareth Rees
6521d927eb Add accesssetcheck and check accessset arguments.
Copied from Perforce
 Change: 188251
 ServerID: perforce.ravenbrook.com
2015-09-04 20:15:36 +01:00
Gareth Rees
edf30c06b4 New function mps_root_create_reg_masked applies a mask and pattern test to all words in registers and on the stack when scanning them. this supports tagged references in these locations.
Consistently use the type "Word *" for pointers into the stack or into saved registers.
Remove TraceScanAreaTagged.

Copied from Perforce
 Change: 188231
 ServerID: perforce.ravenbrook.com
2015-09-04 12:22:03 +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