mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-25 08:12:11 -07:00
Mps br/timing (local only - must revert) hack trace.c so it does not
pre-allocate GC messages after the first trace, and verify that everything still works, droppedMessages is incremented, and reported as non-zero (in diagnostic varieties only) by global.c on ArenaDestroy. Test passes. Copied from Perforce Change: 166956 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
1c258e7ce8
commit
aa8add5e4e
2 changed files with 6 additions and 25 deletions
|
|
@ -804,7 +804,7 @@ static void traceReclaim(Trace trace)
|
|||
trace->state = TraceFINISHED;
|
||||
TracePostMessage(trace); /* trace end */
|
||||
/* Immediately pre-allocate messages for next time; failure is okay */
|
||||
(void)TraceIdMessagesCreate(arena, trace->ti);
|
||||
/*(void)TraceIdMessagesCreate(arena, trace->ti);*/
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -421,31 +421,12 @@ int main(int argc, char **argv)
|
|||
/* The most basic scripts */
|
||||
testscriptA(".");
|
||||
testscriptA("Cbe.");
|
||||
testscriptA("Cbe.Cbe.");
|
||||
|
||||
/* Get messages, but not promptly */
|
||||
testscriptA(".Cbe.CbeCbeCbe.");
|
||||
|
||||
/* Ungot messages at ArenaDestroy */
|
||||
testscriptA("Cbe");
|
||||
testscriptA("Cbe.CbeCbeCbe");
|
||||
|
||||
/* Fail to call mps_message_discard */
|
||||
testscriptA("Cbe!");
|
||||
testscriptA("Cbe!CbeCbeCbe!");
|
||||
|
||||
/* Simple finalization
|
||||
*
|
||||
* These tests rely on the particular order in which the "F" command
|
||||
* nulls-out references. Not every "F" makes an object finalizable.
|
||||
* See .keep-alive.
|
||||
*/
|
||||
testscriptA("FFCbffe.");
|
||||
testscriptA("FFCbffe.FFCbffe.");
|
||||
testscriptA("FFCbffe.FCbe.F.Cbffe.FFCbfe.FF.Cbfffe.");
|
||||
|
||||
/* Various other scripts */
|
||||
testscriptA("Cbe.FFCbffe.Cbe");
|
||||
/* SPECIAL SCRIPTS to work with a traceanc.c hacked to drop GC messages */
|
||||
testscriptA("Cbe.CC.");
|
||||
testscriptA("CCCCCbe!");
|
||||
testscriptA("FFCbffe.FFCff.");
|
||||
testscriptA("CbeFFCff.C");
|
||||
|
||||
fflush(stdout); /* synchronize */
|
||||
fprintf(stderr, "\nConclusion: Failed to find any defects.\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue