1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-25 08:12:11 -07:00
Commit graph

236 commits

Author SHA1 Message Date
Gareth Rees
8ace350062 Merge branch/2016-04-16/trace-gens into the master sources.
Copied from Perforce
 Change: 194685
2018-07-18 18:53:05 +01:00
Gareth Rees
315c0e3a1d Merge branch/2018-07-07/roots-walk into the master sources.
Copied from Perforce
 Change: 194642
2018-07-13 16:41:08 +01:00
Gareth Rees
99260e46d6 Generation's computed mortality has denominator of condemned memory (not new memory), so use the same denominator when predicting the mortality for a trace.
Simpler to compute predicted mortality as casualties/condemned instead of 1 - survivors/condemned.

Copied from Perforce
 Change: 194634
2018-07-13 12:07:54 +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
b1e3bd9932 Improve describe output for generations.
Must take SegBase(seg) before reclaiming the segment in case it gets destroyed.

Copied from Perforce
 Change: 194624
2018-07-12 09:47:29 +01:00
Gareth Rees
21e6672e70 Reclaim the same generations that were condemned.
Copied from Perforce
 Change: 194621
2018-07-12 07:51:04 +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
8d722c4a2b Better position for comment.
Update manual.

Copied from Perforce
 Change: 194511
2018-07-08 08:08:05 +01:00
Gareth Rees
2d7cf3c3d3 In mps_arena_roots_walk, don't call traceaddwhite to whiten a segment, as this calls segwhiten which has undesirable side-effects, including breaking formatting objects walking. instead, call segsetwhite to make the segment white, and set the trace's white summary to the universe.
Add cross-reference from second-stage test in _mps_fix2 so that if the white set test is changed, the roots walking code can be changed to match.
In walkt0, add a smoke test for mps_arena_roots_walk.

Copied from Perforce
 Change: 194507
2018-07-07 22:23:24 +01:00
Gareth Rees
0edb390dc4 Catch-up merge from master sources at changelevel 194456 to branch/2016-03-30/tract-white-elim.
Copied from Perforce
 Change: 194469
2018-07-06 11:06:20 +01:00
Gareth Rees
ba03d79694 Catch-up merge from master sources at changelevel 194449 to branch/2018-06-18/mrgseg.
Copied from Perforce
 Change: 194452
2018-07-05 16:22:24 +01:00
Gareth Rees
d1d282d351 Restore fixclosure together with explanation.
Copied from Perforce
 Change: 194314
2018-06-29 13:54:55 +01:00
Gareth Rees
01baf3cfda New generic function segflip allows the segment to decide how to handle a trace that’s about to flip.
Copied from Perforce
 Change: 194000
2018-06-20 10:23:16 +01:00
Gareth Rees
8ab47f84d1 Remove unused variable pool.
Copied from Perforce
 Change: 193034
 ServerID: perforce.ravenbrook.com
2017-03-30 09:19:54 +01:00
Gareth Rees
b7a490ae32 Move fix and fixemergency methods from pool class to segment class.
Copied from Perforce
 Change: 193023
 ServerID: perforce.ravenbrook.com
2017-03-30 08:09:14 +01:00
Gareth Rees
9734df3505 Remove unused fixclosure field from trace and scanstate structures.
Copied from Perforce
 Change: 193018
 ServerID: perforce.ravenbrook.com
2017-03-30 07:14:10 +01:00
Gareth Rees
00a4ade456 Move scan method from pool class to segment class.
Copied from Perforce
 Change: 193012
 ServerID: perforce.ravenbrook.com
2017-03-29 19:17:17 +01:00
Gareth Rees
db5db0a9f3 Move reclaim method from pool class to segment class.
Copied from Perforce
 Change: 193007
 ServerID: perforce.ravenbrook.com
2017-03-29 17:13:45 +01:00
Gareth Rees
07adf64ebb Move whiten method from pool class to segment class.
Copied from Perforce
 Change: 193002
 ServerID: perforce.ravenbrook.com
2017-03-29 16:22:14 +01:00
Gareth Rees
47a1715c2d Move greyen method from pool class to segment class.
Copied from Perforce
 Change: 192997
 ServerID: perforce.ravenbrook.com
2017-03-29 15:58:32 +01:00
Gareth Rees
1dc5ac742a Move the blacken method from the pool class to the segment class.
Copied from Perforce
 Change: 192994
 ServerID: perforce.ravenbrook.com
2017-03-29 15:32:17 +01:00
Gareth Rees
587a3efb20 Remove unused pool class methods tracebegin and traceend.
Remove unused event AMCTraceEnd.
The fixEmergency method must have the same type as the fix method because of how they are used.

Copied from Perforce
 Change: 192636
 ServerID: perforce.ravenbrook.com
2016-10-19 14:07:20 +01:00
Gareth Rees
91551170b1 Remove return statements that have no effect.
Copied from Perforce
 Change: 192529
 ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
7473718e0a 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
331ec20beb 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
55adbe705d 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
fa2fced306 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
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
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
5581b66e91 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
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
612a45423d 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
942bee5823 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
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
Gareth Rees
a0661db49e 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
761d212e14 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
e27b3ce6a8 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
4ed74af735 Removing white field from tracts.
Copied from Perforce
 Change: 190536
 ServerID: perforce.ravenbrook.com
2016-03-30 15:36:18 +01:00
Richard Brooksby
ca2e471ac2 Fetching whiteness for gc segments from the segment rather than the tract, to see if it affects performance.
Copied from Perforce
 Change: 190535
 ServerID: perforce.ravenbrook.com
2016-03-30 15:36:18 +01:00
Richard Brooksby
ff35af0f15 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
bcd30514d9 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
541ca77662 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
3ed0bc9440 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
b8c51be19d 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
1efb458183 Removing bogus todo.
Copied from Perforce
 Change: 190212
 ServerID: perforce.ravenbrook.com
2016-03-19 19:40:00 +00:00
Richard Brooksby
dce6e063d1 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
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
Richard Brooksby
7880c31aa9 Shield cache that grows. improving commentary.
Copied from Perforce
 Change: 190160
 ServerID: perforce.ravenbrook.com
2016-03-17 16:55:14 +00:00