Richard Kistruck
2fad7cbe30
Mps br/padding zcoll.c: (remove hack: revert change zcoll.c168574)
...
Copied from Perforce
Change: 168575
ServerID: perforce.ravenbrook.com
GitHub-reference: https://github.com/Ravenbrook/mps/issues/8
2009-09-04 16:53:52 +01:00
Richard Kistruck
783dc5c88d
Mps br/padding zcoll.c: (hack to verify that prlr in amctraceend_pageret diag is correctly detecting pages of large segs by a rest-obj ref)
...
Copied from Perforce
Change: 168574
ServerID: perforce.ravenbrook.com
2009-09-04 16:51:11 +01:00
Richard Kistruck
93a64fb781
Mps br/padding amctraceend: rename pcmx as scm (= insurance cost avoided, upper bound); add scl (= insurance cost paid, upper bound); better comments; use poolalignment accessor
...
Copied from Perforce
Change: 168573
ServerID: perforce.ravenbrook.com
2009-09-04 16:39:19 +01:00
Richard Kistruck
b091caf932
Mps br/padding: example of an "emergency storm" -- cascading emergency traces -- from mpsicv.
...
Copied from Perforce
Change: 168571
ServerID: perforce.ravenbrook.com
2009-09-04 16:05:19 +01:00
Richard Kistruck
e655cda7ab
Mps br/padding poolamc: (tidy) avoid diag-only variable outside diag macro in amctraceend
...
Copied from Perforce
Change: 168564
ServerID: perforce.ravenbrook.com
2009-09-03 17:40:17 +01:00
Richard Kistruck
3c478a2aa1
Mps br/padding poolamc: simplify amcreclaimnailed accounting to use preservedinplacecount for segfree decision and obj1 statistics, instead of bool emptyseg
...
Copied from Perforce
Change: 168563
ServerID: perforce.ravenbrook.com
2009-09-03 17:35:38 +01:00
Richard Kistruck
c3bcfc86c9
Mps br/padding poolamc: pageretstruct -- page-based diags about page retention,
...
emitted as diag AMCTraceEnd_pageret.
Copied from Perforce
Change: 168562
ServerID: perforce.ravenbrook.com
2009-09-03 17:17:50 +01:00
Richard Kistruck
94537515e0
Mps br/padding zcoll: fix round-up bug, ugly logic, and lack of comments in makething() in zcoll.c
...
Copied from Perforce
Change: 168560
ServerID: perforce.ravenbrook.com
2009-09-02 16:53:49 +01:00
Richard Kistruck
cb5290c9ab
Mps br/padding zcoll: fix root_table bug (this development branch only)
...
(introduced in //info.ravenbrook.com/project/mps/branch/2009-03-31/padding/code/zcoll.chttps://github.com/Ravenbrook/mps/issues/4 , changelist 168451)
Now that we have two root tables -- Ambig & Exact -- we had better store them in two separate variables! D'oh.
Bug: single variable "root_table" was used for Ambig, and then re-used for Exact. On clear up, only Exact was mps_root-destroyed, and leaving Ambig still around at mps_arena_destroy. In .variety.ci, after ControlFinish, a CHECKL(RingCheck(&arenaGlobals->rootRing)); tries to access the undestoryed root, even though the ControlPool has been unmapped. This causes seg fault. GDB works fine to show this, with bt.
Fix: two vars; call mps_root_destroy on each.
Copied from Perforce
Change: 168533
ServerID: perforce.ravenbrook.com
2009-08-28 17:36:59 +01:00
Richard Kistruck
1b20a51acd
Mps br/padding des/poolamc: (temporary work-in-progress check-in)
...
Copied from Perforce
Change: 168526
ServerID: perforce.ravenbrook.com
2009-08-27 18:23:42 +01:00
Richard Kistruck
09480c095f
Mps br/padding: lsp tweaks and diag
...
zcoll:
- parameterize BigdropSmall for big-obj size and small-obj ref-type, eg "BigdropSmall(big 28000, small A)"
- Park, to avoid all those minor collections. Explanatory comments.
poolamc.c:
- diags: AMCTraceEnd, AMCTraceEnd_perc (new), AMCTraceEnd_pad_med (new),
- AMCTraceEnd: c Segs/Pages Whiten/Reclaim, cPagesRet(ained)
- AMCTraceEnd_perc: percentage of condemned pages retained by ambig refs
- AMCTraceEnd_pad_med: over-detailed calculations of Gain & Loss for Medium segs,
requiring knowledge of size of obj1 in each seg.
diag.c:
- Just show AMCTraceEnd_perc and AMCTraceEnd_pad_med, for zcoll/BigdropSmall's purposes.
Note: poolamc.c now has several episodes of experimental diagnostic in it.
It's time to re-baseline it from an un-hacked version.
Copied from Perforce
Change: 168512
ServerID: perforce.ravenbrook.com
2009-08-26 17:34:56 +01:00
Richard Kistruck
ff40ad8c7b
Mps br/padding poolamc.c: amcstruct stores per-traceid statistics
...
Currently: whitenCount & reclaimCount, for diag at AMCTraceEnd.
(These aren't interesting in themselves; next task: calculate more interesting per-trace stats).
Copied from Perforce
Change: 168490
ServerID: perforce.ravenbrook.com
2009-08-21 17:59:48 +01:00
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
5648da74a2
Mps br/padding des/poolamc: describe amc pads; describe the retained pad problem (incomplete).
...
Copied from Perforce
Change: 168426
ServerID: perforce.ravenbrook.com
2009-08-12 17:52:30 +01:00
Richard Kistruck
7ef68801eb
Mps br/padding des/poolamc: (integ from master) prepend guide
...
Copied from Perforce
Change: 168424
ServerID: perforce.ravenbrook.com
2009-08-11 17:01:17 +01:00
Richard Kistruck
433d9bc388
Mps des/poolamc: prepend guide, using design/template-with-guide.html.
...
Copied from Perforce
Change: 168423
ServerID: perforce.ravenbrook.com
2009-08-11 16:58:13 +01:00
Richard Kistruck
38e2adf56f
Mps des/poolamc: fix html duplicated anchor names (caused by auto-conversion to html).
...
Copied from Perforce
Change: 168421
ServerID: perforce.ravenbrook.com
2009-08-11 16:49:08 +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
2beccb39cb
Mps br/padding exp-167727.zip
...
Copied from Perforce
Change: 167728
ServerID: perforce.ravenbrook.com
2009-04-02 18:41:56 +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
5222bb2de0
Mps br/padding exp-167703.zip
...
Copied from Perforce
Change: 167704
ServerID: perforce.ravenbrook.com
2009-04-01 19:13:02 +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
f5cc78a9e7
Mps br/padding exp-167699.zip
...
Copied from Perforce
Change: 167701
ServerID: perforce.ravenbrook.com
2009-04-01 18:16:35 +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
29319920b8
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
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