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

56 commits

Author SHA1 Message Date
Richard Brooksby
ff35af0f15 Merging branch/2016-03-13/defer-write-barrier into master sources.
Copied from Perforce
 Change: 190380
 ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
33cb1b0596 Improving commentary in response to nb <https://info.ravenbrook.com/mail/2016/03/22/17-19-03/0/>.
Copied from Perforce
 Change: 190339
 ServerID: perforce.ravenbrook.com
2016-03-23 14:37:54 +00:00
Richard Brooksby
405aed6b34 Bracketing out unused stringequal and tidying up stringlength.
Copied from Perforce
 Change: 190333
 ServerID: perforce.ravenbrook.com
2016-03-23 13:54:22 +00:00
Richard Brooksby
e711121e82 Moving quicksort's workspace off the stack to limit mps stack usage.
Copied from Perforce
 Change: 190332
 ServerID: perforce.ravenbrook.com
2016-03-23 13:47:55 +00:00
Richard Brooksby
12ae6d018a Updates from review by nb <https://info.ravenbrook.com/mail/2016/03/21/18-36-14/0/>.
Copied from Perforce
 Change: 190304
 ServerID: perforce.ravenbrook.com
2016-03-22 15:20:56 +00:00
Richard Brooksby
ac41c10c30 Fixing compiler warnings.
Copied from Perforce
 Change: 190237
 ServerID: perforce.ravenbrook.com
2016-03-20 12:46:50 +00:00
Richard Brooksby
47899aff29 Importing good random number generator from testlib for use in quicksort and perhaps later in cuckoo hashing.
Copied from Perforce
 Change: 190191
 ServerID: perforce.ravenbrook.com
2016-03-19 08:57:27 +00:00
Richard Brooksby
4bddebc903 Writing a clearer quicksort with assertions.
Copied from Perforce
 Change: 190181
 ServerID: perforce.ravenbrook.com
2016-03-18 14:50:11 +00:00
Richard Brooksby
40221476cc Tidying up quicksort into an mpm utility.
Copied from Perforce
 Change: 190171
 ServerID: perforce.ravenbrook.com
2016-03-17 19:26:45 +00:00
Gareth Rees
144990c99d Add accesssetcheck and check accessset arguments.
Copied from Perforce
 Change: 188251
 ServerID: perforce.ravenbrook.com
2015-09-04 20:15:36 +01:00
Gareth Rees
31795d3b7b In mpmcheck, assert that stackprobedepth words will fit into a page, so that we find out if design.mps.sp.sol.depth.constraint is ever violated.
Format methods must have bounded stack usage for stack probing to be effective, so document this in the manual (picking the arbitrary value 64 for the bound, which should be more than enough).

Copied from Perforce
 Change: 187382
 ServerID: perforce.ravenbrook.com
2014-10-24 10:54:27 +01:00
Gareth Rees
2d0f425428 Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt>), so it's about time it was implemented.

Copied from Perforce
 Change: 187071
 ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
ef7bb2c997 Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
Copied from Perforce
 Change: 186664
 ServerID: perforce.ravenbrook.com
2014-06-17 15:52:16 +01:00
Gareth Rees
5fb05e31b6 Fix problems noted by dl in review <https://info.ravenbrook.com/mail/2014/06/17/13-35-38/0/>.
Copied from Perforce
 Change: 186662
 ServerID: perforce.ravenbrook.com
2014-06-17 15:15:32 +01:00
Gareth Rees
aadc2f2da6 Catch-up merge from master sources @186573 to branch/2014-05-28/align.
Copied from Perforce
 Change: 186631
 ServerID: perforce.ravenbrook.com
2014-06-14 16:11:20 +01:00
Gareth Rees
e95af3fb0e Store the vm descriptor in the vmarena and vmchunk structures.
Copied from Perforce
 Change: 186624
 ServerID: perforce.ravenbrook.com
2014-06-14 15:12:26 +01:00
Gareth Rees
d7f438d382 Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
Copied from Perforce
 Change: 186620
 ServerID: perforce.ravenbrook.com
2014-06-14 13:17:58 +01:00
Gareth Rees
8c3e5886b4 Vmpagesize now takes no arguments -- this avoids suggesting (incorrectly) that it might return a different value for each vm.
New function ProtGranularity returns the protection granularity of the operating system. (On all currently supported operating systems this is the same as the granularity of memory mapping returned by VMPageSuze, but it's important to separate these concepts.) MPMCheck asserts that the granularity of memory mapping is a multiple of the granularity of protection.
Client arena supports MPS_KEY_ARENA_GRAIN_SIZE.
Some of the test cases set the arena grain size.

Copied from Perforce
 Change: 186588
 ServerID: perforce.ravenbrook.com
2014-06-13 17:19:23 +01:00
Gareth Rees
1b7de24015 Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
Copied from Perforce
 Change: 186577
 ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Gareth Rees
add3e4bf93 Consistent order stream, depth.
Copied from Perforce
 Change: 186001
 ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
c44f2d6a20 Correct indentation of describe output by passing depth parameter to describe functions and to writef.
Call Describe functions from test cases so that we get coverage.

Copied from Perforce
 Change: 186000
 ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
4ed8190265 Back out change 185626 (violates the design.mps.writef.snazzy).
Copied from Perforce
 Change: 185941
 ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
a6018ff606 Don't aver in writef: typically called from debugger where we want a best effort.
Copied from Perforce
 Change: 185629
 ServerID: perforce.ravenbrook.com
2014-04-17 14:21:15 +01:00
Gareth Rees
d83fbf6b09 Correct indentation of describe output.
Copied from Perforce
 Change: 185626
 ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
b70e268929 Fix problems found by coverity. see <https://info.ravenbrook.com/mail/2014/04/10/23-23-42/0/> for full analysis.
Copied from Perforce
 Change: 185445
 ServerID: perforce.ravenbrook.com
2014-04-11 00:26:48 +01:00
Gareth Rees
bcea6812fc Improve control over checking:
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).

Copied from Perforce
 Change: 185263
 ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Gareth Rees
4e22988865 Remove diag facility.
Copied from Perforce
 Change: 182553
 ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Richard Brooksby
99080a30f6 Miscellaneous design document improvements.
Documenting why WriteF on points comes out with the wrong endianness on Intel platforms.

Copied from Perforce
 Change: 182421
 ServerID: perforce.ravenbrook.com
2013-06-03 12:57:55 +01:00
Richard Brooksby
6db2c18143 Fixing type puns discovered by gcc 4.2.1 on freebsd with -o3.
Copied from Perforce
 Change: 179356
 ServerID: perforce.ravenbrook.com
2012-09-07 22:03:41 +01:00
Richard Brooksby
1d42c13c25 Merging branch/2012-08-15/variety-reform.
Copied from Perforce
 Change: 179279
 ServerID: perforce.ravenbrook.com
2012-09-05 18:44:44 +01:00
Richard Brooksby
01c0cf7acb Compiling with a static checking level by default, doubling the speed of the cool variety.
Copied from Perforce
 Change: 179157
 ServerID: perforce.ravenbrook.com
2012-09-01 11:40:43 +01:00
David Lovemore
0fd9448ad0 In tracescanareatagged use the alignments of pools in the condemned set to determine mask.
Copied from Perforce
 Change: 179117
 ServerID: perforce.ravenbrook.com
2012-08-30 13:48:41 +01:00
David Lovemore
0c22e4fb5a 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
Richard Brooksby
49c6d6b2f9 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 Kistruck
a85ba61324 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
fec818facc 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
5f8fce679b 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
bb326c6b66 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
88b3431fa1 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
dd919b22df 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
221bfe6659 Mps sort out baroque check macros (mainly config.h and check.h)
See job001248.  Should be source-only change.  Details:

  CheckNONE,SHALLOW,DEEP -->> CheckLevelMINIMAL,SHALLOW,DEEP
  [PROD_]CHECK_DEFAULT -->> [PROD_]CHECKLEVEL_INITIAL
  CHECK[_NONE] -->> AVER_AND_CHECK[_NONE]

And add some comments.

Copied from Perforce
 Change: 161210
 ServerID: perforce.ravenbrook.com
2006-12-13 14:45:49 +00:00
Richard Kistruck
b10d28d27f Mps: attempt to fix w3i3mv "all" build with vc7:
(unknown if these changes are effective, but they should be safe)
1. mpm.c: +1 to array size to make room for terminator of string initializer;
2. testlib.c: disable warning 4702: unreachable code, for va_end.

Copied from Perforce
 Change: 158055
 ServerID: perforce.ravenbrook.com
2006-04-07 15:57:08 +01:00
Richard Kistruck
2c152b9c6f Split-asserts: where an aver or checkl has two failure modes combined
with &&, split it into two AVERs or CHECKLs.  

Copied from Perforce
 Change: 155170
 ServerID: perforce.ravenbrook.com
2005-09-30 10:50:48 +01:00
Richard Brooksby
c11fa19243 Merging branch mps/2002-05-22/open-source-prep.
Making some new files consistent with changes from that branch.
Deleting some new Global Graphics confidential files.

Copied from Perforce
 Change: 30256
 ServerID: perforce.ravenbrook.com
2002-06-18 16:19:34 +01:00
Nick Barnes
0c8fe12191 Integrate changes from global graphics.
Copied from Perforce
 Change: 30250
 ServerID: perforce.ravenbrook.com
2002-06-18 14:14:55 +01:00
Richard Brooksby
f22e14e334 Eliminating "impl" type tags and replacing them with uri-style file references.
Copied from Perforce
 Change: 29900
 ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
0a95c05521 Updating cross references to design documents to html style, to go with master/design document tree.
Copied from Perforce
 Change: 29897
 ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
5afb4899ef Adding forward reference to licenses from copyright notices.
Adding licenses to a couple of files I missed.

Copied from Perforce
 Change: 29837
 ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
819ed0ed76 Adding licenses to source code files.
Copied from Perforce
 Change: 29836
 ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
ab0821c590 Remove trailing whitespace.
Copied from Perforce
 Change: 25309
 ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00