1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-19 20:30:29 -08:00
Commit graph

16 commits

Author SHA1 Message Date
Gareth Rees
de9b166661 Arenarelease now calls arenapoll (not tracepoll) so that it doesn't break in config_poll_none.
Copied from Perforce
 Change: 185908
 ServerID: perforce.ravenbrook.com
2014-04-30 17:00:11 +01:00
Gareth Rees
cb17267a8e Fix some checkleveldeep assertions:
1. In GlobalsPrepareToDestroy, set arenaGlobals->defaultChain to NULL before calling ChainDestroy, to avoid a failed ChainCheck inside ControlFree.
2. In GlobalsPrepareToDestroy, set arenaGlobals->lock to NULL after destroying it, to avoid a failed LockCheck inside ControlFree.
3. In TraceIdMessagesCreate, set tsMessage[ti] and tMessage[ti] together to avoid a failed TraceIdMessagesCheck inside traceMessageInit.
4. In TracePostStartMessage, set tsMessage[ti] to NULL before calling MessagePost, to avoid a failed TraceStartMessageCheck inside ControlFree.
5. Ditto for TracePostMessage and tMessage[ti].

Copied from Perforce
 Change: 184924
 ServerID: perforce.ravenbrook.com
2014-03-20 23:37:02 +00:00
Richard Brooksby
56d48bbd1d iterating over segments using the pool and segment rings, rather than scanning the tract table, which may be full of irrelevant tracts, especially when non-gc pools are large. see <https://info.ravenbrook.com/mail/2014/01/25/12-16-09/0/>.
Copied from Perforce
 Change: 184120
 ServerID: perforce.ravenbrook.com
2014-01-25 15:33:10 +00:00
Gareth Rees
439a5958b2 Avoid undefined behaviour in ring_elt by using parent (and thus offsetof) instead of deferencing a null pointer. add missing typedef for rememberedsummaryblockstruct. update ring design accordingly.
Copied from Perforce
 Change: 182084
 ServerID: perforce.ravenbrook.com
2013-05-22 16:45:45 +01:00
Gareth Rees
db733f3932 Remove "mps_alert_collection_set" from public interface and remove its implementation and test case. client programs should use the messages interface to find out what the mps is doing.
Copied from Perforce
 Change: 181119
 ServerID: perforce.ravenbrook.com
2013-03-12 14:33:27 +00:00
Richard Brooksby
858e4ac0ac Partial merge of branch/2012-07-23/cet-transform, excluding cet-specific parts.
Copied from Perforce
 Change: 179309
 ServerID: perforce.ravenbrook.com
2012-09-06 17:17:18 +01:00
Richard Kistruck
0110292e21 Mps br/timing: rename mps_alert_collection_*. the correct term for when a new mps operation begins is "begin", and when it ends is "end". (whereas several starts/stops may happen during a single mps operation).
Copied from Perforce
 Change: 167386
 ServerID: perforce.ravenbrook.com
2009-02-16 17:11:05 +00:00
Richard Kistruck
3260800a3a Mps br/timing traceanc.c review and polish:
.whybuf.nul: the last char in the array must be NUL (even if there is another NUL earlier in the buffer).
Message Delete functions set sig to invalid, and call MessageFinish.
TraceIdMessagesDestroy uses message Delete functions.

Copied from Perforce
 Change: 167003
 ServerID: perforce.ravenbrook.com
2008-12-22 14:09:37 +00:00
Richard Kistruck
179962bb9c Mps br/timing traceanc.c: timca_remote: undo testing-only additions
to TraceIdMessagesCreate.

Copied from Perforce
 Change: 166960
 ServerID: perforce.ravenbrook.com
2008-12-17 17:27:01 +00:00
Richard Kistruck
eb1cca20e4 Mps br/timing z001989a.c: timca_remote -- traceidmessagescreate alloc remote control
In low memory situations, ControlAlloc may be unable to allocate 
memory for GC messages.  This needs to work flawlessly, but is 
hard to test.  To simulate it for testing purposes, do macro-magic 
in traceanc.c, before the definition of TraceIdMessagesCreate.
Test all designed behaviour of TraceIdMessagesCreate failing.
See <design/message-gc#lifecycle>.

Copied from Perforce
 Change: 166959
 ServerID: perforce.ravenbrook.com
2008-12-17 17:17:55 +00:00
Richard Kistruck
aac003454d Mps br/timing traceanc.c: tracestartmessagedelete must controlfree,
NOT call traceStartMessageInit.

Copied from Perforce
 Change: 166951
 ServerID: perforce.ravenbrook.com
2008-12-16 16:14:17 +00:00
Richard Kistruck
ac7a39432c Mps br/timing traceidmessages: create them at mps_arena_create time,
re-create them immediately after a trace sends its last message.
Store them, one per TraceId, in ArenaStruct.  Cope correctly if they 
cannot be created (ControlAlloc fails).  Destroy them correctly on 
mps_arena_destroy.  See job001989 and design/message-gc#lifecycle
(not yet written).

Copied from Perforce
 Change: 166918
 ServerID: perforce.ravenbrook.com
2008-12-11 16:06:14 +00:00
Richard Kistruck
f5e8b732ad mps br/timing traceanc: (tidying only) improve comments and variable
names.

Copied from Perforce
 Change: 166915
 ServerID: perforce.ravenbrook.com
2008-12-10 10:32:29 +00:00
Richard Kistruck
72dae9faed Mps br/timing traceanc: trace.c needs tracestartwhytostring
(for .variety.di only, as it happens)

Copied from Perforce
 Change: 166912
 ServerID: perforce.ravenbrook.com
2008-12-09 17:18:09 +00:00
Richard Kistruck
77ea63625a Mps br/timing: traceanc.c -- all this ancillary stuff was making
trace.c very cluttered.  Put it here instead.

Copied from Perforce
 Change: 166911
 ServerID: perforce.ravenbrook.com
2008-12-09 16:55:22 +00:00
Richard Kistruck
b7c8350b53 Mps br/timing traceanc.c (create) ancillary trace-related code that
is not essential to Trace objects.  (p4 integ'd from trace.c to 
preserve ancestry).

Copied from Perforce
 Change: 166900
 ServerID: perforce.ravenbrook.com
2008-12-08 15:37:40 +00:00