1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

3157 commits

Author SHA1 Message Date
Richard Kistruck
4acbadd6e2 Mps br/padding: more diagnostic for how padding survives a collection.
More diag:
  - new traceSetSignalEmergency;
  - new AMCFix_amcSegCreateNailboard and AMCHeaderFix_amcSegCreateNailboard
    (note: the other, unreported, route to becoming boarded is because of a (mutator) buffer);
  - in traces: show SegBase and zone;
   - in TraceStart: show genZoneSets;
   - in amcReclaimNailed: show cbpip and cbpad.
 zcoll.c:
   - sizemethod 1 to Make command: occasionally makes >1MiB objects;
   - declare root_table all MPS_RANK_AMBIG.

Copied from Perforce
 Change: 167726
 ServerID: perforce.ravenbrook.com
2009-04-02 18:29:10 +01:00
Richard Kistruck
125e02aa75 Mps br/padding exp-167703
Copied from Perforce
 Change: 167703
 ServerID: perforce.ravenbrook.com
2009-04-01 19:05:29 +01:00
Richard Kistruck
46b4a43310 Mps br/padding diag.c: show some tracestart diag as well (because, res, com, alignment)
Copied from Perforce
 Change: 167702
 ServerID: perforce.ravenbrook.com
2009-04-01 19:03:27 +01:00
Richard Kistruck
d6842e1e40 Mps br/padding: exp-167699
Copied from Perforce
 Change: 167699
 ServerID: perforce.ravenbrook.com
2009-04-01 18:04:30 +01:00
Richard Kistruck
bd4ec9d031 Mps br/padding poolamc.c: (char) casts needed for vc6.0 compiler on platform.w3i3mv
Copied from Perforce
 Change: 167698
 ServerID: perforce.ravenbrook.com
2009-04-01 17:52:55 +01:00
Richard Kistruck
5762b1d33e Mps br/padding poolamc.c: (char) casts needed for vc6.0 compiler on platform.w3i3mv
Copied from Perforce
 Change: 167697
 ServerID: perforce.ravenbrook.com
2009-04-01 17:48:49 +01:00
Richard Kistruck
cb58df57a7 Mps br/padding poolamc.c: diags for condemn and reclaim of big segs (>= 1mib)
Copied from Perforce
 Change: 167696
 ServerID: perforce.ravenbrook.com
2009-04-01 17:36:58 +01:00
Richard Kistruck
af4feae9c0 Mps br/padding poolamc.c: diags for condemn and reclaim of big segs (> 1mib)
Copied from Perforce
 Change: 167695
 ServerID: perforce.ravenbrook.com
2009-04-01 17:34:31 +01:00
Richard Kistruck
00dbda759f Mps: branching to create mps/branch/2009-03-31/padding
Copied from Perforce
 Change: 167689
 ServerID: perforce.ravenbrook.com
2009-03-31 17:00:35 +01:00
Richard Kistruck
424d63180a Mps master zmess.c, zcoll.c (integ from br/timing): oops, need to (re-)initialise myroot array for each script, before declaring it a root.
Copied from Perforce
 Change: 167402
 ServerID: perforce.ravenbrook.com
2009-02-17 16:21:25 +00:00
Richard Kistruck
95e88e9584 Mps br/timing zcoll.c: oops, need to (re-)initialise myroot array for each script, before declaring it a root (integ from zmess.c).
Copied from Perforce
 Change: 167400
 ServerID: perforce.ravenbrook.com
2009-02-17 16:15:59 +00:00
Richard Kistruck
88476506b0 Mps br/timing zmess.c: oops, need to (re-)initialise myroot array for each script, before declaring it a root.
Copied from Perforce
 Change: 167397
 ServerID: perforce.ravenbrook.com
2009-02-17 14:47:40 +00:00
Richard Kistruck
f643b255d7 Mps master (integ from br/timing):
Messages:
  - _gc_start and _gc now always ControlAlloc'd, new lifecycle, much better code.  Fixes job001989.
  - New test zmess, which tests generating and getting MPS messages.  Tests job001989, and also job001658 (subsumes fin1658a.c).
  - New file traceanc.c, for ancillary code extracted from trace.c.
  - Diag (.variety.di) at ArenaDestroy, say if message queue non-empty.
Randomize() and rnd() now much better seeding, improved (more random) generator, thorough verification, faster.
New test zcoll (incomplete), which tests MPS collections, their timing, and feedback about them.
MPS_ALERT_COLLECTION_START/STOP renamed as MPS_ALERT_COLLECTION_BEGIN/END

Copied from Perforce
 Change: 167392
 ServerID: perforce.ravenbrook.com
2009-02-17 13:01:39 +00:00
Richard Kistruck
920390c31a 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
dda10588af Mps br/timing finaltest.c: (comment only) warn that this file has been hacked to be a bad client
Copied from Perforce
 Change: 167384
 ServerID: perforce.ravenbrook.com
2009-02-16 16:41:20 +00:00
Richard Kistruck
c7f6b4cb61 Mps br/timing poolamc.c: (revert temporary hack @167343 =) make amcnailgetmark() faithfully report presence of mark. (this removes the temporary support for ambiguous interior pointers).
Copied from Perforce
 Change: 167382
 ServerID: perforce.ravenbrook.com

GitHub-reference: https://github.com/Ravenbrook/mps/issues/4
2009-02-16 16:33:38 +00:00
Richard Kistruck
609575d58d Mps br/timing zcoll.c: catalog example is broken because of
unmanaged ambiguous interior pointers (when compiled with 
moderate optimization), so comment it out for now.

Copied from Perforce
 Change: 167381
 ServerID: perforce.ravenbrook.com
2009-02-16 16:26:39 +00:00
Richard Kistruck
3783f78d62 Mps br/timing test-runner.py: add new test "zmess", which tests generating and getting mps messages.
Copied from Perforce
 Change: 167380
 ServerID: perforce.ravenbrook.com
2009-02-16 16:25:31 +00:00
Richard Kistruck
d4fd999c67 Mps br/timing zcoll.c: (fix compiler warning for w3i3m9) vc9 warns that sscanf is unsafe; disable this warning for zcoll.c. see also job001934.
Copied from Perforce
 Change: 167379
 ServerID: perforce.ravenbrook.com
2009-02-16 14:57:54 +00:00
Richard Kistruck
3871ef4975 Mps br/timing testlib.c: (fix compiler warning) msvc thinks "local variable 'r' may be used without having been initialized"
Copied from Perforce
 Change: 167378
 ServerID: perforce.ravenbrook.com
2009-02-16 14:45:11 +00:00
Richard Kistruck
90bebb48c1 Mps br/timing zcoll: show gc timing, by printing mps_message_clock value (currently formatted for centiseconds, ie. clock() on unix)
Copied from Perforce
 Change: 167351
 ServerID: perforce.ravenbrook.com
2009-02-06 22:14:35 +00:00
Richard Kistruck
1d6d74650b Mps br/timing notes: disassembly of gcc -o1 output showing ambiguous interior pointers.
Copied from Perforce
 Change: 167350
 ServerID: perforce.ravenbrook.com
2009-02-06 17:42:27 +00:00
Richard Kistruck
c96ca2c294 Mps br/timing zcoll.c: (comments only) briefly describe script commands
Copied from Perforce
 Change: 167349
 ServerID: perforce.ravenbrook.com
2009-02-06 17:38:34 +00:00
Richard Kistruck
32b4b6d7bb mps br/timing poolamc.c: [temporary code] in order to allow ambig interior pointers to preserve objects in place, make amcnailgetmark() always return true. this works: ambig interior pointers are sufficent to preserve in place the object they point into.
Copied from Perforce
 Change: 167343
 ServerID: perforce.ravenbrook.com
2009-02-05 15:51:30 +00:00
Richard Kistruck
4d55c060c8 Mps br/timing poolamc.c: [back out previous broken code] revert to original poolamc.c
Copied from Perforce
 Change: 167342
 ServerID: perforce.ravenbrook.com
2009-02-05 15:48:58 +00:00
Richard Kistruck
7f02a94cbc Mps br/timing poolamc.c: [broken code] attempt to never use nailboards, aiming to fall back to nailing whole seg, thereby allowing ambig interior pointers to presrve objects in place. does not work.
Copied from Perforce
 Change: 167341
 ServerID: perforce.ravenbrook.com
2009-02-05 15:47:48 +00:00
Richard Kistruck
f7ccd48794 Mps br/timing zcoll catalog client:
1. CatalogCheck(), which verifies the tree.
2. Don't set empty object slots to NULL -- make_dylan_vector() has already set them to a DYLAN_INT(0), which means dylan's fmt_scan ignores them.
3. fflush(stdout) more.

Copied from Perforce
 Change: 167321
 ServerID: perforce.ravenbrook.com
2009-02-04 17:40:54 +00:00
Richard Kistruck
866d6d4557 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
2f40abb992 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
dbd64e2be4 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
b8ad68dee5 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
bd9a7bc50c 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
f41dc7fc22 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
22fdca2d3a 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
b3e30c49e6 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
6d281f71b5 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
9f95ae41de 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
ba719e96d5 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
d0349139d6 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
06c2e99a20 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
2e5c4488c4 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
745737ba31 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
9287a84bc8 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
0ca8d085dd 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
4a9aeda2e0 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
601e74637c 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
a6caf88981 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
3a6f6d10f2 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
33b07a0011 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
aa8add5e4e 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