Gareth Rees
75be2830a0
Branching master to branch/2018-06-27/job004056.
...
Copied from Perforce
Change: 194240
2018-06-27 14:53:21 +01:00
Gareth Rees
70c6338f9e
Clarify some assertion conditions.
...
Copied from Perforce
Change: 194194
2018-06-26 12:36:53 +01:00
Gareth Rees
78a544c11a
Return resparam for consistency with other describe functions.
...
Copied from Perforce
Change: 194167
2018-06-26 09:11:57 +01:00
Gareth Rees
af4dceecd9
Test cases for errors in finalization.
...
Copied from Perforce
Change: 194166
2018-06-26 09:01:46 +01:00
Gareth Rees
b873c82d99
Use unsigned for rootvar and locusprefkind typedefs.
...
Copied from Perforce
Change: 194161
2018-06-26 08:48:31 +01:00
Gareth Rees
7b754520fd
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
30245c19b1
Avoid duplicate tag nams.
...
Copied from Perforce
Change: 194081
2018-06-22 09:45:24 +01:00
Gareth Rees
4d197feb99
Minor design improvements.
...
Copied from Perforce
Change: 194075
2018-06-21 21:08:57 +01:00
Gareth Rees
5ee971981f
Fix markup errors.
...
Copied from Perforce
Change: 194070
2018-06-21 20:48:34 +01:00
Gareth Rees
bd5a075fd2
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
2e63bc2b64
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
6d3b228200
Fix issues identified in review by apt.
...
Copied from Perforce
Change: 193982
2018-06-19 14:51:56 +01:00
Gareth Rees
4d52bf19c5
Forktest passes without the need for polling.
...
Copied from Perforce
Change: 193964
2018-06-19 08:59:00 +01:00
Gareth Rees
c6af54572d
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
63c4dc804d
Add history entry.
...
Copied from Perforce
Change: 193943
2018-06-18 20:22:00 +01:00
Gareth Rees
89a4b0378a
Simplify the wasmarked protocol.
...
Copied from Perforce
Change: 193940
2018-06-18 20:03:13 +01:00
Gareth Rees
bdf27a99af
Correct reason for why function/23.c does not pass.
...
Copied from Perforce
Change: 193881
2018-06-18 13:18:28 +01:00
Gareth Rees
6590875176
Fix copy-paste error.
...
Copied from Perforce
Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
76b082ab3c
Assertions on the critical path.
...
Copied from Perforce
Change: 193879
2018-06-18 13:17:42 +01:00
Gareth Rees
012e5de843
Fix some rst errors.
...
Copied from Perforce
Change: 193862
2018-06-16 19:10:33 +01:00
Gareth Rees
9c5277bdc9
Improve formatting of design docs.
...
Copied from Perforce
Change: 193857
2018-06-16 18:48:50 +01:00
Gareth Rees
66e0f89c29
Procedure for adding a new smoke test.
...
Copied from Perforce
Change: 193850
2018-06-15 16:00:09 +01:00
Gareth Rees
80589960d0
Forktest relies on polling, so needs the =p flag.
...
Copied from Perforce
Change: 193847
2018-06-15 15:57:23 +01:00
Gareth Rees
f5ffaeb349
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
e9d454d796
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
1ad6c163c0
Cross-reference from release notes to supported platforms.
...
Copied from Perforce
Change: 193827
2018-06-15 12:42:49 +01:00
Gareth Rees
307bc47730
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
601984eb73
Merge branch/2018-06-13/fork.
...
Copied from Perforce
Change: 193816
2018-06-15 11:41:32 +01:00
Gareth Rees
81874fdf08
Fix typo.
...
Copied from Perforce
Change: 193811
2018-06-15 11:15:42 +01:00
Gareth Rees
b0a73a5c71
Refactor atfork code to improve separation of concerns.
...
Copied from Perforce
Change: 193806
2018-06-15 10:58:33 +01:00
Gareth Rees
4eeac719ad
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
ad432cf7c4
Fix issues identified in review by nb.
...
Copied from Perforce
Change: 193793
2018-06-14 19:31:30 +01:00
Gareth Rees
b1ac192a9a
Update design history. restore accidentally removed check.
...
Copied from Perforce
Change: 193787
2018-06-14 17:55:03 +01:00
Gareth Rees
3829b5a2a1
Fix rst error; only need to flag forking thraed on macos.
...
Copied from Perforce
Change: 193784
2018-06-14 17:50:29 +01:00
Gareth Rees
6fda834973
Improve comments.
...
Copied from Perforce
Change: 193783
2018-06-14 17:44:41 +01:00
Gareth Rees
8686ffc625
Add a section on fork safety to the manual.
...
Copied from Perforce
Change: 193776
2018-06-14 17:18:08 +01:00
Gareth Rees
612b44060f
Fix ansi build.
...
Copied from Perforce
Change: 193769
2018-06-14 16:58:24 +01:00
Gareth Rees
b5e1965b3d
Avoid compilation errors from latest msvc.
...
Copied from Perforce
Change: 193768
2018-06-14 16:54:33 +01:00
Gareth Rees
f92f645f63
Support for fork on linux and freebsd.
...
Copied from Perforce
Change: 193765
2018-06-14 16:47:23 +01:00
Gareth Rees
e70b4c273c
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
2401957e62
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
8146970622
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
ff8c75b0ec
Fix typo in user guide: "stack_root" not "reg_root".
...
Copied from Perforce
Change: 193741
2018-06-13 15:42:23 +01:00
Gareth Rees
a9b6bad3a0
Branching master to branch/2018-06-13/fork.
...
Copied from Perforce
Change: 193731
2018-06-13 14:06:46 +01:00
Gareth Rees
9de5c1dfbe
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
f294e06f1c
Add cross-references from mps_arena_has_addr to mps_addr_pool (and vice versa), to decrease the likelihood that developers will miss these functions.
...
Copied from Perforce
Change: 193721
2018-06-13 10:56:47 +01:00
Gareth Rees
8b5079d23b
Make mps manual sphinx extensions compatible with recent versions of sphinx:
...
1. Don't use the html_use_smartypants directive (smartquotes are on by default now).
2. Don't call make_admonition but inherit from BaseAdmonition instead.
3. Set the title of an admonition via the visit method instead of hacking the title node (which is now non-existent as a result of item 2).
Copied from Perforce
Change: 193550
2018-02-12 16:49:42 +00:00
Gareth Rees
4e5c8c54ce
Avoid warning about duplicate definition of class functin.
...
Copied from Perforce
Change: 193549
2018-02-12 16:39:16 +00:00
Gareth Rees
1a73a6e986
Format methods must be async-signal-safe on posix.
...
Copied from Perforce
Change: 193472
2017-12-21 14:04:47 +00:00
Gareth Rees
36955b7bcb
Platforms fri3ll and fri6ll are supported, so add them to overview.
...
Copied from Perforce
Change: 193383
ServerID: perforce.ravenbrook.com
2017-11-03 14:34:20 +00:00