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