1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 22:40:51 -08:00
Commit graph

2547 commits

Author SHA1 Message Date
Gareth Rees
6b0e42e0e9 Merge branch 2018-06-27/job004056.
Copied from Perforce
 Change: 194409
2018-07-04 16:46:04 +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
Gareth Rees
c4a840d676 Rename "mac os x" and "os x" to "macos", except for a few cases where for historical accuracy we want to continue to refer to the former name.
Copied from Perforce
 Change: 193821
2018-06-15 12:15:36 +01:00
Gareth Rees
11fff0151d Fix typo.
Copied from Perforce
 Change: 193811
2018-06-15 11:15:42 +01:00
Gareth Rees
0662e96899 Refactor atfork code to improve separation of concerns.
Copied from Perforce
 Change: 193806
2018-06-15 10:58:33 +01:00
Gareth Rees
a3779b8c3b Start the collection and dereference the objects in the parent as well as the child.
Copied from Perforce
 Change: 193800
2018-06-15 10:06:59 +01:00
Gareth Rees
7ed378141c Fix issues identified in review by nb.
Copied from Perforce
 Change: 193793
2018-06-14 19:31:30 +01:00
Gareth Rees
a865019b13 Update design history. restore accidentally removed check.
Copied from Perforce
 Change: 193787
2018-06-14 17:55:03 +01:00
Gareth Rees
e98b2a05c8 Improve comments.
Copied from Perforce
 Change: 193783
2018-06-14 17:44:41 +01:00
Gareth Rees
78e6d003bb Fix ansi build.
Copied from Perforce
 Change: 193769
2018-06-14 16:58:24 +01:00
Gareth Rees
38a08a6a62 Avoid compilation errors from latest msvc.
Copied from Perforce
 Change: 193768
2018-06-14 16:54:33 +01:00
Gareth Rees
598b64afb4 Support for fork on linux and freebsd.
Copied from Perforce
 Change: 193765
2018-06-14 16:47:23 +01:00
Gareth Rees
61e24c399a Take locks before fork(), release them in the parent and reinitialize them in the child.
Add forktest target to the Xcode project.
Write design for fork safety and cross-reference from the code.
Update release notes.

Copied from Perforce
 Change: 193760
2018-06-14 16:25:08 +01:00
Gareth Rees
2ccdd80953 Extend forktest so that it does allocation before the fork and collection afterwards; this ensures that we hit the read barrier and thus exercise the exception handling.
After forking in the child, re-create exception port and exception thread, and re-register the (only) thread with that port.

Copied from Perforce
 Change: 193755
2018-06-14 12:54:35 +01:00
Gareth Rees
47fc093662 Add fork test case (fails on os x if pthread_atfork is not called).
pthread_atfork handlers on OS X: in the child, update the mach port for the forking thread and move all other threads to the dead ring.

Copied from Perforce
 Change: 193746
2018-06-13 17:09:07 +01:00
Gareth Rees
169b8dcaf6 Avoid using deprecated function mps_fix and deprecated macro mps_fix in the test cases; use mps_fix12 instead.
Copied from Perforce
 Change: 193726
2018-06-13 13:59:14 +01:00
Gareth Rees
2b3fbbb8d3 New pool method poolsegpoolgen gets the pool generation for a segment. (this allows the segment whiten and reclaim methods not to need to know the pool class.)
Copied from Perforce
 Change: 193084
 ServerID: perforce.ravenbrook.com
2017-03-31 13:28:25 +01:00
Gareth Rees
d8a5c865ba Since we know that a segment belongs to a pool with a format at the point where we call segwalk, it makes sense to pass the format.
Copied from Perforce
 Change: 193079
 ServerID: perforce.ravenbrook.com
2017-03-31 09:15:41 +01:00