1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
Commit graph

370 commits

Author SHA1 Message Date
Richard Kistruck
2df9f2fd76 Mps br/vmarenagrow: arenavm: keep track of non-gen gangs; diag when
a gang grabs another zone.

Copied from Perforce
 Change: 164150
 ServerID: perforce.ravenbrook.com
2008-02-21 21:47:13 +00:00
Richard Kistruck
a0151685c5 Mps br/vmarenagrow: write segprefdescribe()
Copied from Perforce
 Change: 164149
 ServerID: perforce.ravenbrook.com
2008-02-21 21:38:28 +00:00
Richard Kistruck
c0474db9b0 Mps br/vmarenagrow: make chunkdescribe use chunkzonesnextarea; report
total _allocatable_ grains (ie. excluding ullage = pages used for chunk 
internal datastructures), and how many of those grains are free.

Copied from Perforce
 Change: 164088
 ServerID: perforce.ravenbrook.com
2008-02-15 12:07:00 +00:00
Richard Kistruck
b7f8d5f082 Mps: move zoneset-in-chunk calculating code out of pagesfindfreeinzones,
to create new function ChunkZonesNextArea

Copied from Perforce
 Change: 164081
 ServerID: perforce.ravenbrook.com
2008-02-14 18:54:04 +00:00
Richard Kistruck
d6c40722d8 Mps br/vmarenagrow: chunkdescribe, now called from arenadescribe.
ChunkDescribe shows all chunks in the arena, and for each chunk shows 
how many arena grains (~= pages) there in each zone in the chunk.

Copied from Perforce
 Change: 163853
 ServerID: perforce.ravenbrook.com
2008-01-28 19:31:04 +00:00
Richard Kistruck
ac11966232 Mps br/vmarenagrow: vmarena.c: tabs!
Copied from Perforce
 Change: 163814
 ServerID: perforce.ravenbrook.com
2008-01-24 18:29:38 +00:00
Richard Kistruck
cceca63b37 Mps br/vmarenagrow: arenadescribe: show zonesize.
(Also, move comment: the test that Fails if the chunk is so small 
that stripes are smaller than pages is in arena.c, not arenavm.c)

Copied from Perforce
 Change: 163813
 ServerID: perforce.ravenbrook.com
2008-01-24 18:25:29 +00:00
Richard Kistruck
55d760f72d Mps br/vmarenagrow: addrspacedescribe -- shows first few hundred regions of address-space in our process,
called from VMCreate.

Copied from Perforce
 Change: 163790
 ServerID: perforce.ravenbrook.com
2008-01-21 18:25:07 +00:00
Richard Kistruck
e7d629a1ad Mps 163759
Copied from Perforce
 Change: 163759
 ServerID: perforce.ravenbrook.com
2008-01-11 19:34:31 +00:00
Richard Kistruck
3a14119529 mps br/vmarenagrow: remove test code that fails deliberately.
Copied from Perforce
 Change: 163758
 ServerID: perforce.ravenbrook.com
2008-01-11 19:29:34 +00:00
Richard Kistruck
16ef264ac5 Mps br/vmarenagrow: drop slices from top half of request until
satisified.  WARNING: contains test code that fails deliberately.

Copied from Perforce
 Change: 163757
 ServerID: perforce.ravenbrook.com
2008-01-11 19:25:17 +00:00
Richard Kistruck
e6d96d223a Mps br/vmarenagrow: new mps interface function mps_arena_vm_growth():
Client specifies extendBy and (new) extendMin.
(extendMin does not work yet)

Copied from Perforce
 Change: 163753
 ServerID: perforce.ravenbrook.com
2008-01-11 16:07:51 +00:00
Richard Kistruck
f5b59d2a82 Mps exp-163669
Copied from Perforce
 Change: 163669
 ServerID: perforce.ravenbrook.com
2007-12-21 15:36:58 +00:00
Richard Kistruck
96407dd039 mps br/vmarenagrow: arenavm.c: vmchunkcreate() -- remove
deliberately-failing test code.

Copied from Perforce
 Change: 163668
 ServerID: perforce.ravenbrook.com
2007-12-21 13:15:06 +00:00
Richard Kistruck
441111bb2f mps br/vmarenagrow: arenavm.c: vmarenaextend() tidy up code to
choose chunk size, with a consistent, smaller (10%) .vmchunk.overhead 
 estimate.  Tidy diag and comments.

Copied from Perforce
 Change: 163667
 ServerID: perforce.ravenbrook.com
2007-12-21 13:08:37 +00:00
Richard Kistruck
475754161a mps br/vmarenagrow: arenavm.c: vmarenaextend() will:
a) choose a better chunkSize;
   b) fallback to smaller sizes if request fails.
 *** WARNING ***
 VMChunkCreate() has test-code that deliberately fails requests,
 for testing this functionality.

Copied from Perforce
 Change: 163665
 ServerID: perforce.ravenbrook.com
2007-12-20 18:00:50 +00:00
Richard Kistruck
2b625511be mps br/vmarenagrow: amcss.c: mps_arena_create /4 => too-small
arena, to test arena growth.  Also, make testArenaSIZE a round 
 number (2^20 not 10^3*2^10).

Copied from Perforce
 Change: 163664
 ServerID: perforce.ravenbrook.com
2007-12-20 17:23:26 +00:00
Richard Kistruck
62faafe4fd Mps br/vmarenagrow: arena.c: arenadescribe() now reports total arena
reserved and committed (only the two most important things to know!).
Transgression: This entails calling the ArenaReserved function.

Copied from Perforce
 Change: 163663
 ServerID: perforce.ravenbrook.com
2007-12-20 17:16:43 +00:00
Richard Kistruck
92a4109067 Mps br/vmarenagrow: arena.c: tabs
Copied from Perforce
 Change: 163658
 ServerID: perforce.ravenbrook.com
2007-12-19 18:48:27 +00:00
Richard Kistruck
e5034a17fb Mps poolabs: tabs! (whitespace only: replace tab with spaces)
Copied from Perforce
 Change: 163303
 ServerID: perforce.ravenbrook.com
2007-09-28 08:35:57 +01:00
Richard Kistruck
375c6fd064 Mps master: xcppgc.gmk remove outdated and unnecessary compiler flags.
Copied from Perforce
 Change: 163293
 ServerID: perforce.ravenbrook.com
2007-09-27 14:26:43 +01:00
Richard Kistruck
fe9b908f57 Mps master: xcppgc.cmk (comments only) add explanation of various
compiler flags added under job000601.

Copied from Perforce
 Change: 163287
 ServerID: perforce.ravenbrook.com
2007-09-26 15:44:42 +01:00
David Jones
d6d6a11ef7 Mps: adding uses of diag_decl so that variety=hi builds on os x.
Copied from Perforce
 Change: 163257
 ServerID: perforce.ravenbrook.com
2007-09-19 11:12:21 +01:00
Richard Kistruck
7776ff6176 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
ffc4f125c9 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
ff8ab008ca Mps master: poolams.c amsdescribe: fix buggy diag output intoduced
in 1998 (change 19787).

Copied from Perforce
 Change: 163155
 ServerID: perforce.ravenbrook.com
2007-08-20 17:08:59 +01:00
Richard Kistruck
c31f20a6de Mps master: from br/diagtag:
locus.c: clarify currGenSerial and new diag in ChainCondemnAuto().
poolamc.c: fix spelling of amcScanNailed_loop diag.
diag.c: (comment only) more todo list.

Copied from Perforce
 Change: 163127
 ServerID: perforce.ravenbrook.com
2007-08-14 16:27:30 +01:00
Richard Kistruck
a1ecafc1f8 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
8bae9d7e8c Mps master: integ from br/diagtag:
DIAG_SINGLEF, _FIRSTF, _MOREF, and _END: Tagged diagnostics, sent to 
pseudo-stream "FilterStream" for buffering and filtering (diag.c, 
config.h, mpm.c, mpm.h).

mpm: WriteF now uses Stream_fputc/s, not mps_lib_fputc/s.  New 
functions WriteF_v and WriteF_firstformat_v.  New function 
StringEqual(s1, s2).

trace.c, poolamc.c: TraceStart, traceFindGrey, amcScanNailed_loop 
are now tagged diags.

Copied from Perforce
 Change: 163124
 ServerID: perforce.ravenbrook.com
2007-08-14 15:56:48 +01:00
Richard Kistruck
557026a790 Mps br/diagtag: diag_prefix_ in config.h, instead of hard-wired.
Note .filter-disable.

Copied from Perforce
 Change: 163119
 ServerID: perforce.ravenbrook.com
2007-08-14 13:31:46 +01:00
Richard Kistruck
2cbc8e1232 Mps br/diagtag: determine diag_buffer_size in config.h; space for
20000 chars (10 screenfuls) in diag varieties, 1 char in others.
Handle diag->buf overflow (in fact was already handled; now tested; 
 in the always-on safety tests, use a condition that is verbatim 
 the same as the corresponding AVER).
Diag type: DiagSig, and AVERT(Diag, diag).  Neater .rules.debug.

Copied from Perforce
 Change: 163114
 ServerID: perforce.ravenbrook.com
2007-08-13 18:07:30 +01:00
Richard Kistruck
d9d4f267df Mps br/diagtag: give helpful message if diag_end tag does not match.
(tidyup) Move RulesGlobal to head of file; write instructions.
(tidyup) Move StringEqual into mpm.c (with StringLength); add AVER.
(cosmetic) Correct case of names: module-interface names begin 
uppercase; local names begin lowercase.  Tags should be C identifiers.

Copied from Perforce
 Change: 163112
 ServerID: perforce.ravenbrook.com
2007-08-13 16:54:40 +01:00
Richard Kistruck
c6663dcbff Mps br/diagtag: matchtag now uses patternoccurs, not stringequal, so
-DIAGTEST/*/*
will filter out all diags whose tags contain "DIAGTEST".
Unit test for PatternOccurs.  (PatternOccurs used to be called 
StringMatch).  

Copied from Perforce
 Change: 163111
 ServerID: perforce.ravenbrook.com
2007-08-13 15:55:32 +01:00
Richard Kistruck
f27629ba7c Mps br/diagtag: .improve.empty-diag: if diag is empty, still allow
it to be output (if rules permit).  Rename FilterOutput as FilterStream_Output.

Copied from Perforce
 Change: 163110
 ServerID: perforce.ravenbrook.com
2007-08-13 15:05:39 +01:00
Richard Kistruck
34c5536455 Mps br/diagtag: note .improve.empty-diag. to do list.
Run diag_test() on first tag begin.

Copied from Perforce
 Change: 163105
 ServerID: perforce.ravenbrook.com
2007-08-11 16:26:51 +01:00
Richard Kistruck
05d91ccd0c Mps br/diagtag: diag.c: before first diag, output rules_diag: list
of all rules.  Aver FilterOutput non-reentrant.  Note: empty diags 
never output.

Copied from Perforce
 Change: 163104
 ServerID: perforce.ravenbrook.com
2007-08-11 12:53:50 +01:00
Richard Kistruck
95761082f4 Mps br/diagtag: (fix w3i3mv build) remove unused vars, unused static fn diagoutput, and add int->char cast in _fputc
Copied from Perforce
 Change: 163083
 ServerID: perforce.ravenbrook.com
2007-08-10 11:48:52 +01:00
Richard Kistruck
5a97a8309e 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
Richard Kistruck
3cf7d5d66a Mps br/diagtag: whether a rule matches tag and para is constant for
the whole of a given diag, so memoize it (instead of repeating the 
match for every line of the diag).
locus.c: new diag from ChainCondemnAuto.
trace.c: tidy up TraceStart diag, give traceFindGrey diag a tag.

Copied from Perforce
 Change: 163077
 ServerID: perforce.ravenbrook.com
2007-08-09 16:41:59 +01:00
Richard Kistruck
2cb3edd1c3 Mps br/diagtag: just a curious log file, see whiteset at line 356
Copied from Perforce
 Change: 163076
 ServerID: perforce.ravenbrook.com
2007-08-09 16:34:08 +01:00
Richard Kistruck
af1160663a Mps br/diagtag: matchpara lets you choose to see the whole of a
diagnostic based on something on one of its lines.  See RulesGlobalX 
for an example.  Implementation currently inefficient (scans whole 
buffer for each line).

Copied from Perforce
 Change: 163073
 ServerID: perforce.ravenbrook.com
2007-08-09 15:40:53 +01:00
Richard Kistruck
e4eafb743e Mps br/diagtag: matchline and lineoutput give line-by-line filtering.
Copied from Perforce
 Change: 163072
 ServerID: perforce.ravenbrook.com
2007-08-09 14:45:14 +01:00
Richard Kistruck
c311f178cc Mps br/diagtag: oops! back out accidental checkin of trace.c with
test code in.

Copied from Perforce
 Change: 163071
 ServerID: perforce.ravenbrook.com
2007-08-09 13:45:26 +01:00
Richard Kistruck
8342669dc9 Mps br/diagtag: diag.c: stringequal(), used to check tags, and
report helpfully if poor programmer forgot to end a tag.
FilterOutput: really filters now, but only on Tag.

Copied from Perforce
 Change: 163070
 ServerID: perforce.ravenbrook.com
2007-08-09 13:40:48 +01:00
Richard Kistruck
55b74f2590 Mps br/diagtag: writef (mpm.c) uses new stream_fputc/s(), but still use mps_lib_file*
and mps_lib_EOF.
diag.c:
  Diag is a buffer capable of holding a diagnostic.
  FilterStream can buffer and filter diagnostics.
  Rule is a selection rule for filtering diagnostics.
  FilterOutput does output (but does not apply the rules yet).
  DiagStream can be switched to either FilterStream() or mps_lib_stdout().  

Copied from Perforce
 Change: 163067
 ServerID: perforce.ravenbrook.com
2007-08-09 12:11:29 +01:00
Richard Kistruck
5cbd84f9b4 Mps br/diagtag:
diag.c: support tagging of diagnostics, and avoid having to 
  say DIAG_STREAM every time, with new macros:
    DIAG_SINGLEF, DIAG_FIRSTF, DIAG_MOREF, DIAG_END.
mpm.c: new WriteF_firstformat_v required by DIAG_MOREF.

Copied from Perforce
 Change: 163059
 ServerID: perforce.ravenbrook.com
2007-08-07 19:09:43 +01:00
Richard Kistruck
5a478d9a7d Mps br/diagtag: new writef_v takes a va_started va_list.
WriteF calls WriteF_v.

Copied from Perforce
 Change: 163057
 ServerID: perforce.ravenbrook.com
2007-08-07 17:22:12 +01:00
Richard Kistruck
65fc6da40d Mps from br/gcdiag to master: branch/2007-07-19/gcdiag/...@162965, 967, 969.
That is:
 - TraceStart diagnostic showing chains, GenDescs, and PoolGens;
 - TraceCreate calls traceCopySizes() to save a copy of each 
   GenDesc's newSize in a "newSizeAtCreate" field.

Copied from Perforce
 Change: 163046
 ServerID: perforce.ravenbrook.com
2007-08-06 17:30:02 +01:00
David Jones
671245b7e8 Mps: linux: using vmix rather than vmli
Copied from Perforce
 Change: 162974
 ServerID: perforce.ravenbrook.com
2007-07-20 19:15:15 +01:00
David Jones
3e28b6ccaa Mps: adding gendesc indexes back in. and moving some static
function

Copied from Perforce
 Change: 162969
 ServerID: perforce.ravenbrook.com
2007-07-20 18:43:07 +01:00