1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 12:20:39 -08:00
Commit graph

7028 commits

Author SHA1 Message Date
Gareth Rees
551d35fa0a Merge branch/2018-06-18/mrgseg into the master sources.
Copied from Perforce
 Change: 194453
2018-07-05 16:28:15 +01:00
Gareth Rees
3366ef1bc2 Catch-up merge from master sources at changelevel 194449 to branch/2018-06-18/mrgseg.
Copied from Perforce
 Change: 194452
2018-07-05 16:22:24 +01:00
Gareth Rees
9013f77478 Ensure that the mmqa test case is compiled using the same variety as the mps library against which it is linked, in case it needs to inspect internal mps data structures.
Copied from Perforce
 Change: 194449
2018-07-05 15:57:33 +01:00
Gareth Rees
254fbb080e Update mpscopyrightnotice, as required by §3.1.1 of https://info.ravenbrook.com/project/mps/master/procedure/version-create
Copied from Perforce
 Change: 194446
2018-07-05 14:55:06 +01:00
Gareth Rees
22e8a66a54 Bring release notes up to date.
Copied from Perforce
 Change: 194445
2018-07-05 14:31:09 +01:00
Gareth Rees
a4bbb4ddc2 Merge branch/2016-03-01/mvff-control into the master sources.
Copied from Perforce
 Change: 194442
2018-07-05 13:37:01 +01:00
Gareth Rees
2b469ef694 Merge branch/2018-07-04/mvff-perf into the master sources.
Copied from Perforce
 Change: 194439
2018-07-05 12:54:16 +01:00
Gareth Rees
5076ca4c04 Fix the check of the cbs overlapping insertion failure case: in order for the inserted block not to overlap it's right neighbour, its limit must be <= the base of the right neighbour (not the limit as previously written). this mistake was introduced accidentally in change 182344.
Copied from Perforce
 Change: 194427
2018-07-05 10:43:47 +01:00
Gareth Rees
01ee85b290 No need for rvalue(&(...)) -- the result of the & operator is not an lvalue.
Copied from Perforce
 Change: 194424
2018-07-05 10:24:22 +01:00
Gareth Rees
5887f80601 Function implementations call the macro implementations, to reduce the burden of keeping the functions and macros consistent.
Copied from Perforce
 Change: 194418
2018-07-05 09:28:01 +01:00
Gareth Rees
2ef794b39b Merge branch/2018-07-03/mfs-tractp into the master sources.
Copied from Perforce
 Change: 194414
2018-07-04 17:13:53 +01:00
Gareth Rees
233ddac5e8 Avoid emitting poolalloc and poolfree events in the hot variety, so that they not affected asymmetrically by the poolfree macro.
Copied from Perforce
 Change: 194410
2018-07-04 16:51:13 +01:00
Gareth Rees
6b0e42e0e9 Merge branch 2018-06-27/job004056.
Copied from Perforce
 Change: 194409
2018-07-04 16:46:04 +01:00
Gareth Rees
9dadfb7444 Mfsextend now takes (base, limit) instead of (base, size) for consistency with the rest of the mps.
Copied from Perforce
 Change: 194408
2018-07-04 16:31:45 +01:00
Gareth Rees
04ea9a0ebe Avoid "dereferencing type-punned pointer might break strict-aliasing rules" warning from gcc.
Copied from Perforce
 Change: 194403
2018-07-04 15:56:51 +01:00
Gareth Rees
683c79008c Improve performance of mvff in hot builds by:
1. Using macros to bypass PoolFree and Land* generic functions.
2. Compiling out assertions on functions on the critical paths for manual allocation and freeing.
3. Taking advantage of the fact that splay->updateNode does not change during a splay operation.

Copied from Perforce
 Change: 194397
2018-07-04 14:30:22 +01:00
Gareth Rees
264a65611a Branching master to branch/2018-07-04/mvff-perf.
Copied from Perforce
 Change: 194389
2018-07-04 10:25:31 +01:00
Gareth Rees
f4ec71167c Fix issues identified in review https://info.ravenbrook.com/mail/2018/07/03/10-10-11/0/
Copied from Perforce
 Change: 194382
2018-07-03 13:04:21 +01:00
Gareth Rees
af7669275c Integrate branch/2016-03-15/sunrise/...@190086,190087 to pick up elimination of tractp from mfs.
Copied from Perforce
 Change: 194372
2018-07-03 10:34:46 +01:00
Gareth Rees
93a93b0853 Branching master to branch/2018-07-03/mfs-tractp.
Copied from Perforce
 Change: 194362
2018-07-03 10:18:50 +01:00
Gareth Rees
ac65a856ac Fix issues identified in review by gdr.
Copied from Perforce
 Change: 194339
2018-07-02 09:05:03 +01:00
Gareth Rees
f7974dc971 Avoid warning "./poolmv.c:934:13: error: 'static' function 'mvcheck' declared in header file" from clang 5.0. see https://travis-ci.org/ravenbrook/mps/jobs/398247514
Copied from Perforce
 Change: 194328
2018-06-29 15:12:55 +01:00
Gareth Rees
1c80c8f387 Catch-up merge from master sources at changelevel 194314 to branch/2016-03-01/mvff-control.
Copied from Perforce
 Change: 194323
2018-06-29 14:28:33 +01:00
Gareth Rees
66c9375253 Restore fixclosure together with explanation.
Copied from Perforce
 Change: 194314
2018-06-29 13:54:55 +01:00
Gareth Rees
953062f412 Merge branch/2018-06-18/job004070.
Copied from Perforce
 Change: 194284
2018-06-28 16:15:53 +01:00
Gareth Rees
ddffa73317 Catch-up merge from master sources at changelevel 194268 to branch/2018-06-18/job004070.
Copied from Perforce
 Change: 194274
2018-06-28 14:31:02 +01:00
Gareth Rees
7819c6abe3 Merge branch/2017-03-04/seg-methods.
Copied from Perforce
 Change: 194268
2018-06-28 13:57:07 +01:00
Gareth Rees
409bc1910b Catch-up merge from the master sources at changelevel 194194 to branch/2017-03-04/seg-methods.
Copied from Perforce
 Change: 194267
2018-06-28 13:52:36 +01:00
Gareth Rees
b6b66edf9b Use initonceexecuteonce to get thread-safe initialization of the global locks.
This means that the MPS no longer supports Windows XP, so update documentation accordingly.
Exercise the global locks in lockut.

Copied from Perforce
 Change: 194253
2018-06-28 12:39:06 +01:00
Gareth Rees
a9ff3dc411 Branching master to branch/2018-06-27/job004056.
Copied from Perforce
 Change: 194240
2018-06-27 14:53:21 +01:00
Gareth Rees
fe384f5ccd Clarify some assertion conditions.
Copied from Perforce
 Change: 194194
2018-06-26 12:36:53 +01:00
Gareth Rees
ef265eb175 Fix issues identified in review by dl.
Copied from Perforce
 Change: 194187
2018-06-26 11:39:45 +01:00
Gareth Rees
2f4affed50 Fix issues identified in review by dl.
Copied from Perforce
 Change: 194184
2018-06-26 11:31:33 +01:00
Gareth Rees
bccf5f1e94 Return resparam for consistency with other describe functions.
Copied from Perforce
 Change: 194167
2018-06-26 09:11:57 +01:00
Gareth Rees
20ab8a1773 Test cases for errors in finalization.
Copied from Perforce
 Change: 194166
2018-06-26 09:01:46 +01:00
Gareth Rees
bab47473c5 Use unsigned for rootvar and locusprefkind typedefs.
Copied from Perforce
 Change: 194161
2018-06-26 08:48:31 +01:00
Gareth Rees
e54d414bfb No need for separate ams and lo formats.
Copied from Perforce
 Change: 194133
2018-06-23 21:01:15 +01:00
Gareth Rees
84754cec52 Fix copy-paste error.
Copied from Perforce
 Change: 194128
2018-06-23 20:49:17 +01:00
Gareth Rees
052e5fbd18 Consistent order to prologue: include "mpm.h"; platform check; include other mps headers; include system headers; srcid.
Copied from Perforce
 Change: 194107
2018-06-23 11:31:57 +01:00
Gareth Rees
a86dc48ec3 Avoid duplicate tag nams.
Copied from Perforce
 Change: 194081
2018-06-22 09:45:24 +01:00
Gareth Rees
dce60f3ee6 Minor design improvements.
Copied from Perforce
 Change: 194075
2018-06-21 21:08:57 +01:00
Gareth Rees
fe9064011c Fix markup errors.
Copied from Perforce
 Change: 194070
2018-06-21 20:48:34 +01:00
Gareth Rees
3e88befc24 In gcc 7.3, -wextra sets -wimplicit-fallthough=3, which is rather strict about the format of the "fall through" comment.
Copied from Perforce
 Change: 194064
2018-06-21 17:38:27 +01:00
Gareth Rees
11e6822edf Bring design.mps.sp.sol.depth.analysis up to date.
Copied from Perforce
 Change: 194012
2018-06-20 12:55:45 +01:00
Gareth Rees
1d7bfe10fb Add a check that the flipped trace was not already flipped.
Copied from Perforce
 Change: 194006
2018-06-20 11:06:01 +01:00
Gareth Rees
a5ddfca39b New generic function segflip allows the segment to decide how to handle a trace that’s about to flip.
Copied from Perforce
 Change: 194000
2018-06-20 10:23:16 +01:00
Gareth Rees
e93949aeef Refactor arenapeekseg so that it maintains the mps invariants by scanning the segment if necessary. arenaread is now a thin wrapper around arenapeekseg. new function arenawrite is now the corresponding wrapper around arenapokeseg.
MRG reference segments inherit from GCSeg (not MutatorSeg) and so don't have hardware barriers. Instead, the code implements software barriers by always using ArenaRead and ArenaWrite.

Copied from Perforce
 Change: 193990
2018-06-19 16:25:52 +01:00
Gareth Rees
687f5e0294 Fix issues identified in review by apt.
Copied from Perforce
 Change: 193982
2018-06-19 14:51:56 +01:00
Gareth Rees
7f7822d4ab Segment class gcseg no longer implements hardware barriers; these are implemented by new subclass mutatorseg, which is now used everywhere that gcseg was used formerly. the idea is that in a future change mrgrefseg will inherit from gcseg instead of mutatorseg.
Copied from Perforce
 Change: 193981
2018-06-19 14:45:42 +01:00
Gareth Rees
f61af11694 Postpone some lookups until it is known that they are needed (avoiding the lookups in the common case where they are not).
Copied from Perforce
 Change: 193975
2018-06-19 12:27:07 +01:00