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

188 commits

Author SHA1 Message Date
Richard Brooksby
1efb458183 Removing bogus todo.
Copied from Perforce
 Change: 190212
 ServerID: perforce.ravenbrook.com
2016-03-19 19:40:00 +00:00
Richard Brooksby
7ee20c87a6 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
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
Richard Brooksby
83fc7866c9 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
0b3c65766e 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
54de13427b 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
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
14774ccd06 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
3804af1803 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
078ac268d5 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
b929dbbe4c 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
4487895475 Detabifying code and restructuredtext files.
Copied from Perforce
 Change: 189309
 ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Richard Brooksby
f8341520c2 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
ae80015f4b 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
7df6c140f8 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
85a2d8683f 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
0277d49079 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
27730a09d7 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
31870a9b95 Renaming tracescanareamasked to tracescanareatagged
Copied from Perforce
 Change: 189133
 ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00:00
Richard Brooksby
aff58a3f60 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
144990c99d 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
ea6250898a 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
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
85595290d3 Accumulate trace metrics in arenapark.
Copied from Perforce
 Change: 188208
 ServerID: perforce.ravenbrook.com
2015-09-03 11:50:28 +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
837818ccb4 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
32acad85ea 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
23dda3d644 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
2d0f425428 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
David Lovemore
476ce386fe Added more control over write barrier. in particular separated scans after a hit.
Copied from Perforce
 Change: 186988
 ServerID: perforce.ravenbrook.com
2014-08-27 11:21:18 +01:00
David Lovemore
d2439c4be7 Added experimental control over write barrier eagerness.
The write barrier is only raised after three unnecessary scans.

Copied from Perforce
 Change: 186975
 ServerID: perforce.ravenbrook.com
2014-08-21 15:53:57 +01:00
David Lovemore
a1d1c3ff6e Use write barrier in incremental mode.
This was previously completely disabled.

Copied from Perforce
 Change: 186973
 ServerID: perforce.ravenbrook.com
2014-08-21 14:03:09 +01:00
David Lovemore
9da3ff7bee Add mps_key_arena_incremental option.
Avoid read and write barrier in non-incremental mode.
Add --non-incremental option to gcbench

Copied from Perforce
 Change: 186969
 ServerID: perforce.ravenbrook.com
2014-08-20 13:03:20 +01:00
David Lovemore
2d10c3a141 Collections now non-incremental. simple change to tracepoll to make collections do work until they are finished.
Copied from Perforce
 Change: 186964
 ServerID: perforce.ravenbrook.com
2014-08-18 12:06:03 +01:00
Gareth Rees
b0d20ed749 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
c71e35f3c1 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
9ed5301da2 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
c2c38dedcc 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
6aae3bfb23 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
5f84d4c3db 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
b2f8c11ebb 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
a4611cb411 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
95ee3a4568 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
920a58cc29 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
2b41ec58db 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
Gareth Rees
add3e4bf93 Consistent order stream, depth.
Copied from Perforce
 Change: 186001
 ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00