1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

2443 commits

Author SHA1 Message Date
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
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
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
b21f8b7e9a Improve documentation.
Copied from Perforce
 Change: 192258
 ServerID: perforce.ravenbrook.com
2016-09-09 11:18:12 +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
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
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
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
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
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
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
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
Gareth Rees
6932a51b2f New preprocessor constants config_pthreadext_sigsuspend and config_pthreadext_sigresume for configuring the signals used to suspend and resume threads.
Copied from Perforce
 Change: 192122
 ServerID: perforce.ravenbrook.com
2016-09-04 13:55:39 +01:00
Gareth Rees
f1b3655bd5 Add a case for rootthread to rootcheck.
Add test coverage for mps_root_create_thread_scanned and mps_root_create_area; improve coverage for mps_root_create_area_tagged, mps_scan_area_tagged, mps_scan_area.

Copied from Perforce
 Change: 192111
 ServerID: perforce.ravenbrook.com
2016-09-04 11:56:09 +01:00
Gareth Rees
4fd5435a51 Avoid strict aliasing errors in the mps test suite, so that it compiles and runs using gcc 6.1.
Update the manual entries for mps_alloc and mps_sac_alloc with notes highlighting the problem.

Copied from Perforce
 Change: 192104
 ServerID: perforce.ravenbrook.com
2016-09-02 19:20:58 +01:00
Gareth Rees
c737a08bc2 Fix assertion text in the manual.
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.

Copied from Perforce
 Change: 192097
 ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +01:00
Gareth Rees
63b301ca93 New program mpseventpy emits python data structures representing telemetry events.
Copied from Perforce
 Change: 191895
 ServerID: perforce.ravenbrook.com
2016-06-02 15:02:05 +01:00
Gareth Rees
38614c785e Make shield assertions robust against deep checking -- when shieldcover is called from shieldraise there is one unsynced segment that has not yet been queued. record this fact in a new queuepending flag in the shield structure.
Remove incorrect shield assertion "shield->depth == 0 || shield->suspended" -- depth may be increased without suspending the mutator if the segment did not need protecting.

Copied from Perforce
 Change: 191812
 ServerID: perforce.ravenbrook.com
2016-05-03 17:25:27 +01:00
Gareth Rees
bf65b1e622 Patch the mfs pool's alloc method instead of rewriting its class -- the latter violates the class invariants and so asserts when deep checking is turned on.
Copied from Perforce
 Change: 191779
 ServerID: perforce.ravenbrook.com
2016-05-02 13:49:43 +01:00
Gareth Rees
0297b380b9 Clear the emergency before removing the trace from busytraces, to avoid violating <code/global.c#emergency.invariant>.
Copied from Perforce
 Change: 191774
 ServerID: perforce.ravenbrook.com
2016-05-02 13:06:07 +01:00
Richard Brooksby
2020da56a6 Replacing segbuffer with version that returns bool and the buffer, and disallowing null to segsetbuffer, adding setunsetbuffer for that case instead.
Copied from Perforce
 Change: 191695
 ServerID: perforce.ravenbrook.com
2016-04-27 15:47:26 +01:00
Richard Brooksby
726ba1d25a Temporarily introducing seggetbuffer to eliminate use of "null" to mean "no buffer".
Copied from Perforce
 Change: 191694
 ServerID: perforce.ravenbrook.com
2016-04-27 15:27:47 +01:00
Richard Brooksby
bda168dfb8 Renaming class fields called "protocol" to "instclassstruct" in line with usual mps convention.
Copied from Perforce
 Change: 191685
 ServerID: perforce.ravenbrook.com
2016-04-27 14:25:54 +01:00
David Lovemore
c357b42870 Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
Copied from Perforce
 Change: 191678
 ServerID: perforce.ravenbrook.com
2016-04-27 12:20:36 +01:00
David Lovemore
abbd11acc8 Fixed a slowdown caused by initing each generation with the same parameters.
Copied from Perforce
 Change: 191677
 ServerID: perforce.ravenbrook.com
2016-04-27 12:08:24 +01:00
Richard Brooksby
771f6defda Converting arena finish and describe methods to specialize instfinish and instdescribe.
Copied from Perforce
 Change: 191614
 ServerID: perforce.ravenbrook.com
2016-04-23 16:31:26 +01:00
Richard Brooksby
a241b44f8c Converting buffer finish and describe methods to specialize instfinish and instdescribe.
Copied from Perforce
 Change: 191608
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
ed1ecb1bf5 Converting land describe methods to specialize instdescribe.
Copied from Perforce
 Change: 191607
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
ea53ac476e Converting land finish methods to specialize instfinish.
Copied from Perforce
 Change: 191606
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
de1f3907cc Converting pool finish methods to specialize instfinish, and fixing up quite a few calls to use nextmethod.
Copied from Perforce
 Change: 191605
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
6217b5b3a5 Converting pool describe methods to specialise instdescribe.
Copied from Perforce
 Change: 191604
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
1e39e959e7 Making init a method on inst and using it as next-method in segments.
Copied from Perforce
 Change: 191603
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
5f7db268e2 Making finish a method on inst and implementing generic finish for segments.
Copied from Perforce
 Change: 191602
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
b9e791798b Making describe a method on inst and implementing generic describe for segments.
Copied from Perforce
 Change: 191601
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:11 +01:00
Richard Brooksby
6ede631ed1 Turning buffer describe methods the right way in, so that they use next-method.
Copied from Perforce
 Change: 191589
 ServerID: perforce.ravenbrook.com
2016-04-23 00:57:46 +01:00
Richard Brooksby
0ea36ccf02 Turning segment describe methods the right way in, so that they call next-method. deleting duplicate implementation of basic segment describe!
Copied from Perforce
 Change: 191588
 ServerID: perforce.ravenbrook.com
2016-04-23 00:48:48 +01:00
Richard Brooksby
b765128003 Turning pool describe methods the right way in, so that they call next-method.
Copied from Perforce
 Change: 191587
 ServerID: perforce.ravenbrook.com
2016-04-23 00:22:46 +01:00
Gareth Rees
abcea0b2a5 The computed chunk size is the smallest size with a given number of usable bytes -- the actual chunk may be one grain larger.
Copied from Perforce
 Change: 191574
 ServerID: perforce.ravenbrook.com
2016-04-22 17:04:50 +01:00
Gareth Rees
c5da1949c2 Catch-up merge from master sources to branch/2016-04-20/seghasbuffer.
Copied from Perforce
 Change: 191548
 ServerID: perforce.ravenbrook.com
2016-04-22 11:38:55 +01:00
Gareth Rees
8e518349f4 New function seghasbuffer.
Copied from Perforce
 Change: 191537
 ServerID: perforce.ravenbrook.com
2016-04-22 10:08:29 +01:00
Gareth Rees
67e11c96e5 Catch-up merge from master sources to branch/2016-04-21/amswalk.
Copied from Perforce
 Change: 191531
 ServerID: perforce.ravenbrook.com
2016-04-21 20:56:05 +01:00