1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-23 23:36:27 -07:00
Commit graph

75 commits

Author SHA1 Message Date
David Lovemore
64192bbfa6 Adding casts to varargs in diagnostic output
Copied from Perforce
 Change: 178092
 ServerID: perforce.ravenbrook.com
2012-05-03 15:17:04 +01:00
Richard Brooksby
82c29cfd3e Fixing up occurences of "unsigned long" in the main mps and test code so that we no longer assume that "unsigned long" is large enough for a pointer or size, or that it's the longest available integer type, since these are not true on 64-bit windows.
Copied from Perforce
 Change: 178021
 ServerID: perforce.ravenbrook.com
2012-04-23 16:20:40 +01:00
Richard Kistruck
6c29372e90 Mps br/padding exp-168778: amclargesegpages = 8 again.
(Also: report value of AMCLargeSegPAGES in AMCTraceEnd_pageret diag output).

Copied from Perforce
 Change: 168778
 ServerID: perforce.ravenbrook.com
2009-09-28 15:02:46 +01:00
Richard Kistruck
99c93807ba Mps br/padding amc lsp: rename pagespersegmediumlimit as amclargesegpages, and make it a define in config.h. corrections in des/poolamc.
Copied from Perforce
 Change: 168704
 ServerID: perforce.ravenbrook.com
2009-09-18 16:15:50 +01:00
Richard Kistruck
f2da06ca25 Mps br/padding amctraceend_pageret: add srm and srl = segments retained medium & large
Copied from Perforce
 Change: 168689
 ServerID: perforce.ravenbrook.com
2009-09-17 17:20:16 +01:00
Richard Kistruck
68c752a037 Mps br/padding:
poolamc.c tidy up:
  neater implementation of obj1pip (amcReclaimNailed)
  neater implementation of amcResetTraceIdStats -- no need for a function any more
  delete lots of obsolete temporary diagnostic (superseded by AMCTraceEnd_pageret)
  a few more avers (especially on buffer empty)
also revert temporary diagnostic changes in arena.c, config.h, diag.c, global.c
diag.c: fix diag-buffer at 100 screenfuls (200000 chars).
zcoll.c: reinstate Make 50000 with occasional big objs.

Copied from Perforce
 Change: 168688
 ServerID: perforce.ravenbrook.com
2009-09-17 16:59:39 +01:00
Richard Kistruck
84c078b580 Mps br/padding poolamc: rename largeseg as pagespersegmediumlimit
Copied from Perforce
 Change: 168663
 ServerID: perforce.ravenbrook.com
2009-09-14 17:22:45 +01:00
Richard Kistruck
8f7d39135d Mps br/padding amctraceend_pageret: only output if pret >= pretmin, currently 100 pages.
Also: say page size and pRetMin in diags; more AVERs

Copied from Perforce
 Change: 168614
 ServerID: perforce.ravenbrook.com
2009-09-09 17:00:28 +01:00
Richard Kistruck
5ccbb6a909 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
9a4c8e0335 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
efbefd8b66 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
24594df596 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
6465ba2828 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
280e956165 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
4fbe1238af 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
2d29a41b67 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
1811bafa10 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
ae056013ed 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
9763512ab3 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
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
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
fc78b1a10a Mps br/auto_header: (cosmetic) tidy up, add aver unbuffered.
Copied from Perforce
 Change: 164884
 ServerID: perforce.ravenbrook.com
2008-04-30 16:50:12 +01:00
Richard Kistruck
e53943f8fd Mps br auto_header: cannot segfree nailed seg if it has a buffer
Copied from Perforce
 Change: 164851
 ServerID: perforce.ravenbrook.com
2008-04-29 15:09:12 +01:00
Richard Kistruck
28f802331a Mps br auto_header (not the right place for this): fix .nailboard.limitations.middle;
see mail from Configura.

Copied from Perforce
 Change: 164849
 ServerID: perforce.ravenbrook.com
2008-04-29 14:52:35 +01:00
Richard Kistruck
7aee83ee70 Mps br/auto_header: poolamc.c: [job001784] permanent fix: drop tabs, ifdef, and ephemeral diag; update copyright date
Copied from Perforce
 Change: 164503
 ServerID: perforce.ravenbrook.com
2008-03-26 14:47:57 +00:00
Richard Kistruck
c629919d2c Mps br/auto_header:
Add diagnostics to show ControlPool leak when deallocating nailboards with auto_header format.
See logfiles added in this changelist.

Copied from Perforce
 Change: 164383
 ServerID: perforce.ravenbrook.com
2008-03-11 19:53:05 +00:00
Richard Kistruck
900994b380 Mps br/auto_header: trial fix of job001784 "amc pool + auto_header format: nailboards leak controlpool memory"
Passes test_runner.py (as it did before the fix).

Copied from Perforce
 Change: 164379
 ServerID: perforce.ravenbrook.com
2008-03-11 19:18:50 +00:00
Richard Kistruck
6779452f8c Mps master: poolamc.c amcfix, amcheaderfix: correct bad shield
code (but badness was being masked by the shield cache; see 
job001706).  ShieldExpose(seg) once, and ShieldCover it once, so 
that _all_ .exposed.seg statements are between Expose and Cover.

Copied from Perforce
 Change: 163171
 ServerID: perforce.ravenbrook.com
2007-08-23 17:50:31 +01:00
Richard Kistruck
76d70ec7c2 Mps master: poolamc.c amcfix, amcheaderfix: (comment only) tag
with ".exposed.seg" statements that require that "seg" (that is: 
the 'from' seg) has been ShieldExposed.  (Preparatory to fixing 
job001706).

Copied from Perforce
 Change: 163170
 ServerID: perforce.ravenbrook.com
2007-08-23 17:28:16 +01:00
Richard Kistruck
91fa2ded52 Mps br/diagtag: diag.c: (comment only) add to todo list: deprecate
un-tagged diags, every diag should end with \n.
poolamc.c: fix spelling of amcScanNailed_loop diag.

Copied from Perforce
 Change: 163125
 ServerID: perforce.ravenbrook.com
2007-08-14 15:59:19 +01:00
Richard Kistruck
9f284fef35 Mps br/diagtag:
locus.c: slightly better ChainCondemnAuto diag.
poolamc.c: tag amcScanNailed-loop diag (as provoked by mpsicv).
(diag.c: (diag filter only) hide amcScanNailed-loop diag)

Copied from Perforce
 Change: 163082
 ServerID: perforce.ravenbrook.com
2007-08-10 10:53:32 +01:00
David Jones
d5e3d8abb2 Mps: merging branch/2007-07-12/ramprel/ branch.
Copied from Perforce
 Change: 162941
 ServerID: perforce.ravenbrook.com
2007-07-19 15:52:37 +01:00
Richard Kistruck
fb348ac42d Mps master: poolamc.c: diag out if amcscannailed completed, but had
to loop.  (A rare event, which might prompt a rare defect to appear).
This is diag developed for job001548, but worth leaving on by default 
(in diag varieties only, natch).

Copied from Perforce
 Change: 162939
 ServerID: perforce.ravenbrook.com
2007-07-19 15:34:51 +01:00
Richard Kistruck
9f9a5d338b Mps master: poolamc.c: wrap lines at 72 (or 71, oops)
Copied from Perforce
 Change: 162932
 ServerID: perforce.ravenbrook.com
2007-07-18 17:55:13 +01:00
David Jones
ae858dd9c8 Mps: moved backslashes, added undef.
Copied from Perforce
 Change: 162927
 ServerID: perforce.ravenbrook.com
2007-07-18 15:27:54 +01:00
David Jones
91097988aa Mps: experimental conversion to relational macros.
Copied from Perforce
 Change: 162916
 ServerID: perforce.ravenbrook.com
2007-07-17 11:21:33 +01:00
David Jones
f9ee5e66fc Mps: renamed amc ramp enum.
Copied from Perforce
 Change: 162879
 ServerID: perforce.ravenbrook.com
2007-07-12 16:27:50 +01:00
David Jones
0a13a65669 Mps: better style.
Copied from Perforce
 Change: 162871
 ServerID: perforce.ravenbrook.com
2007-07-12 15:47:02 +01:00
David Jones
6018a84ac0 Mps: better c style.
Copied from Perforce
 Change: 162854
 ServerID: perforce.ravenbrook.com
2007-07-11 12:41:04 +01:00
David Jones
8030de78d3 Mps: better style for amcfix.
Copied from Perforce
 Change: 162668
 ServerID: perforce.ravenbrook.com
2007-06-26 15:46:55 +01:00
Richard Kistruck
e1cfb1cca9 mps: (from branch unfixed-summary) 161987, 162000, 162001:
(plus some edits: integrations were not not verbatim)
   poolamc.c: Count the loops of amcScanNailed. 
    If amcScanNailed looped, ss.unfixedSummary is
    not accurate, so move all of the ScanStateSummary into 
    ss.fixedSumamry, so that trace.c's .verify.segsummary
    does not erroneously fail.
    This fixes job001548.
   trace.c: (comment) explain .verify.segsummary
   poolamc.c: AMCSegSketch: four character sketch of seg-state

Copied from Perforce
 Change: 162150
 ServerID: perforce.ravenbrook.com
2007-04-18 14:02:07 +01:00
Richard Kistruck
a91835fe0c Mps br/unfixed-summary: amcscannailed: show how summaries change
when amcScanNailed loops.  Highlight cases that would (previously) 
have failed .verify.segsummary.  Count the loops.  Show whether it 
wasTotal.
AMCSegSketch: correct it to show stalo and neo the right way round.

Copied from Perforce
 Change: 162001
 ServerID: perforce.ravenbrook.com
2007-03-25 17:05:50 +01:00
Richard Kistruck
1c411f17a8 Mps br/unfixed-summary: if amcscannailed looped, ss.unfixedsummary is
not accurate, so move all of the ScanStateSummary into ss.fixedSumamry, 
so that <impl/trace/#verify.segsummary> does not erroneously fail.
See also log file a2nNailedLoopReset.txt.

Copied from Perforce
 Change: 162000
 ServerID: perforce.ravenbrook.com
2007-03-25 15:59:05 +01:00
Richard Kistruck
3b8f618f6f Mps br/unfixed-sumamry: amcsegallobjsummary() -- runs format->scan to
find out what the summary really is, and check against SegSummary().
Initially, check this before each AMCScan.  This check does *not* fire 
when the unfixed assert does; see new a2kAllobjs.txt logfile.

Copied from Perforce
 Change: 161995
 ServerID: perforce.ravenbrook.com
2007-03-23 17:11:32 +00:00
Richard Kistruck
dd46ee949f Mps br/unfixed-summary: comment-out the "what caused et?" segdescribes.
Save sketches (abzSketchTotal and abzSketchTotalPrev) in amcseg, 
which get Described when unfixedSummary is wrong: let's see whether 
there's a pattern to the way the previous summary was created.

Copied from Perforce
 Change: 161994
 ServerID: perforce.ravenbrook.com
2007-03-23 15:30:08 +00:00
Richard Kistruck
64e77c0408 Mps br/unfixed-summary: amcsegsketch: four character sketch of seg-state
Copied from Perforce
 Change: 161987
 ServerID: perforce.ravenbrook.com
2007-03-22 16:51:27 +00:00
Richard Kistruck
fdbf81838f Mps: (from branch unfixed-summary) 161973, 161977, 161978, 161982:
seg.c: SegDescribe: say "buffer: NULL" if it is (rather than saying nothing).
buffer.c: BufferDescribe: now interprets buffer->mode for you.
poolamc.c: amcSegCheck: check Nailboard present onlyif SegNailed for some trace;
 AMCSegDescribe: correct SEG_SUPERCLASS (so we see GCSeg fields); 
  say whether seg is Mobile, Boarded (there's a nailboard), or Stuck;
  clearer Map symbols, and print a key for them.

Copied from Perforce
 Change: 161983
 ServerID: perforce.ravenbrook.com
2007-03-22 15:23:20 +00:00