1
Fork 0
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:
Richard Kistruck 2008-12-16 17:59:50 +00:00
parent 1c258e7ce8
commit aa8add5e4e
2 changed files with 6 additions and 25 deletions

View file

@ -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);*/
}

View file

@ -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");