1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-07 20:30:32 -08:00
Commit graph

6763 commits

Author SHA1 Message Date
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
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
47bf1c564c Update release notes for job004036 and job004037.
Copied from Perforce
 Change: 192117
 ServerID: perforce.ravenbrook.com
2016-09-04 12:20:37 +01:00
Gareth Rees
4a46ff870e Fix type punning examples.
Copied from Perforce
 Change: 192116
 ServerID: perforce.ravenbrook.com
2016-09-04 12:15:34 +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
24d8b79bec Index regexp needs multiline flag.
Copied from Perforce
 Change: 192103
 ServerID: perforce.ravenbrook.com
2016-09-02 19:08:13 +01:00
Gareth Rees
68d219c53b Fix glossary references.
Copied from Perforce
 Change: 192102
 ServerID: perforce.ravenbrook.com
2016-09-02 19:07:45 +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
b050eaefb0 Deprecation of reservoir functions was in release 1.115.
Copied from Perforce
 Change: 192092
 ServerID: perforce.ravenbrook.com
2016-09-02 13:27:05 +01:00
Gareth Rees
04a2891a67 Fix typos and other problems with the manual.
Copied from Perforce
 Change: 192091
 ServerID: perforce.ravenbrook.com
2016-09-02 13:25:11 +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
Gareth Rees
5e65f8dc6b Epoch now only counts flips in which objects might have moved.
Copied from Perforce
 Change: 191748
 ServerID: perforce.ravenbrook.com
2016-05-01 09:35:24 +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
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
c78477d939 Branching master to branch/2016-04-23/inst-methods.
Copied from Perforce
 Change: 191594
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:43 +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
b7e31828db Memoryerror is only implemented on windows, so test for abort instead.
Copied from Perforce
 Change: 191575
 ServerID: perforce.ravenbrook.com
2016-04-22 17:17:53 +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
fd3136bb30 Fix mmqa function test cases so that they run on windows. in detail:
1. On w3i6mv, int and long are 32 bits, so these types can't be used to hold a size_t or an mps_word_t. See 26.c, 38.c, 47.c, 66.c, 123.c, 136.c, 164.c, 165.c, 200.c, 203.c, 204.c, 205.c, 206.c, 207.c, 215.c, 223.c.
2. The Windows command line doesn't cope with parentheses. See 170.c.
3. The natural platform alignment is 16 bytes on w3i6mv, so allocations into pools using the default alignment need to be rounded up. See 21.c, 22.c, 203.c, 204.c, 205.c.
4. Microsoft Visual C/C++ is fussy about signed/unsigned comparison. See 226.c.
5. windows.h defines a SIZE macro so you can't use it as a parameter. See 232.c.

Copied from Perforce
 Change: 191569
 ServerID: perforce.ravenbrook.com
2016-04-22 15:44:58 +01:00
Gareth Rees
1d47d8f232 Get the mmqa test system working on windows. in detail:
1. Document how to run it on Windows from a Cygwin shell.
2. Ignore trailing spaces when analyzing test output.
3. Use the directory separator "/" since we're running under Cygwin.
4. No need for cat.exe, strings.exe, or tee.exe (these are supplied by Cygwin).
5. Microsoft Visual C/C++ needs /D_CRT_SECURE_NO_WARNINGS to avoid a warning about scanf.
6. The Microsoft Visual C/C++ linker no longer takes the options /debugtype:both or /debug:full. Replace with /debug.
7. Remove /pdb:none option (we want the PDB so that we can debug the result).
8. windows.h defines an UNALIGNED macro, so need to #undef it.
9. The long int type is 32 bits on 64-bit Windows, so we need size_t instead.
10. The values in the LPEXCEPTION_RECORD structure have type ULONG_PTR.
11. Test cases are expecting access violations to report abort=true, but on Windows they are caught by the exception handler, so report abort=true in this case.
12. mpsw3.h has gone, but we do need mpswin.h.

Fix some of the test cases:
1. Avoid compiler warning about overflowed multiplication in argerr/153.c.
2. In conerr/2.c, conerr/8.c and conerr/13.c, malloc enough space so that the signature check doesn't cause an access violation.
3. In conerr/25.c, allocate an object whose size is aligned to the platform alignment, which is 16 bytes on w3i6mv.
4. In connerr/18.c, conerr/53.c and conerr/54.c, update the location and text of the expected assertions.

Copied from Perforce
 Change: 191564
 ServerID: perforce.ravenbrook.com
2016-04-22 15:00:27 +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