1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 23:31:55 -08:00
Commit graph

552 commits

Author SHA1 Message Date
Richard Kistruck
bf80a3a11d Mps br/padding: new pooltraceendmethod: do end-of-trace work
Tracer calls PoolTraceEnd() when the trace is TraceFINISHED.
 AbstractPoolClass uses PoolTrivTraceEnd -- a NOOP. [mpm.h, mpmst.h, mpmtypes.h, pool.c, poolabs.c]
 AMC overrides with AMCTraceEnd, to emit diagnostic on how well the trace went! [poolamc.c]

Copied from Perforce
 Change: 168478
 ServerID: perforce.ravenbrook.com
2009-08-20 17:44:16 +01:00
Richard Kistruck
1c3940b99a Mps br/padding zcoll.c: change bigsmall() test to bigdropsmallambig() --
creates a big object and drops the ref to it, followed by a small object and keeps an ambig ref to it (to nail the AMCSeg it is in).
Loops 100 times.  This is for testing job001811 changes.

Copied from Perforce
 Change: 168451
 ServerID: perforce.ravenbrook.com
2009-08-18 17:14:19 +01:00
Richard Kistruck
9821bdea02 Mps br/padding diag: make globalsdescribe only call pooldescribe for amc, please
Copied from Perforce
 Change: 168357
 ServerID: perforce.ravenbrook.com
2009-07-24 17:03:59 +01:00
Richard Kistruck
a16986e978 Mps br/padding: oops, undo accidental submit (in changelist 167809) of local-only modifications to xci3gc.gmk
Copied from Perforce
 Change: 167810
 ServerID: perforce.ravenbrook.com
2009-04-17 17:49:26 +01:00
Richard Kistruck
8931f6f510 Mps br/padding diagsystem: diag > buf? set flag, truncate, force output
(instead of asserting)

Copied from Perforce
 Change: 167809
 ServerID: perforce.ravenbrook.com
2009-04-17 17:45:27 +01:00
Richard Kistruck
23bd972843 Mps br.padding: per-seg padstats; report poolsum- totals in amcdescribe.
Copied from Perforce
 Change: 167808
 ServerID: perforce.ravenbrook.com
2009-04-17 17:09:46 +01:00
Richard Kistruck
c52f391ddd Mps br/padding poolamc.c: (comments only) better comments on amcsegstruct
Copied from Perforce
 Change: 167793
 ServerID: perforce.ravenbrook.com
2009-04-16 11:24:43 +01:00
Richard Kistruck
e3d6c443ad Mps br/padding: diagnostics that show large-segment-padding in action.
zcoll.c: BigSmall() command -- creates small, then big, then small object.
poolamc.c: AMCDescribe(): output AMC Seg maps, showing single big object -- a pad -- at end of large-segment.
arena/config/diag: allow output of AMC Seg maps.

Copied from Perforce
 Change: 167763
 ServerID: perforce.ravenbrook.com
2009-04-09 16:01:21 +01:00
Richard Kistruck
bbd83d25bc Mps br/padding poolamc.c: change amcbufferfill, so that for large requests (> 8 arenaaligns) it gives only requested size; pad the rest. see job001811. the number 8 is provisional...
Copied from Perforce
 Change: 167759
 ServerID: perforce.ravenbrook.com
2009-04-08 16:04:09 +01:00
Richard Kistruck
e2b54a424f Mps br/padding exp-167727
Copied from Perforce
 Change: 167727
 ServerID: perforce.ravenbrook.com
2009-04-02 18:36:50 +01:00
Richard Kistruck
ed1f97ac9f 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
0160f03ac1 Mps br/padding exp-167703
Copied from Perforce
 Change: 167703
 ServerID: perforce.ravenbrook.com
2009-04-01 19:05:29 +01:00
Richard Kistruck
fa6fd160ad 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
bc99db41f9 Mps br/padding: exp-167699
Copied from Perforce
 Change: 167699
 ServerID: perforce.ravenbrook.com
2009-04-01 18:04:30 +01:00
Richard Kistruck
9318d363ef 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
7d6430312d 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
492c2519ef 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
6d25fd294f 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
6553433e1e Mps br/movalot xci3gc.gmk: [temporary: uninvestigated] add -mfpmath=387 because without it mpsicv gives a segv! bizarre. this is with an iphone-derived xcode install. perhaps that's why.
Copied from Perforce
 Change: 167645
 ServerID: perforce.ravenbrook.com
2009-03-25 17:46:05 +00:00
Richard Kistruck
f3adfa322a Mps br/movalot zumr.c: explicitly manually check that colleciton caused object to move, because ra (access stale unmanaged ref) does not seem to cause a fault on xci3gc.
Copied from Perforce
 Change: 167644
 ServerID: perforce.ravenbrook.com
2009-03-25 17:43:33 +00:00
Richard Kistruck
8a44389684 Mps br/movalot plan
Copied from Perforce
 Change: 167643
 ServerID: perforce.ravenbrook.com
2009-03-25 17:25:58 +00:00
Richard Kistruck
ce15c77ade Mps br/movalot zumr.c: cut out unused code, simple as possible
Copied from Perforce
 Change: 167437
 ServerID: perforce.ravenbrook.com
2009-02-20 14:33:21 +00:00
Richard Kistruck
b36ca5fd61 Mps br/movalot zumr.c: use strncmp for script parsing
Copied from Perforce
 Change: 167406
 ServerID: perforce.ravenbrook.com
2009-02-17 16:53:02 +00:00
Richard Kistruck
a19846856c Mps br/movalot zumr: z(=test) for unmanaged references, the faults they cause, and how the mps can help detect them.
Copied from Perforce
 Change: 167405
 ServerID: perforce.ravenbrook.com
2009-02-17 16:31:15 +00:00
Richard Kistruck
44a59ffd87 mps br/movalot zumr.c (integ from zcoll.c): oops, need to (re-)initialise myroot array for each script, before declaring it a root.
Copied from Perforce
 Change: 167404
 ServerID: perforce.ravenbrook.com
2009-02-17 16:30:20 +00:00
Richard Kistruck
8ee214a573 mps br/movalot zmess.c, zcoll.c (integ from master): oops, need to (re-)initialise myroot array for each script, before declaring it a root.
Copied from Perforce
 Change: 167403
 ServerID: perforce.ravenbrook.com
2009-02-17 16:26:08 +00:00
Richard Kistruck
e71890f15b 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
d25b1ab8e2 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
a0a8d095d0 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
1d72ad233c Mps br/movalot zumr.c: create (integ from zcoll.c)
Copied from Perforce
 Change: 167396
 ServerID: perforce.ravenbrook.com
2009-02-17 13:56:10 +00:00
Richard Kistruck
d5379b26ef 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
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
f8b818a156 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
8a2e1280de 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
b7907a053d 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
ce6846ffa8 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
2a1485e45d 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
c5dc7885d8 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
edb3054ba3 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
3477d797d5 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
f32af8a65a 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
41a67fc94f 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
18bc05a2f4 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
21ee127448 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
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