1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

6314 commits

Author SHA1 Message Date
Gareth Rees
fe1f07321b Fix makefile, accidentally broken by change 192512.
Copied from Perforce
 Change: 192539
 ServerID: perforce.ravenbrook.com
2016-10-13 19:13:31 +01:00
Gareth Rees
d31012f13a Implement mutatorcontextsp and mutatorcontextscan for platforms w3i3 and w3i6.
This means that ThreadScan becomes identical on these two platforms and can be moved to thw3.c.
This means that thw3.h, thw3i3.c and thw3i6.c become redundant and can be deleted.

Copied from Perforce
 Change: 192534
 ServerID: perforce.ravenbrook.com
2016-10-13 16:28:50 +01:00
Gareth Rees
91551170b1 Remove return statements that have no effect.
Copied from Perforce
 Change: 192529
 ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
5c31ca3cab Rename the "protection mutator context" module to "mutator context" (this module handles mutator context decoding for both the protection module and the thread module).
Rename functions Prot{Can,}StepInstruction to MutatorContext{Can,}StepInstruction so that they follow the naming convention in guide.implc.naming.prefix.program.
Move mutator context declarations out of prot.h into new header prmc.h.
Correct .assume.null in a couple of places -- it's not safe for MutatorContextStepInstruction to return ResUNIMPL, instead MutatorContextCanStepInstruction should return FALSE.

Copied from Perforce
 Change: 192528
 ServerID: perforce.ravenbrook.com
2016-10-13 15:06:14 +01:00
Gareth Rees
c35e544d73 Rename mutatorfaultcontext to mutatorcontext because this data structure is not only used to store the context of a fault, but also to store the context of a thread that has been suspended.
Copied from Perforce
 Change: 192523
 ServerID: perforce.ravenbrook.com
2016-10-13 14:23:39 +01:00
Gareth Rees
5a580660f6 Remove undocumented global mps_exception_info. now that the mps is open source, there is no difficulty in debugging the mutator context.
Copied from Perforce
 Change: 192518
 ServerID: perforce.ravenbrook.com
2016-10-13 13:45:31 +01:00
Gareth Rees
8b002dc4d5 Fix testmmqa target in the hot variety.
Copied from Perforce
 Change: 192515
 ServerID: perforce.ravenbrook.com
2016-10-13 13:31:58 +01:00
Gareth Rees
3dbe56a8b7 Rename prot{i3,i6}.c to prmc{i3,i6}.c because these files are part of the protection mutator context module.
Rename prmc{i3,i6}{fr,li,w3,xc}.c to prmc{fr,li,w3,xc}{i3,i6}.c for consistency of ordering of platform codes (OS before AR before CT).

Copied from Perforce
 Change: 192512
 ServerID: perforce.ravenbrook.com
2016-10-13 13:24:47 +01:00
Gareth Rees
8e25464f59 Generate "assert_or_abort" after an abort.
Copied from Perforce
 Change: 192506
 ServerID: perforce.ravenbrook.com
2016-10-12 15:59:54 +01:00
Gareth Rees
7660d06b73 Some mmqa test cases assert on windows but abort with a segmentation fault on os x. use new test outcome assert_or_abort so that these pass on all platforms.
Copied from Perforce
 Change: 192503
 ServerID: perforce.ravenbrook.com
2016-10-12 15:47:10 +01:00
Gareth Rees
5d35f56813 There are four states now, not three.
Copied from Perforce
 Change: 192478
 ServerID: perforce.ravenbrook.com
2016-09-27 18:49:18 +01:00
Gareth Rees
904ac5beb6 Revert incorrect change to globalspreparetodestroy (see change 192365) that made the mps assert when destroying an arena with uncollected finalization messages.
Copied from Perforce
 Change: 192473
 ServerID: perforce.ravenbrook.com
2016-09-27 11:57:19 +01:00
Gareth Rees
072f30009d Differentiate argerr/42.c and argerr/43.c so that the msvc incremental linker reliably updates the executable when we compile one and then the other.
Copied from Perforce
 Change: 192467
 ServerID: perforce.ravenbrook.com
2016-09-26 18:21:01 +01:00
Gareth Rees
a8ac974415 Avoid "conversion from 'size_t' to 'unsigned long', possible loss of data" warnings from microsoft visual c.
Copied from Perforce
 Change: 192462
 ServerID: perforce.ravenbrook.com
2016-09-26 16:59:35 +01:00
Gareth Rees
cc0d5a2b25 Avoid parentheses in parameters so that the test case passes on windows.
Copied from Perforce
 Change: 192457
 ServerID: perforce.ravenbrook.com
2016-09-26 16:17:38 +01:00
Gareth Rees
31db2e055c Platform alignment is 16 on w3i6mv, so use mps_pf_align to avoid alignment failure.
Copied from Perforce
 Change: 192456
 ServerID: perforce.ravenbrook.com
2016-09-26 16:13:39 +01:00
Gareth Rees
d44d50dfd0 The mmqa runset command now takes multiple test-sets.
Copied from Perforce
 Change: 192418
 ServerID: perforce.ravenbrook.com
2016-09-14 16:24:34 +01:00
Gareth Rees
2b3d00c1ee Update following release 1.116.0.
Copied from Perforce
 Change: 192406
 ServerID: perforce.ravenbrook.com
2016-09-14 14:18:17 +01:00
Gareth Rees
4d5ae93957 Don't set stackprobedepth to 500 if config_pf_ansi is defined -- this leads to an assertion failure in span.c.
Copied from Perforce
 Change: 192393
 ServerID: perforce.ravenbrook.com
2016-09-14 13:03:27 +01:00
Gareth Rees
3b03393381 Account allocations in amc segments between whiten and reclaim as condemned, improving the accuracy of the mortality calculation and avoiding assertion failure.
Copied from Perforce
 Change: 192387
 ServerID: perforce.ravenbrook.com
2016-09-14 12:49:51 +01:00
Gareth Rees
dbdf1696fb More detailed windows test procedure.
Copied from Perforce
 Change: 192386
 ServerID: perforce.ravenbrook.com
2016-09-14 12:48:46 +01:00
Gareth Rees
eff92bd52c Design.mps.nailboard.limitations.reclaim was recorded as job003856 and fixed by change 186812, so remove it from the design doc.
Copied from Perforce
 Change: 192385
 ServerID: perforce.ravenbrook.com
2016-09-14 12:48:23 +01:00
Gareth Rees
ed78e1e387 Fix references; automated procedure needs -g option.
Copied from Perforce
 Change: 192375
 ServerID: perforce.ravenbrook.com
2016-09-13 17:50:35 +01:00
Gareth Rees
5f86690a08 Update mps_release in preparation for forthcoming release 1.116.0.
Copied from Perforce
 Change: 192370
 ServerID: perforce.ravenbrook.com
2016-09-13 17:43:39 +01:00
Gareth Rees
4cc81bb371 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
63a44e3a91 Fix problems noted in review.
Copied from Perforce
 Change: 192357
 ServerID: perforce.ravenbrook.com
2016-09-13 17:19:07 +01:00
Gareth Rees
3cd7835844 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
201314f131 Support for customer task branches.
Copied from Perforce
 Change: 192340
 ServerID: perforce.ravenbrook.com
2016-09-13 12:41:52 +01:00
Gareth Rees
bdfc695361 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
2c5b947f9d 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
3398d94ecf 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
2e583c6992 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
42dbb3bd5a 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
eba3fdff52 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
3f13486e08 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
0867fe4dde 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
8340e390a5 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
b02f39428a Use imperative mood consistently.
Copied from Perforce
 Change: 192259
 ServerID: perforce.ravenbrook.com
2016-09-09 11:19:14 +01:00
Gareth Rees
7869db227e Improve documentation.
Copied from Perforce
 Change: 192258
 ServerID: perforce.ravenbrook.com
2016-09-09 11:18:12 +01:00
Gareth Rees
7c062cf7e9 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
cf6c484a89 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
d8c32f0d3f 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
045ff75367 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
8523b6f666 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
665d8197f0 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
419ba15d42 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
c2e44cb103 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
9bf231cf42 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
250fe26b81 Fix typo.
Copied from Perforce
 Change: 192209
 ServerID: perforce.ravenbrook.com
2016-09-05 23:50:29 +01:00
Gareth Rees
fc35c9b54a Correct architectures.
Copied from Perforce
 Change: 192208
 ServerID: perforce.ravenbrook.com
2016-09-05 23:47:18 +01:00