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
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
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
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
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
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
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
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
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
687f5e0294
Fix issues identified in review by apt.
...
Copied from Perforce
Change: 193982
2018-06-19 14:51:56 +01:00
Gareth Rees
c28b52472a
Use index abstract type for indexes.
...
Copied from Perforce
Change: 193969
2018-06-19 11:59:54 +01:00
Gareth Rees
374ab9c476
No need for empty atfork handlers, can pass null to pthread_atfork.
...
Copied from Perforce
Change: 193963
2018-06-19 08:57:26 +01:00
Gareth Rees
e62c3dc0c5
Simplify the wasmarked protocol.
...
Copied from Perforce
Change: 193940
2018-06-18 20:03:13 +01:00
Gareth Rees
aeb8be99bd
Make ams test for invalid references in the same way as the other pool classes. this also avoids fixing them in hot and rash varieties.
...
Copied from Perforce
Change: 193924
2018-06-18 16:59:12 +01:00
Gareth Rees
0c289d65f3
Awl asserts on fixes to out-of-bounds objects.
...
New MMQA test case conerr/65.c checks this.
Copied from Perforce
Change: 193916
2018-06-18 16:29:03 +01:00
Gareth Rees
e6b6fca1ca
Lo asserts on fixes to out-of-bounds objects.
...
New MMQA test case conerr/64.c checks this.
Copied from Perforce
Change: 193915
2018-06-18 16:22:16 +01:00
Gareth Rees
12da8bf742
Awl asserts on fixes to unallocated objects.
...
New MMQA test case conerr/63.c checks this.
Copied from Perforce
Change: 193910
2018-06-18 15:46:26 +01:00
Gareth Rees
49106b066e
Lo asserts on fixes to unallocated objects.
...
New MMQA test case conerr/62.c checks this.
Copied from Perforce
Change: 193909
2018-06-18 15:41:29 +01:00
Gareth Rees
9a16d354c6
Awl asserts on fixes to unaligned exact references.
...
New MMQA test case conerr/61.c checks this.
Copied from Perforce
Change: 193904
2018-06-18 15:23:58 +01:00
Gareth Rees
8e64810d00
Lo asserts on fixes to unaligned exact references.
...
New MMQA test case conerr/60.c checks this.
Copied from Perforce
Change: 193901
2018-06-18 15:05:30 +01:00
Gareth Rees
3e233329d3
Assertions on the critical path.
...
Copied from Perforce
Change: 193879
2018-06-18 13:17:42 +01:00
Gareth Rees
f76cf2e042
Awlsegcreate is a thin wrapper around poolgenalloc, so it's simpler just to call the latter.
...
Copied from Perforce
Change: 193874
2018-06-18 09:39:18 +01:00
Gareth Rees
04120dbb56
Losegcreate is a thin wrapper around poolgenalloc, so it's simpler just to call the latter.
...
Copied from Perforce
Change: 193869
2018-06-18 09:29:33 +01:00
Gareth Rees
c9ed424554
Amcsegfixinplace is a better name for a function that operates on an amc segment.
...
Copied from Perforce
Change: 193856
2018-06-16 18:47:14 +01:00
Gareth Rees
d6475efc2f
Keep forward declarations for seg methods together.
...
Copied from Perforce
Change: 193842
2018-06-15 14:55:40 +01:00
Gareth Rees
5324b1a2dd
Catch-up merge from master sources at change 193831 to branch/2017-03-04/seg-methods.
...
Copied from Perforce
Change: 193836
2018-06-15 13:46:23 +01:00
Gareth Rees
00da8664cd
Mach_thread_self() can in theory "return mach_port_null if a resource shortage prevented the reception of the send right" so add a check in each case. (there's nothing we can do about it but at least we can notice.)
...
Copied from Perforce
Change: 193831
2018-06-15 12:54:28 +01:00
Gareth Rees
fd9f9c41d0
It's safe to register a thread multiple times on macos, so there is no need for the guard.
...
Copied from Perforce
Change: 193828
2018-06-15 12:44:51 +01:00