1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-19 01:10:57 -08:00
Commit graph

191 commits

Author SHA1 Message Date
Richard Brooksby
46e49ccff6 Make white table global, maintained in segsetwhite. it can now be shared between traces.
Copied from Perforce
 Change: 190133
 ServerID: perforce.ravenbrook.com
2016-03-17 08:14:37 +00:00
Richard Brooksby
85cb5c814a Reclaim using the white table. also fix logic errors in reclaim using trees.
Copied from Perforce
 Change: 190128
 ServerID: perforce.ravenbrook.com
2016-03-17 02:15:58 +00:00
Richard Brooksby
8bf2b51628 Condemn only visits segments in condemned zones.
Copied from Perforce
 Change: 190127
 ServerID: perforce.ravenbrook.com
2016-03-16 23:54:41 +00:00
Richard Brooksby
0e8e2d6c39 Falling back from white hash table to segment tree if we run out of memory for the table, guaranteeing that collection can't fail due to lack of memory.
Copied from Perforce
 Change: 190110
 ServerID: perforce.ravenbrook.com
2016-03-15 14:14:17 +00:00
Richard Brooksby
6b8cf12878 Merging branch/2016-03-13/without-reservation into branch/2016-03-15/sunrise in order to remove dependency on tractp.
Copied from Perforce
 Change: 190099
 ServerID: perforce.ravenbrook.com
2016-03-15 11:48:16 +00:00
Richard Brooksby
936ff15e5f Replacing segfirst/segnext with tree traversal in tracestart.
Copied from Perforce
 Change: 190082
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
16c70292c2 Replacing segfirst/segnext with tree traversal in arenaexposeremember.
Copied from Perforce
 Change: 190081
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
d72b8a6539 Replacing segfirst/segnext loops with tree traversals in condemn and reclaim.
Copied from Perforce
 Change: 190080
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
db8c72a427 Replace fix segment lookup with existing hash table.
Copied from Perforce
 Change: 190079
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
fb3c20e603 Eliminating segment pointer from tract, and loops over tracts when creating and destroying segments.
Copied from Perforce
 Change: 190078
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
f5778cf8c6 Removing white field from tracts.
Copied from Perforce
 Change: 190075
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +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
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
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
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
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
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
f3cf67c792 New constant rankmin gives the minimum rank. use this (rather than 0 or rankambig) to better express the intention.
Copied from Perforce
 Change: 187156
 ServerID: perforce.ravenbrook.com
2014-10-07 22:31:12 +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
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
cb629746ea Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.
Copied from Perforce
 Change: 186526
 ServerID: perforce.ravenbrook.com
2014-06-12 13:45:22 +01:00
Gareth Rees
cf75884793 Refer to rb's e-mail for potential optimization.
Copied from Perforce
 Change: 186524
 ServerID: perforce.ravenbrook.com
2014-06-12 12:18:30 +01:00
Gareth Rees
de2a30d207 Catch-up merge from master sources @186481 to branch/2014-05-17/chunk-tree.
Copied from Perforce
 Change: 186491
 ServerID: perforce.ravenbrook.com
2014-06-11 13:52:31 +01:00
Gareth Rees
144d1aea03 Catch-up merge from master sources @186213 to branch/2014-05-17/chunk-tree.
Copied from Perforce
 Change: 186214
 ServerID: perforce.ravenbrook.com
2014-05-20 19:11:50 +01:00
Gareth Rees
2f0ef9355d Clarify tracefix logic by unwinding the nested conditions.
Change the arena's chunk tree from a splay tree to an ordinary tree (so that it's not possible to accidentally splay it and leave it unbalanced).
New function TreeFindNext allows us to implement TractFirst and TractNext without having to splay the tree.
Make sure all operations on the chunk tree leave it balanced. But don't balance the tree directly in ChunkFinish() because this is only ever called in a loop where multiple chunks are being deleted from the tre. Instead use the sequence TreeToVine -- iterate and delete -- TreeBalance. The new macro TREE_DESTROY assists with this.
No need any more for ArenaIsReservedAddr, CHUNK_OF_ADDR, TRACT_OF_ADDR.
Update design documentation.

Copied from Perforce
 Change: 186212
 ServerID: perforce.ravenbrook.com
2014-05-20 18:12:37 +01:00
Gareth Rees
04a44878f3 Catch-up merge from master sources @186174 to branch/2014-04-30/poolgen.
Copied from Perforce
 Change: 186185
 ServerID: perforce.ravenbrook.com
2014-05-19 14:59:19 +01:00
Gareth Rees
4d10bb418b Catch-up merge from master sources @186077 to branch/2014-04-23/awl.
Copied from Perforce
 Change: 186110
 ServerID: perforce.ravenbrook.com
2014-05-15 10:17:41 +01:00
Gareth Rees
4c7106cd6f Check the trace argument to tracequantum.
Copied from Perforce
 Change: 186027
 ServerID: perforce.ravenbrook.com
2014-05-12 13:35:21 +01:00
Gareth Rees
8a84937edb Improve formatting of poolgendescribe and tracedescribe.
Add ArenaDescribe calls to amcss and finalcv to get coverage of PoolGenDescribe, TraceDescribe, and MRGDescribe.

Copied from Perforce
 Change: 186010
 ServerID: perforce.ravenbrook.com
2014-05-11 21:13:55 +01:00
Gareth Rees
30f37732a9 Catch-up merge from master sources @185999 to branch/2014-04-17/describe.
Copied from Perforce
 Change: 186003
 ServerID: perforce.ravenbrook.com
2014-05-11 18:33:02 +01:00