1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-10 05:30:45 -08:00
Commit graph

70 commits

Author SHA1 Message Date
Richard Brooksby
6369f90c87 Removing dependency on standard c library memcpy. oops.
Copied from Perforce
 Change: 181999
 ServerID: perforce.ravenbrook.com
2013-05-20 16:31:34 +01:00
Richard Brooksby
a3d15bbdb0 Catch up merge from mps master to keyword arguments development branch.
Copied from Perforce
 Change: 181890
 ServerID: perforce.ravenbrook.com
2013-05-17 14:37:48 +01:00
Richard Brooksby
bb02f55b62 Making clear the size of the array of args passed to varargs conversion methods.
Copied from Perforce
 Change: 181845
 ServerID: perforce.ravenbrook.com
2013-05-16 03:12:11 +01:00
Gareth Rees
dfce35a35b Make forward declarations of various functions consistent with their actual declarations.
Copied from Perforce
 Change: 181788
 ServerID: perforce.ravenbrook.com
2013-05-15 14:18:28 +01:00
Gareth Rees
f72f7181f7 Fix typo: "parmeters" for "parameters".
Copied from Perforce
 Change: 181719
 ServerID: perforce.ravenbrook.com
2013-05-11 19:10:14 +01:00
Richard Brooksby
f4416c7efc Changing required keyword arguments to cause an assertion rather than return a status code, and removing repetition in how this is expressed.
Copied from Perforce
 Change: 181674
 ServerID: perforce.ravenbrook.com
2013-05-09 15:15:40 +01:00
Richard Brooksby
d512863efb Moving arena varags parsing into arena class method, similar to pools. much simpler. all tests pass.
Copied from Perforce
 Change: 181643
 ServerID: perforce.ravenbrook.com
2013-05-08 23:00:00 +01:00
Richard Brooksby
8504a81cf3 Eliminating mps_key_varargs and instead decoding deprecated varargs in one place in mpsi.c, so that each pool or other class doesn't have to deal with them.
Copied from Perforce
 Change: 181638
 ServerID: perforce.ravenbrook.com
2013-05-08 17:24:11 +01:00
Richard Brooksby
c0a8608bf7 Basically working keyword arguments, though vmparam is unsatisfactory.
Copied from Perforce
 Change: 181545
 ServerID: perforce.ravenbrook.com
2013-05-03 17:20:35 +01:00
Richard Brooksby
1bc62b27ef First draft of keyword arguments. mainly checking in in order to try working with git fusion on this branch.
Copied from Perforce
 Change: 181538
 ServerID: perforce.ravenbrook.com
2013-05-02 17:55:07 +01:00
Richard Brooksby
27c6706791 Merging branch/2012-08-21/diagnostic-telemetry.
Copied from Perforce
 Change: 179289
 ServerID: perforce.ravenbrook.com
2012-09-05 23:45:31 +01:00
Richard Brooksby
5333e6d525 Checking and suppressing warnings caused by higher level of optimisation and building from mps.c on ubuntu 12.
Copied from Perforce
 Change: 179194
 ServerID: perforce.ravenbrook.com
2012-09-03 13:38:53 +01:00
Richard Brooksby
89a685f164 Renaming some check* macros with more accurate names, making remaining check* macros similar in function.
Copied from Perforce
 Change: 179155
 ServerID: perforce.ravenbrook.com
2012-09-01 10:18:08 +01:00
Richard Brooksby
e00495829f Adding more events corresponding to diagnostics.
Copied from Perforce
 Change: 179141
 ServerID: perforce.ravenbrook.com
2012-08-31 19:33:45 +01:00
Richard Brooksby
4009b8a559 Abolishing eventgen.pl. event structures are now expanded by the preprocessor.
Abolishing event formats.  Each event now has its own structure.
Event parameters are now written directly into the event buffer, rather than being copied twice.

Copied from Perforce
 Change: 179010
 ServerID: perforce.ravenbrook.com
2012-08-21 22:48:11 +01:00
Richard Brooksby
13ba70d2dd Fixing warnings revealed by xcode (clang).
Copied from Perforce
 Change: 178898
 ServerID: perforce.ravenbrook.com
2012-08-11 09:30:24 +01:00
David Lovemore
fa5ad6689b Merged from master/... to pick up longest changes to varargs and casts on shifts
Copied from Perforce
 Change: 178097
 ServerID: perforce.ravenbrook.com
2012-05-03 17:02:33 +01:00
David Lovemore
9bf482ea08 Fixed up long constants and shifts that needed to be cast to correct type.
Copied from Perforce
 Change: 178095
 ServerID: perforce.ravenbrook.com
2012-05-03 16:38:47 +01:00
David Lovemore
4ee202d5cf 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
6bac2a6a03 Fixing zone blacklisting to use a type pun via a union for a better simulation of bad ambiguous references, that will also avoid cast precision warnings from microsoft c.
Copied from Perforce
 Change: 178069
 ServerID: perforce.ravenbrook.com
2012-05-01 16:11:18 +01:00
Richard Brooksby
80fe60df02 Added w3i6mv platform and fixed types of arguments to windows api functions for 64-bit.
Copied from Perforce
 Change: 178063
 ServerID: perforce.ravenbrook.com
2012-04-30 14:33:00 +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
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
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
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
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
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
03b820d908 Mps master (integ from br/vmarenagrow/code/arenavm.c):
mps_arena_vm_growth(): fail with MPS_RES_PARAM if desired < minimum

Copied from Perforce
 Change: 164899
 ServerID: perforce.ravenbrook.com

GitHub-reference: https://github.com/Ravenbrook/mps/issues/16
2008-05-01 16:24:43 +01:00
Richard Kistruck
7dbf5d4ce5 Mps br/vmarenagrow:
mps_arena_vm_growth should give MPS_RES_PARAM is desired < minimum

Copied from Perforce
 Change: 164898
 ServerID: perforce.ravenbrook.com
2008-05-01 15:22:01 +01:00
Richard Kistruck
2e4e79bb81 Mps br/vmarenagrow: some work-in-progress on visualising gangs:
ArenaTractsInZones - count how many tracts are used/free in each zone
GangsetFullDescribe, GangFullDescribe - show usage
mpm.c: new WriteF tag "u" is space-padded 3-column unsigned

Copied from Perforce
 Change: 164896
 ServerID: perforce.ravenbrook.com
2008-05-01 15:06:20 +01:00
Richard Kistruck
3608fc2e41 Mps master (integ from br/vmarenagrow@163759):
mps_arena_vm_growth(): new interface function; client specifies 
  desired arena increment, and minimum arena increment.
   arenavm.c: .chunk-create.fail: try a succession of _gradually_ 
     reducing sizes (aiming to 'waste' at most 1/8th of the available 
     space, rather than the 1/2 that can be 'wasted' by halving each 
     time); stopping at specified minimum arena increment 
     (VMArenaStruct.extendMin) or 4K.

Copied from Perforce
 Change: 164894
 ServerID: perforce.ravenbrook.com
2008-05-01 14:58:10 +01:00
Richard Kistruck
674a918cd2 Mps br/vmarenagrow: better diag output when a gang grabs a new zone
(show the whole gangset, with new zone highlighted)

Copied from Perforce
 Change: 164252
 ServerID: perforce.ravenbrook.com
2008-02-29 19:04:24 +00:00
Richard Kistruck
db6ee6a903 Mps br/vmarenagrow: [work in progress] arenavm.c using gangset, gangs.
Copied from Perforce
 Change: 164243
 ServerID: perforce.ravenbrook.com
2008-02-28 18:56:32 +00:00
Richard Kistruck
6334f1194c Mps br/vmarenagrow: [broken - work-in-progress checkin]
Gangset and Gangs.  SegPrefZonesOpen/Next/Close to try various 
zonesets appropriate to the SegPref's gang.

Copied from Perforce
 Change: 164231
 ServerID: perforce.ravenbrook.com
2008-02-27 19:52:56 +00:00
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
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
aa9346ab1c Mps master: arenavm.c: tabs!
Copied from Perforce
 Change: 163842
 ServerID: perforce.ravenbrook.com
2008-01-28 15:31:46 +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
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
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
1a2668dac7 Mps master: arenavm.c: fix vmarenadescribe to cope with any number
of gens, removing hardwired limit of 3.
vmArenaExtend(): diagnostic: report when VM arena is extended (#if0)

Copied from Perforce
 Change: 162933
 ServerID: perforce.ravenbrook.com
2007-07-18 18:17:55 +01:00
Richard Kistruck
6749f30dc0 Mps br/diag: diag-out with writef and diag_stream does not work in cet.
Hope to fix in time, but for now I need DIAG-out to work, so switch 
to printf (yes, really, I know, sorry).
Also, only do DIAG-out in variety.di, to avoid damage to .ci.
So for now, remove DIAG_WRITEF and DIAG from arenavm and trace.
To test, add DIAG_PRINTF in trace.

Copied from Perforce
 Change: 162387
 ServerID: perforce.ravenbrook.com
2007-05-21 16:28:50 +01:00