Richard Kistruck
70998dd894
Mps br/timing zcoll.c: start to write the "catalog" example client, and find it already gives some non-obvious results.
...
Copied from Perforce
Change: 167227
ServerID: perforce.ravenbrook.com
2009-01-27 14:14:11 +00:00
Richard Kistruck
6c3156fa91
Mps br/timing zcoll.c: move arenasize and rootspace into script;
...
showStatsAscii uses ascii-graphics to show collections
Copied from Perforce
Change: 167211
ServerID: perforce.ravenbrook.com
2009-01-23 17:31:51 +00:00
Richard Kistruck
ee6d463a74
Mps br/timing zcoll.c: get() reports collection statistics
...
also (in zcoll's tiny script language) tidy up Make() command.
Copied from Perforce
Change: 167196
ServerID: perforce.ravenbrook.com
2009-01-21 16:29:40 +00:00
Richard Kistruck
acceb5c41f
Mps br/timing zcoll.c: remove temporary rnd()-test code
...
Copied from Perforce
Change: 167193
ServerID: perforce.ravenbrook.com
2009-01-21 14:25:43 +00:00
Richard Kistruck
7598c0ff41
Mps br/timing testlib.c: polish comments and code (no functionality change)
...
Copied from Perforce
Change: 167192
ServerID: perforce.ravenbrook.com
2009-01-21 14:19:38 +00:00
Richard Kistruck
b27e4ff179
Mps br/timing (fix warnings "... may be used uninitialized"):
...
trace.c, tract.c: initialise variable to NULL
Copied from Perforce
Change: 167191
ServerID: perforce.ravenbrook.com
2009-01-21 14:17:56 +00:00
Richard Kistruck
7cc4b77b6a
Mps br/timing testlib.c: fix warning ("... may be used uninitialized")
...
Copied from Perforce
Change: 167188
ServerID: perforce.ravenbrook.com
2009-01-21 13:20:20 +00:00
Richard Kistruck
cd3c824df3
Mps br/timing rnd():
...
Use a = 48271. Use fast implementation. Much improved verification by rnd_verify().
Copied from Perforce
Change: 167182
ServerID: perforce.ravenbrook.com
2009-01-20 18:23:53 +00:00
Richard Kistruck
e486078a79
Mps br.timing: testlib randomize() was wrong (simply discarding the first 0..32000 values is a throughly defective way to seed the generator). correct it to simply use timestamp (modulo m) as the initial seed, and then iterate 10 times.
...
rnd(): add notes, and create rnd_verify() to confirm implementation is correct.
Copied from Perforce
Change: 167181
ServerID: perforce.ravenbrook.com
2009-01-20 15:59:32 +00:00
Richard Kistruck
4fc1ea19fb
Mps br/timing zcoll.c: show count of objects made & kept.
...
Also (TEMPORARY) investigate poor seeding of rnd(). Aha --
it's a full-period generator. Therefore the current
randomize is a very poor way to seed it.
Copied from Perforce
Change: 167152
ServerID: perforce.ravenbrook.com
2009-01-13 16:30:27 +00:00
Richard Kistruck
a899c472e1
Mps br/timing zcoll.c: (fix unused variable)
...
Copied from Perforce
Change: 167018
ServerID: perforce.ravenbrook.com
2008-12-22 17:33:05 +00:00
Richard Kistruck
262e9ae530
Mps br/timing zcoll.c: (new test) hack in the basics; build it
...
Copied from Perforce
Change: 167017
ServerID: perforce.ravenbrook.com
2008-12-22 17:31:14 +00:00
Richard Kistruck
228bdebf81
Mps br/timing zmess.c: (clarity tweaks)
...
Copied from Perforce
Change: 167016
ServerID: perforce.ravenbrook.com
2008-12-22 17:30:49 +00:00
Richard Kistruck
3ba57bdcf5
Mps br/timing zmess.c: copyright date
...
Copied from Perforce
Change: 167015
ServerID: perforce.ravenbrook.com
2008-12-22 16:51:55 +00:00
Richard Kistruck
6bd96ccc41
Mps br/timing zcoll.c: (new test) create by integrating from zmess.c
...
Copied from Perforce
Change: 167014
ServerID: perforce.ravenbrook.com
2008-12-22 16:28:32 +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
9457df93db
Mps br/timing: zmess.c subsumes and replaces fin1658a.c
...
Also improve comments in zmess.c.
Copied from Perforce
Change: 166994
ServerID: perforce.ravenbrook.com
2008-12-19 14:47:54 +00:00
Richard Kistruck
b0790cf19a
Mps br/timing: rename z001989a.c as zmess.c
...
Copied from Perforce
Change: 166993
ServerID: perforce.ravenbrook.com
2008-12-19 14:27:48 +00:00
Richard Kistruck
538d4990e7
Mps br/timing: rename z001989a.c as zmessco.c
...
Copied from Perforce
Change: 166991
ServerID: perforce.ravenbrook.com
2008-12-19 14:08:14 +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
bf3c873639
Mps br/timing (revert previous local-only change @166956)
...
Copied from Perforce
Change: 166957
ServerID: perforce.ravenbrook.com
2008-12-16 18:01:18 +00:00
Richard Kistruck
bace1c7bc1
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
2008-12-16 17:59:50 +00:00
Richard Kistruck
33546a36cc
Mps br/timing global.c: report dropped messages (currently in diagnostic varieties only)
...
Copied from Perforce
Change: 166955
ServerID: perforce.ravenbrook.com
2008-12-16 17:54:53 +00:00
Richard Kistruck
99b95ba8da
Mps br/timing (local only) diag.c: turn off tracestart and tracefindgrey
...
Copied from Perforce
Change: 166954
ServerID: perforce.ravenbrook.com
2008-12-16 17:53:46 +00:00
Richard Kistruck
cbe281b73c
Mps br/timing z001989a.c: "!" means get but don't discarrd messages,
...
to check MPS copes okay. See .discard.
Also: improve comments.
Copied from Perforce
Change: 166953
ServerID: perforce.ravenbrook.com
2008-12-16 17:46:45 +00:00
Richard Kistruck
cd8f0ed2ad
Mps br/timing global.c: new diag "globalspreparetodestroy", reports if message queue not empty.
...
Copied from Perforce
Change: 166952
ServerID: perforce.ravenbrook.com
2008-12-16 16:20:16 +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
9092e0b2bb
Mps br/diag arena.c: arenadestroy diag = controldescribe.
...
(p4 integ -f //info.ravenbrook.com/project/mps/branch/2008-03-11/auto_header/code/arena.chttps://github.com/Ravenbrook/mps/issues/3,https://github.com/Ravenbrook/mps/issues/5 arena.c)
Copied from Perforce
Change: 166950
ServerID: perforce.ravenbrook.com
2008-12-16 16:09:43 +00:00
Richard Kistruck
c57379f7ab
Mps br/timing z001989a.c: oops, re-enable test of delayeed getting
...
of messages. Demonstrates fix for job001989.
Copied from Perforce
Change: 166919
ServerID: perforce.ravenbrook.com
2008-12-11 16:08:47 +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
bfdd2aca9f
Mps br/timing: delete w3{al,pp}mv.nmk -- they are long dead.
...
Copied from Perforce
Change: 166907
ServerID: perforce.ravenbrook.com
2008-12-09 16:03:03 +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
Richard Kistruck
0bae3c904b
Mps br/timing z001989a: report() checks found message types match
...
expected ones, in order. Temporarily ifdef-out failing job001989
tests.
Copied from Perforce
Change: 166884
ServerID: perforce.ravenbrook.com
2008-12-06 10:37:38 +00:00
Richard Kistruck
f70f64c16b
Mps br/timing z001989a: get collection begin/end messages.
...
FAILS: thereby demonstrating defect job001989.
Copied from Perforce
Change: 166881
ServerID: perforce.ravenbrook.com
2008-12-05 22:14:56 +00:00
Richard Kistruck
c1419eddb7
Mps br/timing z001989a: make f drop ref for one object, lo or hi alternately.
...
Copied from Perforce
Change: 166880
ServerID: perforce.ravenbrook.com
2008-12-05 21:45:43 +00:00
Richard Kistruck
30c6ad1d7d
Mps br/timing: z001989a.c: each script should run with a new arena
...
and objects. So functions are now:
main
testscriptA
testscriptB
testscriptC
FAILS: intended failure of final script (to show that it does catch
failures).
Copied from Perforce
Change: 166877
ServerID: perforce.ravenbrook.com
2008-12-05 18:04:03 +00:00
Richard Kistruck
eead2f757b
Mps br/timing: new test z001989a.c, for job001989: mps _gc_start messages may cause assert or infinite loop
...
Add it to makefiles.
Make a start on test file:
main
main2
test
testscript
So far, only counts messages, does not get _gc or _gs_start, does not
yet test finalization messages. But works, so useful checkpoint.
Copied from Perforce
Change: 166876
ServerID: perforce.ravenbrook.com
2008-12-05 17:07:26 +00:00
Richard Kistruck
d70fc55aa7
Mps br/timing: new test z001989a.c, for job001989: mps _gc_start messages may cause assert or infinite loop
...
Copied from Perforce
Change: 166875
ServerID: perforce.ravenbrook.com
2008-12-05 14:54:16 +00:00
Richard Kistruck
f44928d383
Mps br/timing: clear up mistakes in fin1658a.c
...
use DYLAN_* and make_dylan_vector facilities from fmtdytst
remove exact root p -- illegal reference to an incomplete object
use stack scanning instead
rename root as myroot to avoid confusion with mps root objects
Copied from Perforce
Change: 166864
ServerID: perforce.ravenbrook.com
2008-12-04 16:24:57 +00:00
Richard Kistruck
e4dfcfcd12
Mps br/timing: hack finaltest.c, to show gcstart bug job001989
...
Copied from Perforce
Change: 166855
ServerID: perforce.ravenbrook.com
2008-12-02 15:03:45 +00:00
Richard Kistruck
b08941eb4f
Mps br/timing: (cosmetic):
...
message.c: rename MessageClocked() as MessageIsClocked()
check.h: better name in future improvement comments
Copied from Perforce
Change: 166801
ServerID: perforce.ravenbrook.com
2008-11-24 16:53:12 +00:00
Richard Kistruck
c7cc77b06b
Mps br/timing: move field "messagetype type" out of messagestruct
...
and into MessageClassStruct.
Copied from Perforce
Change: 166795
ServerID: perforce.ravenbrook.com
2008-11-24 15:44:27 +00:00
Richard Kistruck
92ed922a71
Mps br/timing: exp-166704
...
Copied from Perforce
Change: 166704
ServerID: perforce.ravenbrook.com
2008-11-12 17:00:11 +00:00
Richard Kistruck
a563a76204
Mps br/timing: mps_alert_collection_set() -- client sets a callback
...
function; MPS calls it synchronously on collection start/stop
(immediately after posting start/stop message). The callback
receives two ints: alertcode (start|stop; see mps.h), and whycode
(trace->why). Note: callback is also called for heap walk
start/stop.
amcss.c: show start/stop alerts.
Copied from Perforce
Change: 166703
ServerID: perforce.ravenbrook.com
2008-11-12 15:07:04 +00:00
Richard Kistruck
08fb5a0526
Mps br/timing: messageclocked(), used in messagecheck and to prevent
...
numerous messages (namely: finalization messages) being timestamped.
Copied from Perforce
Change: 166702
ServerID: perforce.ravenbrook.com
2008-11-12 10:02:52 +00:00
Richard Kistruck
c2d5420ea6
Mps br/timing: new clocknow() wrapper for mps_clock(), clockspersec();
...
use Clock in arena step (not Word).
Copied from Perforce
Change: 166701
ServerID: perforce.ravenbrook.com
2008-11-12 09:26:48 +00:00