1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 22:40:51 -08:00
Commit graph

3736 commits

Author SHA1 Message Date
Richard Brooksby
ea4257879f Merging clang/gcc build fix from master.
Copied from Perforce
 Change: 177908
 ServerID: perforce.ravenbrook.com
2012-04-05 17:04:41 +01:00
Richard Brooksby
c3966f7c05 In xcode 4.3.2, the cc command runs clang not gcc. changed make to explicitly run gcc.
Copied from Perforce
 Change: 177907
 ServerID: perforce.ravenbrook.com
2012-04-05 17:01:24 +01:00
Richard Brooksby
ac6b3c9aeb Adding indirection between mps_word_t and unsigned long that will get more elaborate when we merge the w3i6mv port.
Copied from Perforce
 Change: 177848
 ServerID: perforce.ravenbrook.com
2012-03-29 14:52:45 +01:00
Richard Brooksby
ecb147b98f Consistently passing closure sizes as size_t and not casting back and forth to size or anything else.
Copied from Perforce
 Change: 177817
 ServerID: perforce.ravenbrook.com
2012-03-27 18:12:52 +01:00
Richard Brooksby
382d044e97 Cbs and splay now pass size through as closure parameters, rather than messing with unsigned long.
Copied from Perforce
 Change: 177816
 ServerID: perforce.ravenbrook.com
2012-03-27 17:15:25 +01:00
Richard Brooksby
5225a4be56 Introducing ulongest type. see design/types/#ulongest.
Fixing WriteF to take ULongest rather than unsigned long, and fixing intrnal assumption that Word was as big as unsigned long.

Copied from Perforce
 Change: 177814
 ServerID: perforce.ravenbrook.com
2012-03-27 16:55:31 +01:00
Richard Brooksby
3a52d8e639 Fixing bt to use count for bit table length (and size for sizes throughout), rather than unsigned long.
Copied from Perforce
 Change: 177813
 ServerID: perforce.ravenbrook.com
2012-03-27 16:30:33 +01:00
Richard Brooksby
ae1262c33a Branching to remove assumption that "long" is the longest type, violated by windows 64.
Copied from Perforce
 Change: 177811
 ServerID: perforce.ravenbrook.com
2012-03-27 15:50:44 +01:00
Richard Brooksby
9f897ba822 Fixing printf(var) to printf("%s", var) to suppress warnings (and improve code).
Copied from Perforce
 Change: 177792
 ServerID: perforce.ravenbrook.com
2012-03-26 14:21:40 +01:00
Peter Jackson
ad02c05c67 Corrections and additions made while exercising the release procedure
for release exp-175969.

Copied from Perforce
 Change: 175972
 ServerID: perforce.ravenbrook.com
2011-08-29 17:43:38 +01:00
Peter Jackson
49a7e7eed7 Remove remnant diagnostic write.
Copied from Perforce
 Change: 175967
 ServerID: perforce.ravenbrook.com
2011-08-29 13:29:59 +01:00
Peter Jackson
d7136bdbc0 Mainline changes to make a standard nt build environment based on nt6.1
(Windows7) and its SDK.  The w3i3m9 pseudo platform has been removed and
w3i3mv adjusted for this framework.

Copied from Perforce
 Change: 175966
 ServerID: perforce.ravenbrook.com
2011-08-29 13:09:37 +01:00
Peter Jackson
7169f0a4e2 Convert the build notes to html.
Copied from Perforce
 Change: 175905
 ServerID: perforce.ravenbrook.com
2011-08-18 20:43:12 +01:00
Richard Kistruck
b4bf8863a8 Mps master: remove plan.txt erroneously integrated from development branch (by changelist 170102)
Copied from Perforce
 Change: 172806
 ServerID: perforce.ravenbrook.com
2010-11-10 00:46:33 +00:00
Richard Kistruck
b2c677bb5d Mps master: arenavm.c: (diagnostic variety only; integ from br/vmem) fix floating point exception when a collection condemns 0 bytes.
(The VMCompact diag was calculating the live percentage by dividing by condemned size.  Don't do this if condemned is zero.)

Copied from Perforce
 Change: 172778
 ServerID: perforce.ravenbrook.com
2010-11-06 21:11:14 +00:00
Richard Kistruck
bd5333708d Mps master (empty integrate) ignore "master -> new-branch" changes in br/transform's index.html page.
Copied from Perforce
 Change: 172772
 ServerID: perforce.ravenbrook.com
2010-11-06 14:28:04 +00:00
Richard Kistruck
c1c21f5be6 Mps br/transform: "master" -> "br/vmem"; register at branch/index
Copied from Perforce
 Change: 172771
 ServerID: perforce.ravenbrook.com
2010-11-06 14:24:44 +00:00
Richard Kistruck
f013ba9edf Mps br/transform: branch master sources -- mps_arena_transform_objects et al
Copied from Perforce
 Change: 172770
 ServerID: perforce.ravenbrook.com
2010-11-06 14:16:39 +00:00
Richard Kistruck
7eb0770623 Mps proc/version-create: correctly format example of p4 branch -o mps/version/1.105
Copied from Perforce
 Change: 172769
 ServerID: perforce.ravenbrook.com
2010-11-06 13:59:17 +00:00
Richard Kistruck
f4ea641518 Mps wiki: trace.html: introduction: how tracing works with refs and objects
Copied from Perforce
 Change: 172764
 ServerID: perforce.ravenbrook.com
2010-11-05 17:53:43 +00:00
Gareth Rees
724d9ad746 Update release procedures to use the project updater to register new releases (rather than editing issue.cgi or data.py). for projects with a release index, record the correct changelevel.
Copied from Perforce
 Change: 172244
 ServerID: perforce.ravenbrook.com
2010-10-07 21:22:06 +01:00
Gareth Rees
79ac2ce21a Update various release procedures to use to the project updater rather than editing data.py.
Copied from Perforce
 Change: 172196
 ServerID: perforce.ravenbrook.com
2010-10-06 16:57:12 +01:00
Richard Kistruck
ec9fd145fb Mps br/vmem arenavm.c: (diagnostic variety only) fix floating point exception after a collection with 0 bytes condemned
The VMCompact diag was calculating the live percentage by dividing by condemned size.  Don't do this if condemned is zero.

Copied from Perforce
 Change: 170441
 ServerID: perforce.ravenbrook.com
2010-04-26 16:06:36 +01:00
Richard Kistruck
050e3a10cb Mps master (integ from br/vmem) diag.c: version_diag() emits mpsversion in a diag
Copied from Perforce
 Change: 170258
 ServerID: perforce.ravenbrook.com
2010-03-30 10:10:56 +01:00
Richard Kistruck
fad9fa8edc Mps br/vmem diag.c: version_diag() emits mpsversion in a diag
Copied from Perforce
 Change: 170229
 ServerID: perforce.ravenbrook.com
2010-03-29 16:37:49 +01:00
Richard Kistruck
3193e35534 Mps master readme.txt: date for 1.109.1
Copied from Perforce
 Change: 170103
 ServerID: perforce.ravenbrook.com
2010-03-23 08:33:54 +00:00
Richard Kistruck
4183423242 mps master (integ from br/vmem): simple-chunk-return:
New method arena->class->compact: ArenaCompact, ArenaTrivCompact, VMCompact [arena.c, arenavm.c, mpm.h, mpmst.h, mpmtypes.h]
   trace.c, arenavm.c:
   - call ArenaCompact() at traceReclaim;
   - also record trace->preTraceArenaReserved, to show pre- and peak-vmem during a collection
   arenavm.c:
   - on VMCompact(), destroy any empty chunks (except the primary);
   - emit VMCompact diag for all client-requested collections, plus any others where chunks were gained or lost during the collection;
   - VMCompact diag shows vmem: pre-collection, peak, amount returned, and final
   - VMCompact diag also shows trace stats: cond, live / % / stuck(pip), notCond
   - M_whole, M_frac: print counts of bytes as Megabytes and thousandths
   (also, in VMArenaFinish, null out arena->primary in VMArenaFinish, so it is not left dangling).
   mpm.c: new "$3" format for 0-padding 3-char-wide field, for thousandths of a MB

   tract.c -- fix ChunkCache defects:
   - previously, if cache is empty (chunkCache->chunk == NULL) then other fields are *undefined*; but code looks at them anyway (!) without first checking chunkCache->chunk;
   - change it (.chunk.empty.fields) so that, if cache is empty, other fields have defined values: cache-using code may look at them, and they are chosen so that no cache hit will occur.
   --> this fixes crashing defect shown by changelist 170072
   - AVERT(ChunkCache) in the many places it should be checked;
   - use AVERT_CRITICAL in ChunkEncache, because it is called by ChunkOfAddr;
   - drop never-read chunkCache->pageTableBase and pageTableLimit fields: they were used for ChunkOfSeg(), back when each SegStruct was actually a PageStruct is some chunk's PageStructTable; see VMArenaChunkOfSeg() in //info.ravenbrook.com/project/mps/branch/2001-08-13/trunk/src/arenavm.chttps://github.com/Ravenbrook/mps/issues/46
   - there's no need for arena to initialise the chunk cache; this allows en/decache functions to be local to tract.c (ie. declared static)

   zcoll.c:
   How to get rid of all the objects, so full collect really collects all automatic objects:
   - Rootdrop() helps, but we can still retain a 1.2MB object;
   - stackwipe() does not help much -- these unwanted ambig refs are being left on the stack by MPS code that runs between mps_arena_collect and the flip!
   - therefore StackScan(0/1) to destroy stack+reg root before full collect: it's the only way to be sure.
   Reproducibility:
   - give Make() a random? switch, acted on by df() = diversity function, to allow bypass of rnd();
   - ZRndStateSet, to set the seed for rnd()
   Unpark:
   - release after mps_arena_collect (job002206)
   Output:
   - print_M: Megabytes more useful than Mebibytes
   - move printf announcing Destroying arena etc to just before, not just after, we do it.

   testlib.c/h -- Reproducibility:
   - fix rnd_state so a rnd_state getter is possible;
   - testlib.h += rnd_state_t, rnd_state(), rnd_state_set(), rnd_state_set_v2()

   vmix.c: add VM_ix_Create_ok/VM_ix_Destroy diags (note: not in vmw3.c yet)
   trace.c: no newline on "traceFindGrey" diag please
   locus.c: no newline on "condemn gens" diag please
   diag.c: just VMCompact diag
   readme.txt -- update for release.

Copied from Perforce
 Change: 170102
 ServerID: perforce.ravenbrook.com
2010-03-23 08:31:39 +00:00
Richard Kistruck
3ff0a0e582 mps br/vmem: simple-chunk-return:
arenavm.c VMCompact diag: also emit where chunks were gained but not lost during collection -- that is: collections where there was a vmem increase, and ArenaCompact was *not* able to return any chunks.

Copied from Perforce
 Change: 170101
 ServerID: perforce.ravenbrook.com
2010-03-23 08:11:20 +00:00
Richard Kistruck
6e4b89edd2 mps br/vmem: simple-chunk-return:
zcoll.c -- re-enable message timestamp reporting, and BigDropSmall tests (remove ifdefs)

Copied from Perforce
 Change: 170100
 ServerID: perforce.ravenbrook.com
2010-03-23 07:03:38 +00:00
Richard Kistruck
eba5cf1929 mps br/vmem: simple-chunk-return:
readme.txt -- update.
 arenavm.c -- (cosmetic) don't count chunks freed

Copied from Perforce
 Change: 170099
 ServerID: perforce.ravenbrook.com
2010-03-23 06:06:11 +00:00
Richard Kistruck
d1e04a6dd5 mps br/vmem: simple-chunk-return:
arenavm.c, trace.c, mpmst.h -- trace->preTraceArenaReserved, to show pre- and peak-vmem during collection

Copied from Perforce
 Change: 170098
 ServerID: perforce.ravenbrook.com
2010-03-23 04:07:43 +00:00
Richard Kistruck
7bdbbeb2c9 mps br/vmem: simple-chunk-return:
arenavm.c:
   - M_whole, M_frac: print count of bytes as Megabytes
   - diag on VMCompact after all client-requested traces, plus any others where we returned a chunk.
   - show vmem change, and also trace cond, live / % / stuck(pip), notCond

 mpm.c -- new "$3" format for 0-padding 3-char-wide field, for thousandths of a MB

 zcoll.c -- try some new parameters for tests

 diag.c -- just VMCompact diag

Copied from Perforce
 Change: 170097
 ServerID: perforce.ravenbrook.com
2010-03-23 03:52:41 +00:00
Richard Kistruck
7c88915285 Mps br/vmem: arena.c: arenaclasscheck(): funcheck class->compact
Copied from Perforce
 Change: 170096
 ServerID: perforce.ravenbrook.com
2010-03-23 03:24:18 +00:00
Richard Kistruck
0e6aecdbb8 mps br/vmem: simple-chunk-return:
arenavm.c -- move chunk-return into new function "VMCompact".
 (also, in VMArenaFinish, null out arena->primary in VMArenaFinish, so it is not left dangling).

 arena.c, arenavm.c, mpm.h, mpmst.h, mpmtypes.h:
 arena->class->compact: ArenaCompact, ArenaTrivCompact, VMCompact

 trace.c -- traceReclaim calls ArenaCompact!

Copied from Perforce
 Change: 170095
 ServerID: perforce.ravenbrook.com
2010-03-23 01:49:17 +00:00
Richard Kistruck
e3177d0c02 mps br/vmem: simple-chunk-return:
testlib.c (comments only) record dates of changes from v1 -> v2 -> v3 rnd_states.

Copied from Perforce
 Change: 170094
 ServerID: perforce.ravenbrook.com
2010-03-23 00:30:34 +00:00
Richard Kistruck
1ff022cae1 mps br/vmem: simple-chunk-return:
zcoll.c:
 How to get rid of all the objects, so full collect really collects all automatic objects:
   - Rootdrop() helps, but we can still retain a 1.2MB object;
   - stackwipe() does not help much -- these unwanted ambig refs are being left on the stack by MPS code that runs between mps_arena_collect and the flip!
   - therefore StackScan(0/1) to destroy stack+reg root before full collect: it's the only way to be sure.

 Reproducibility:
   - give Make() a random? switch, acted on by df() = diversity function, to allow bypass of rnd();
   - ZRndStateSet, to set the seed for rnd()

 Output:
   - print_M: switchable Mebibytes or Megabytes (more useful, to be honest);
   - get(): don't report message times, it messes up diffs.

 testlib.c/h:
 Reproducibility:
   - fix rnd_state so a rnd_state getter is possible;
   - testlib.h += rnd_state_t, rnd_state(), rnd_state_set(), rnd_state_set_v2()

 trace.c: traceFindGrey diag: no newline please

Copied from Perforce
 Change: 170093
 ServerID: perforce.ravenbrook.com
2010-03-22 23:00:42 +00:00
Richard Kistruck
968eafea90 Mps br/vmem zcoll.c: (tidy) make "make()" a proper function, not inline in the script-decoding switch statement
Copied from Perforce
 Change: 170087
 ServerID: perforce.ravenbrook.com
2010-03-22 14:59:36 +00:00
Richard Kistruck
7078ef1586 mps br/vmem: simple-chunk-return (fix broken compile):
Ooops, remove ALL references to pageTableBase and pageTableLimit fields.

Copied from Perforce
 Change: 170085
 ServerID: perforce.ravenbrook.com
2010-03-22 14:49:11 +00:00
Richard Kistruck
39da284821 mps br/vmem: simple-chunk-return:
tract.c -- fix more ChunkCache defects:
  - drop never-read chunkCache->pageTableBase and pageTableLimit fields: they were used for ChunkOfSeg(), back when each SegStruct was actually a PageStruct is some chunk's PageStructTable; see VMArenaChunkOfSeg() in //info.ravenbrook.com/project/mps/branch/2001-08-13/trunk/src/arenavm.chttps://github.com/Ravenbrook/mps/issues/46
  - there's no need for arena to initialise the chunk cache; this allows en/decache functions to be local to tract.c (ie. declared static)

Copied from Perforce
 Change: 170083
 ServerID: perforce.ravenbrook.com
2010-03-22 13:39:36 +00:00
Richard Kistruck
b75de3e923 mps br/vmem: simple-chunk-return:
arenavm.c --  on VMFree(), destroy any empty chunks (except the primary).  (VMFree is not the ideal place to do it, but works for proof of concept).
 tract.c -- fix ChunkCache defects:
  - previously, if cache is empty (chunkCache->chunk == NULL) then other fields are *undefined*; but code looks at them anyway (!) without first checking chunkCache->chunk;
  - change it (.chunk.empty.fields) so that, if cache is empty, other fields have defined values: cache-using code may look at them, and they are chosen so that no cache hit will occur.
  --> this fixes crashing defect shown by changelist 170072
  - AVERT(ChunkCache) in the many places it should be checked;
  - use AVERT_CRITICAL in ChunkEncache, because it is called by ChunkOfAddr;

 Also:
 plan.txt -- notes on use of primary chunk.
 config.h -- DIAG also in ci, please [Do not integ to master]
 diag.c -- skip ChainCondemnAuto diag thanks
 zcoll.c -- move printf announcing Destroying arena etc to just before, not just after, we do it.

Copied from Perforce
 Change: 170082
 ServerID: perforce.ravenbrook.com
2010-03-22 13:24:49 +00:00
Richard Kistruck
12c0e0bb66 Mps br/vmem plan.txt: import notes on chunk_create
Copied from Perforce
 Change: 170081
 ServerID: perforce.ravenbrook.com
2010-03-22 10:40:00 +00:00
Richard Kistruck
7e68100084 Mps br/vmem: (broken: assert tract.c line 327) run this at variety=ci (ie. where aver_critical works), to show how broken the chunk cache logic is.
Copied from Perforce
 Change: 170072
 ServerID: perforce.ravenbrook.com
2010-03-20 14:05:32 +00:00
Richard Kistruck
e82d034c98 Mps br/vmem: prepare for simple-chunk-return:
arenavm.c: VMFree is okay for testing chunk-ret; though just sparePagesPurge() for now;
  diag.c: show what we want for using zcoll to show chunk-ret:
    VM_ix_Create/Destroy
    TraceStart, excpet only briefly for dyn-crit (why=2) and not at all for minor
  locus.c: no newline on "condemn gens" diag please
  tract.c: ChunkDecache is BROKEN; just add AVER to catch this for now
  vmix.c: VM_ix_Create_ok/VM_ix_Destroy (vmw3.c needs similar)
  zcoll.c:
    release after mps_arena_collect!!!
    make, collect, make, collect, to show chunk-ret
    10MB arena means many chunks
None of this is releaseable quality of course.

Copied from Perforce
 Change: 170071
 ServerID: perforce.ravenbrook.com
2010-03-20 13:51:23 +00:00
Richard Kistruck
7070a32ed5 Mps master (empty integ from br/vmem of "master" -> "br/vmem" in index)
Copied from Perforce
 Change: 170013
 ServerID: perforce.ravenbrook.com
2010-03-15 10:14:27 +00:00
Richard Kistruck
0a1201d670 Mps br/vmem: "master" -> "br/vmem"; register at branch/index
Copied from Perforce
 Change: 170012
 ServerID: perforce.ravenbrook.com
2010-03-15 10:10:29 +00:00
Richard Kistruck
0c2e786bc1 Mps br/vmem: branch master sources
Copied from Perforce
 Change: 170011
 ServerID: perforce.ravenbrook.com
2010-03-15 10:02:24 +00:00
Richard Kistruck
c0405ff234 Mps master readme.txt: (minor rewording for clarity in 1.109's change comments)
Copied from Perforce
 Change: 169941
 ServerID: perforce.ravenbrook.com
2010-03-05 13:33:11 +00:00
Richard Kistruck
597f6608ec Mps master: (empty-integ from version/1.109) ignore changes (in index.html, readme.txt) that label version/1.109
Copied from Perforce
 Change: 169938
 ServerID: perforce.ravenbrook.com
2010-03-05 09:07:26 +00:00
Richard Kistruck
a156d700ee Mps version/1.109:
- Register version/1.109
  - 109 index: edit "Master" -> "V 109"
  - 109 readme: delete changes-template from What's New section

Copied from Perforce
 Change: 169936
 ServerID: perforce.ravenbrook.com
2010-03-05 08:58:46 +00:00
Richard Kistruck
808d72888f Mps version/1.109: first integrate from master (populate with files).
Copied from Perforce
 Change: 169934
 ServerID: perforce.ravenbrook.com
2010-03-04 17:27:37 +00:00