1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 06:20:43 -08:00
Commit graph

649 commits

Author SHA1 Message Date
David Lovemore
d17c5b8296 Using mps_word_const instead of ull for proper fixes to constants
Copied from Perforce
 Change: 178196
 ServerID: perforce.ravenbrook.com
2012-05-17 15:18:50 +01:00
Richard Brooksby
1db05f0df4 Added reference to design document.
Copied from Perforce
 Change: 178195
 ServerID: perforce.ravenbrook.com
2012-05-17 15:05:31 +01:00
Richard Brooksby
45d09e153b Increased alignments to work on 64-bit targets.
Copied from Perforce
 Change: 178194
 ServerID: perforce.ravenbrook.com
2012-05-17 15:05:23 +01:00
David Lovemore
8fc8bd6370 Added mps_word_const and other fixes to get zcoll test to work
Copied from Perforce
 Change: 178193
 ServerID: perforce.ravenbrook.com
2012-05-17 14:55:18 +01:00
David Lovemore
2bdd2ae5ca Added /debug and /pdb flags to make windows pdb debug files correctly.
Copied from Perforce
 Change: 178191
 ServerID: perforce.ravenbrook.com
2012-05-17 13:36:17 +01:00
David Lovemore
ba4e8d364b Temporary fixes for 64-bit windows build
Copied from Perforce
 Change: 178190
 ServerID: perforce.ravenbrook.com
2012-05-17 13:19:45 +01:00
David Lovemore
192871b3df Another temporary fix for 64 bit windows
Copied from Perforce
 Change: 178101
 ServerID: perforce.ravenbrook.com
2012-05-03 18:09:40 +01:00
David Lovemore
7849dede1f Insert cast to int to get it to compile on 64 bit.
Copied from Perforce
 Change: 178100
 ServerID: perforce.ravenbrook.com
2012-05-03 18:06:58 +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
4e83063672 Building on i6 with protw3 for real win32 protection, and stub prmcan with unimplemented instruction stepping for now.
Copied from Perforce
 Change: 178091
 ServerID: perforce.ravenbrook.com
2012-05-03 12:10:01 +01:00
Richard Brooksby
4b1833906a Updating dword to ulong_ptr for windows 64 interface.
Copied from Perforce
 Change: 178090
 ServerID: perforce.ravenbrook.com
2012-05-03 12:09:16 +01:00
Richard Brooksby
34943e1c96 Fixing "1ul" constant to "(align)1" for portability.
Copied from Perforce
 Change: 178089
 ServerID: perforce.ravenbrook.com
2012-05-03 12:05:53 +01:00
Richard Brooksby
28b06ee71a Temporary fix to constant to suppress warning.
Copied from Perforce
 Change: 178088
 ServerID: perforce.ravenbrook.com
2012-05-03 12:05:02 +01:00
Richard Brooksby
390f27c789 Removing assertions for assumptions we no longer make since microsoft introduced size_t in its interfaces instead of dword. about time.
Copied from Perforce
 Change: 178081
 ServerID: perforce.ravenbrook.com
2012-05-01 17:25:25 +01:00
Richard Brooksby
280386e6ac Fixing a "1ul" constant to "(mps_word_t)1" since 1ul isn't 64-bits wide on windows 64.
Copied from Perforce
 Change: 178080
 ServerID: perforce.ravenbrook.com
2012-05-01 17:24:01 +01:00
David Lovemore
e9692d8c0a Merging from master/... to bring over extra vararg fixes
Copied from Perforce
 Change: 178079
 ServerID: perforce.ravenbrook.com
2012-05-01 17:12:07 +01:00
Richard Brooksby
ecfd805f9a Fixing horrible type unsafe candy-machine interface to tracestartgendesc_diag, which broke on w3i6mv.
Copied from Perforce
 Change: 178077
 ServerID: perforce.ravenbrook.com
2012-05-01 17:05:27 +01:00
Richard Brooksby
9da9a20cb4 Adding minimal platform detection to determine mps_t_word in mps external interface.
Copied from Perforce
 Change: 178076
 ServerID: perforce.ravenbrook.com
2012-05-01 17:04:27 +01:00
David Lovemore
c36033e00c Fixed some places where casts are missing in vararg arguments.
Copied from Perforce
 Change: 178074
 ServerID: perforce.ravenbrook.com
2012-05-01 16:58:22 +01:00
Richard Brooksby
3893cede56 Catching up with masters, to bring in work from branch/2012-03-27/longest.
Copied from Perforce
 Change: 178073
 ServerID: perforce.ravenbrook.com
2012-05-01 16:29:25 +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
08ed29dd5f Merging fix to mac os x build flags from master.
Copied from Perforce
 Change: 178068
 ServerID: perforce.ravenbrook.com
2012-05-01 16:06:36 +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 Brooksby
dd4cefe555 Fixing unsigned longs in eventcnv but not column widths.
Copied from Perforce
 Change: 178026
 ServerID: perforce.ravenbrook.com
2012-04-23 17:13:41 +01:00
Richard Brooksby
61890da12b 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 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
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
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
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
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
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