Gareth Rees
62f3be6400
Merge branch/2016-09-06/job004006.
...
Copied from Perforce
Change: 192365
ServerID: perforce.ravenbrook.com
2016-09-13 17:32:07 +01:00
Gareth Rees
d43cc4ef35
Fix problems noted in review.
...
Copied from Perforce
Change: 192357
ServerID: perforce.ravenbrook.com
2016-09-13 17:19:07 +01:00
Gareth Rees
cb0c6eabef
Catch-up merge from custom/cet/branch/2016-09-13/job004006 to branch/2016-09-06/job004006.
...
Copied from Perforce
Change: 192351
ServerID: perforce.ravenbrook.com
2016-09-13 15:33:31 +01:00
Gareth Rees
e12c85c4d4
Support for customer task branches.
...
Copied from Perforce
Change: 192340
ServerID: perforce.ravenbrook.com
2016-09-13 12:41:52 +01:00
Gareth Rees
eeec77975c
Merge branch/2016-09-12/job004020.
...
Copied from Perforce
Change: 192325
ServerID: perforce.ravenbrook.com
2016-09-13 10:50:21 +01:00
Gareth Rees
992e13c87c
Mmqa test suite now passes on freebsd.
...
Copied from Perforce
Change: 192320
ServerID: perforce.ravenbrook.com
2016-09-13 10:19:03 +01:00
Gareth Rees
a4b15a8371
Avoid warnings from gcc 4.2 on freebsd.
...
Copied from Perforce
Change: 192310
ServerID: perforce.ravenbrook.com
2016-09-12 14:39:55 +01:00
Gareth Rees
99d99d597a
Predictable address space layout is only a problem on freebsd.
...
Copied from Perforce
Change: 192305
ServerID: perforce.ravenbrook.com
2016-09-12 13:58:00 +01:00
Gareth Rees
a978af06c3
Need gmake on freebsd ("make" is bsd make).
...
Copied from Perforce
Change: 192297
ServerID: perforce.ravenbrook.com
2016-09-12 12:53:25 +01:00
Gareth Rees
cf6950631e
New mmqa command debug compiles a test case and launches the debugger.
...
Copied from Perforce
Change: 192290
ServerID: perforce.ravenbrook.com
2016-09-12 12:26:40 +01:00
Gareth Rees
e8be3323ff
Usability improvements for mmqa:
...
* -i option (MPS_INCLUDE_DIR) now defaults to the code directory relative to the test harness location.
* -p option (PLATFORM) is now a six-character platform code for consistency with the rest of the MPS.
* New -v option (VARIETY) for specifying cool/hot/rash.
* -l option (MPS_LINK_OBJ) now defaults to the appropriate object file for the platform and variety.
* The object file is built automatically.
* If $Id$ of a test file is longer than 70 characters, cut characters out of the middle rather than off the end.
* Eliminate obsolete option -prod (MPS_PRODUCT).
* Support for FreeBSD.
Copied from Perforce
Change: 192285
ServerID: perforce.ravenbrook.com
2016-09-12 11:55:36 +01:00
Gareth Rees
37544c3a0b
Branching master to branch/2016-09-12/job004020.
...
Copied from Perforce
Change: 192275
ServerID: perforce.ravenbrook.com
2016-09-12 09:48:55 +01:00
Gareth Rees
d56741e1ea
In order to be able to test mps_arena_busy in all build configurations, we must always take and release the arena lock, even in the single-threaded case. we gain some additional checking by doing this, at low cost (since in this build configuration the locks are generic and so just increment/decrement a count of claims).
...
In the CONFIG_POLL_NONE we configuration, we would still like to check that no traces are busy when leaving the arena, but since we now call ArenaLeave in this configurations, move the assertion to ShieldLeave.
In ArenaDestroy, call ArenaLeave, don't just release the lock.
Copied from Perforce
Change: 192267
ServerID: perforce.ravenbrook.com
2016-09-09 13:01:25 +01:00
Gareth Rees
ad583c3c66
Use imperative mood consistently.
...
Copied from Perforce
Change: 192259
ServerID: perforce.ravenbrook.com
2016-09-09 11:19:14 +01:00
Gareth Rees
b21f8b7e9a
Improve documentation.
...
Copied from Perforce
Change: 192258
ServerID: perforce.ravenbrook.com
2016-09-09 11:18:12 +01:00
Gareth Rees
04a8cb59df
Improve description of postmortem state in the manual.
...
Copied from Perforce
Change: 192257
ServerID: perforce.ravenbrook.com
2016-09-09 11:10:03 +01:00
Gareth Rees
be5db32120
Lockisheld implementation for generic ("ansi") locks.
...
When CONFIG_THREAD_SINGLE is defined, use the generic lock module rather than compiling out all lock calls via lock.h. (Otherwise test cases that check LockIsHeld will fail.)
Copied from Perforce
Change: 192254
ServerID: perforce.ravenbrook.com
2016-09-09 11:01:04 +01:00
Gareth Rees
01c13bf1b5
New functions mps_arena_busy and mps_arena_postmortem, plus test coverage.
...
Copied from Perforce
Change: 192247
ServerID: perforce.ravenbrook.com
2016-09-08 13:55:43 +01:00
Gareth Rees
6d8678dee3
Catch-up merge from master sources to branch/2016-09-06/job004006.
...
Copied from Perforce
Change: 192242
ServerID: perforce.ravenbrook.com
2016-09-08 11:46:38 +01:00
Gareth Rees
cb41b91f19
Remove support for linux 2.4 and 2.5 (these versions used linuxthreads). linux is now supported from version 2.6 onwards (these versions use posix threads).
...
Copied from Perforce
Change: 192240
ServerID: perforce.ravenbrook.com
2016-09-08 11:36:02 +01:00
Gareth Rees
61606942e1
Use area roots (instead of a thread root) to ensure that objects are finalized reliably even in the hot variety.
...
Copied from Perforce
Change: 192235
ServerID: perforce.ravenbrook.com
2016-09-08 10:57:07 +01:00
Gareth Rees
88ad19e91f
Change 192148 (the fix for job004017) caused the hot variety to compile out assertions on the critical path in manual-allocation-bound programs, which caused various mmqa test cases to fail in the hot variety. move these failing tests to the coolonly testset.
...
Copied from Perforce
Change: 192234
ServerID: perforce.ravenbrook.com
2016-09-08 10:55:59 +01:00
Gareth Rees
563a07a392
The awl pool contains only weak references to objects that died, so the mps may be able to deduce (via its summary) that it does not need to be condemned, even to collect the world.
...
Copied from Perforce
Change: 192226
ServerID: perforce.ravenbrook.com
2016-09-07 10:20:39 +01:00
Gareth Rees
52fc76480a
Branching master to branch/2016-09-06/job004006.
...
Copied from Perforce
Change: 192214
ServerID: perforce.ravenbrook.com
2016-09-06 11:41:23 +01:00
Gareth Rees
e11e98654b
Fix typo.
...
Copied from Perforce
Change: 192209
ServerID: perforce.ravenbrook.com
2016-09-05 23:50:29 +01:00
Gareth Rees
1b72909eb3
Correct architectures.
...
Copied from Perforce
Change: 192208
ServerID: perforce.ravenbrook.com
2016-09-05 23:47:18 +01:00
Gareth Rees
bdd7fedb8b
Job003889 was fixed, so conerr/12.c passes.
...
Copied from Perforce
Change: 192207
ServerID: perforce.ravenbrook.com
2016-09-05 23:45:20 +01:00
Gareth Rees
f0d9c6ce79
More glossary cross-references.
...
Copied from Perforce
Change: 192201
ServerID: perforce.ravenbrook.com
2016-09-05 16:45:40 +01:00
Gareth Rees
1cb423c5de
Document the gcwoah security issue.
...
Copied from Perforce
Change: 192200
ServerID: perforce.ravenbrook.com
2016-09-05 16:45:30 +01:00
Gareth Rees
f3ee6cf712
Merge branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 192195
ServerID: perforce.ravenbrook.com
2016-09-05 16:23:15 +01:00
Gareth Rees
a0db5c7bfe
Catch-up merge from master sources to branch/2016-04-13/mortality.
...
Copied from Perforce
Change: 192192
ServerID: perforce.ravenbrook.com
2016-09-05 16:17:04 +01:00
Gareth Rees
fbd9ee343f
Merge branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 192191
ServerID: perforce.ravenbrook.com
2016-09-05 16:09:02 +01:00
Gareth Rees
ebfe96633c
Describe fix for job004000 in the release notes.
...
Copied from Perforce
Change: 192190
ServerID: perforce.ravenbrook.com
2016-09-05 16:04:51 +01:00
Gareth Rees
a42ef06b8d
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 192187
ServerID: perforce.ravenbrook.com
2016-09-05 16:01:17 +01:00
Gareth Rees
b6597f0380
Merge branch/2016-04-21/amswalk.
...
Copied from Perforce
Change: 192184
ServerID: perforce.ravenbrook.com
2016-09-05 15:55:10 +01:00
Gareth Rees
20e756ada8
Catch-up merge from master sources to branch/2016-04-21/amswalk.
...
Copied from Perforce
Change: 192181
ServerID: perforce.ravenbrook.com
2016-09-05 15:48:47 +01:00
Gareth Rees
5d9e87fbd1
Merge branch/2016-04-23/inst-methods.
...
Copied from Perforce
Change: 192180
ServerID: perforce.ravenbrook.com
2016-09-05 15:38:50 +01:00
Gareth Rees
ba8ac77fef
Arenainit and arenafinish no longer exist under those names, and there is no longer anything special about them, so remove design documentation.
...
BufferFinishMethod and BufferDescribeMethod were removed, so remove the design documentation for them.
Copied from Perforce
Change: 192179
ServerID: perforce.ravenbrook.com
2016-09-05 15:33:57 +01:00
Gareth Rees
c898410a63
Catch-up merge from the master sources to branch/2016-04-23/inst-methods.
...
Copied from Perforce
Change: 192176
ServerID: perforce.ravenbrook.com
2016-09-05 15:31:34 +01:00
Gareth Rees
30253946f6
Merge branch/2016-04-20/seghasbuffer.
...
Copied from Perforce
Change: 192173
ServerID: perforce.ravenbrook.com
2016-09-05 15:24:24 +01:00
Gareth Rees
8c219cdd92
Catch-up merge from the master sources.
...
Copied from Perforce
Change: 192170
ServerID: perforce.ravenbrook.com
2016-09-05 15:21:33 +01:00
Gareth Rees
484c7e3142
When injecting allocation failures to test the fail-over land, don't also inject failures into the arena's free land's block pool.
...
Copied from Perforce
Change: 192164
ServerID: perforce.ravenbrook.com
2016-09-05 13:17:59 +01:00
Gareth Rees
af67eaaea5
Correct the logic in mvfreesize -- lost spans are not accounted as free. only sum the free space in the spans in checking varieties, otherwise just return the cached sum.
...
Copied from Perforce
Change: 192159
ServerID: perforce.ravenbrook.com
2016-09-05 12:03:46 +01:00
Gareth Rees
d84baa6eed
Don't pick a grain size that's so large that you can't avoid hitting the commit limit.
...
Copied from Perforce
Change: 192154
ServerID: perforce.ravenbrook.com
2016-09-05 11:37:19 +01:00
Gareth Rees
e3951fca1e
Add _critical to assertions on the critical path for manual-allocation-bound programs using mvff. this brings the hot/rash ratio for "djbench mvff" down from over 150% to about 130%.
...
Copied from Perforce
Change: 192148
ServerID: perforce.ravenbrook.com
2016-09-04 19:20:05 +01:00
Gareth Rees
df950a4de8
Sort the tables of platform codes. document the (working, but not officially supported) platform xci6gc.
...
Copied from Perforce
Change: 192143
ServerID: perforce.ravenbrook.com
2016-09-04 16:25:26 +01:00
Gareth Rees
46ca1d0c86
Document security issues in the mps.
...
Copied from Perforce
Change: 192138
ServerID: perforce.ravenbrook.com
2016-09-04 15:28:25 +01:00
Gareth Rees
d558f6acb2
Build and test the toy scheme interpreter during continuous integration, to reduce the risk of accidentally breaking it.
...
Copied from Perforce
Change: 192133
ServerID: perforce.ravenbrook.com
2016-09-04 14:47:08 +01:00
Gareth Rees
a90a02704a
Initialize in/out parameter old_exception_count before passing it to thread_swap_exception_ports.
...
Copied from Perforce
Change: 192128
ServerID: perforce.ravenbrook.com
2016-09-04 14:28:28 +01:00
Gareth Rees
48b3a425af
Support registering a thread with the mps multiple times on os x.
...
Restore test case.
Copied from Perforce
Change: 192127
ServerID: perforce.ravenbrook.com
2016-09-04 14:23:07 +01:00