1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-22 05:51:11 -07:00
Commit graph

106 commits

Author SHA1 Message Date
Richard Brooksby
44f80af1ec Merging branch mps/branch/2016-03-13/without-reservation into master sources.
Copied from Perforce
 Change: 190106
 ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
339445436b Catch-up merge from master sources to branch/2014-10-13/format.
Copied from Perforce
 Change: 190060
 ServerID: perforce.ravenbrook.com
2016-03-15 10:02:21 +00:00
Gareth Rees
d0bc388308 Remove mmqa test cases for the reservoir.
Copied from Perforce
 Change: 190018
 ServerID: perforce.ravenbrook.com
2016-03-13 22:44:49 +00:00
Gareth Rees
a127feb2d5 Use a regular expression in case the number of built-in pools changes.
Copied from Perforce
 Change: 190011
 ServerID: perforce.ravenbrook.com
2016-03-13 21:49:36 +00:00
Richard Brooksby
de2f00c5ab Updating conerr/4 to know the correct number of pools, now that the reservoir is gone.
Copied from Perforce
 Change: 190010
 ServerID: perforce.ravenbrook.com
2016-03-13 21:49:23 +00:00
Gareth Rees
8a43718971 Avoid unused variable warnings.
Copied from Perforce
 Change: 189978
 ServerID: perforce.ravenbrook.com
2016-03-13 14:58:09 +00:00
Gareth Rees
2bdef084ba Avoid warnings when compiling argerr/{146,147,148}.c with gcc.
Test cases conerr/{53,54}.c rely on junk in uninitialized local variables, so ensure that there is some.
Test case function/72.c relies on an object moving, but it might be pinned by an ambiguous reference from the stack, so don't register the stack as a root.

Copied from Perforce
 Change: 189964
 ServerID: perforce.ravenbrook.com
2016-03-13 14:16:39 +00:00
Gareth Rees
8aea7df2ee Regular testing of mmqa: "make test-make-build" at top level now runs mmqa, hence so does "make test" on linux and freebsd. the whole test suite, including testci, testmmqa, testansi, and testpollnone, takes 26 minutes on my laptop.
MMQA "run" and "runset" commands now exit with non-zero status if any of the tests failed, so that test failures can be identifed by the calling program (for example, make).
Add missing license to files that state "See end of file for license."

Copied from Perforce
 Change: 189957
 ServerID: perforce.ravenbrook.com
2016-03-13 12:57:02 +00:00
Gareth Rees
5899074dfb A few more mmqa speedups.
Copied from Perforce
 Change: 189948
 ServerID: perforce.ravenbrook.com
2016-03-13 11:42:53 +00:00
Gareth Rees
37fc360ffe Speed up more mmqa test cases. on my laptop, the whole mmqa test suite (or at least the passing subset) now takes 5 minutes in the hot variety and 11 minutes in the cool variety.
Copied from Perforce
 Change: 189947
 ServerID: perforce.ravenbrook.com
2016-03-13 11:42:32 +00:00
Gareth Rees
f0eb2eb500 Speed up mmqa test cases by reducing iterations. additionally:
* Take test options as parameters=.
* Rename BLAH to VERBOSE.
* Clearer reporting of slotHigh, arenaHigh, firstFit options to MVFF.
* Report times in seconds (not centiseconds).
* Reduce the commit limit exponentially and stop when too small.
* Ramp entering/leaving probabilities are scaled by iterations.

Copied from Perforce
 Change: 189899
 ServerID: perforce.ravenbrook.com
2016-03-12 18:27:38 +00:00
Gareth Rees
7c8ad5a276 Add instructions for testing the hot variety.
Copied from Perforce
 Change: 189720
 ServerID: perforce.ravenbrook.com
2016-03-07 19:58:52 +00:00
Gareth Rees
b313def853 Avoid unusued variable warnings from clang 3.4.1.
Copied from Perforce
 Change: 189717
 ServerID: perforce.ravenbrook.com
2016-03-07 18:47:27 +00:00
Gareth Rees
aa45b563da Move blatting to a function so that its local variables don't remain on the stack and pin down objects.
Copied from Perforce
 Change: 189714
 ServerID: perforce.ravenbrook.com
2016-03-07 17:31:55 +00:00
Gareth Rees
4b962a1d33 Some mmqa tests only work in the cool variety. segregate these into the "coolonly" testset.
Copied from Perforce
 Change: 189711
 ServerID: perforce.ravenbrook.com
2016-03-07 17:18:21 +00:00
Gareth Rees
3c4b2ad1a9 Change 189541 renamed the reg_scan_p parameter to mps_root_create_reg; update test cases accordingly.
Copied from Perforce
 Change: 189673
 ServerID: perforce.ravenbrook.com
2016-03-06 14:07:45 +00:00
Richard Brooksby
43741faecf Catch up merge from master sources.
Copied from Perforce
 Change: 189088
 ServerID: perforce.ravenbrook.com
2016-02-03 16:56:04 +00:00
Richard Brooksby
e64e5b2e25 Backing out the introduction of mps_arena_configure. see <https://info.ravenbrook.com/mail/2016/01/15/11-56-45/0>.
Copied from Perforce
 Change: 189081
 ServerID: perforce.ravenbrook.com
2016-02-03 15:52:05 +00:00
Richard Brooksby
1ac6033058 Catch-up merge from masters.
Copied from Perforce
 Change: 188928
 ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Gareth Rees
6ea9bc7894 Rename mps_key_arena_commit_limit and mps_key_arena_spare_commit_limit as mps_key_commit_limit and mps_key_spare_commit_limit respectively, as suggested by nb in review.
Copied from Perforce
 Change: 188286
 ServerID: perforce.ravenbrook.com
2015-09-08 16:21:27 +01:00
Gareth Rees
1e2d5dd4d8 Catch-up merge from master sources to branch/2015-08-06/config.
Copied from Perforce
 Change: 188146
 ServerID: perforce.ravenbrook.com
2015-08-14 16:35:07 +01:00
Gareth Rees
c8644421da Merge branch/2015-08-10/arena-create into the master sources.
Copied from Perforce
 Change: 188144
 ServerID: perforce.ravenbrook.com
2015-08-14 10:57:06 +01:00
Gareth Rees
106b9a1e9e Make -b ensures that mps.o gets rebuilt.
Copied from Perforce
 Change: 188132
 ServerID: perforce.ravenbrook.com
2015-08-11 12:01:53 +01:00
Gareth Rees
18e3d677e7 Test case function/228.c is passing.
Copied from Perforce
 Change: 188123
 ServerID: perforce.ravenbrook.com
2015-08-11 08:35:53 +01:00
Gareth Rees
bdfc9df9d5 New test case 231: create/configure arena with too-small commit limit.
Copied from Perforce
 Change: 188118
 ServerID: perforce.ravenbrook.com
2015-08-10 20:29:21 +01:00
Gareth Rees
b5f1802c6b Apply commit limit (and spare commit limit) during arena creation, to avoid exceeding the limit and then discovering that we've done so.
Add test case for arena hitting commit limit during creation.

Copied from Perforce
 Change: 188106
 ServerID: perforce.ravenbrook.com
2015-08-10 15:27:26 +01:00
Gareth Rees
56e56e4ff4 Catch-up merge from branch/2015-08-10/arena-create to branch/2015-08-06/config.
Copied from Perforce
 Change: 188104
 ServerID: perforce.ravenbrook.com
2015-08-10 12:49:36 +01:00
Gareth Rees
c966e6c33e Correct the test for too-small client arena sizes.
Add automated test case for client arenas with small sizes.

Copied from Perforce
 Change: 188099
 ServerID: perforce.ravenbrook.com
2015-08-10 11:41:58 +01:00
Gareth Rees
098b4da32d New function mps_arena_configure provides keyword argument interface to changing the properties of an arena.
New keyword arguments MPS_KEY_ARENA_COMMIT_LIMIT and MPS_KEY_SPARE_ARENA_COMMIT_LIMIT can be passed to mps_arena_create_k or mps_arena_configure.
Deprecate mps_arena_commit_limit_set and mps_arena_spare_commit_limit_set.

Copied from Perforce
 Change: 188085
 ServerID: perforce.ravenbrook.com
2015-08-06 17:02:51 +01:00
Gareth Rees
ba370c09f4 Tweak order of operations so that stack temporary doesn't keep many objects alive.
Copied from Perforce
 Change: 187953
 ServerID: perforce.ravenbrook.com
2015-06-16 10:44:09 +01:00
Gareth Rees
e8d4e418aa Testsets/conerr now passes.
Copied from Perforce
 Change: 187950
 ServerID: perforce.ravenbrook.com
2015-06-15 22:59:14 +01:00
Gareth Rees
0fa81a0154 Argerr testset now passes.
Copied from Perforce
 Change: 187948
 ServerID: perforce.ravenbrook.com
2015-06-15 22:21:52 +01:00
Gareth Rees
79f234b217 Arguments to the varargs function mps_pool_create must be cast, otherwise the default c promotion rules will result in a constant value lke 64 being protomoted to int (4 bytes) but decoded (wrongly) as size_t (8 bytes).
Copied from Perforce
 Change: 187943
 ServerID: perforce.ravenbrook.com
2015-06-15 19:34:45 +01:00
Gareth Rees
e269e9c283 100 pools are not enough to exceed the commit limit; try 1000 instead.
Copied from Perforce
 Change: 187941
 ServerID: perforce.ravenbrook.com
2015-06-15 18:26:36 +01:00
Gareth Rees
76c278c99b Use chomp instead of chop for lines read in from file handles: the last line read from a file does not necessarily have a newline.
Copied from Perforce
 Change: 187937
 ServerID: perforce.ravenbrook.com
2015-06-15 17:20:04 +01:00
Gareth Rees
8a37214504 Change file type to ktext so that qa reports the correct test name.
Copied from Perforce
 Change: 187936
 ServerID: perforce.ravenbrook.com
2015-06-15 17:05:39 +01:00
Gareth Rees
cb3f6ce768 Minor documentation improvements.
Copied from Perforce
 Change: 187407
 ServerID: perforce.ravenbrook.com
2014-10-26 12:44:58 +00:00
Gareth Rees
ce7dc08514 Add a section to the guide explaining how to implement malloc and free.
Copied from Perforce
 Change: 187399
 ServerID: perforce.ravenbrook.com
2014-10-25 22:31:07 +01:00
Gareth Rees
16c479a77a Mmqa test function/227.c now passes.
Update test README to mention which function to breakpoint.

Copied from Perforce
 Change: 187397
 ServerID: perforce.ravenbrook.com
2014-10-25 20:03:44 +01:00
Gareth Rees
e102a56958 Use a reference count to discover cases where a format is deleted when a pool is still using it, as suggested by rb <https://info.ravenbrook.com/mail/2014/10/16/13-35-06/0/>.
Copied from Perforce
 Change: 187279
 ServerID: perforce.ravenbrook.com
2014-10-16 22:59:00 +01:00
Gareth Rees
e38d608024 Assert if you try to create a pool using a format from another arena, a pool using a chain from another arena, or a root using a thread from another arena.
Copied from Perforce
 Change: 187268
 ServerID: perforce.ravenbrook.com
2014-10-14 22:21:43 +01:00
Gareth Rees
e185863a15 Check alignment of address given to poolfree.
Copied from Perforce
 Change: 187265
 ServerID: perforce.ravenbrook.com
2014-10-14 16:54:10 +01:00
Gareth Rees
821dc9114d Attach the pools using a format to a ring in the format, so that when we destroy the format, we can check that no pools are using it.
Copied from Perforce
 Change: 187253
 ServerID: perforce.ravenbrook.com
2014-10-13 22:44:20 +01:00
Gareth Rees
5ed62f110b Get the mmqa conerr tests working:
* Make sure all the test build and run.
* Add output specifications to the passing tests.
* New testset/conerr runs them all.

Copied from Perforce
 Change: 187248
 ServerID: perforce.ravenbrook.com
2014-10-13 21:34:12 +01:00
Gareth Rees
4372c9d685 Move <stdlib.h> from testlib.c to testlib.h, for the benefit of test cases that need to use malloc.
Copied from Perforce
 Change: 187247
 ServerID: perforce.ravenbrook.com
2014-10-13 21:33:42 +01:00
Gareth Rees
e0d7895262 Get the mmqa argerr tests working:
* Make sure all the test build and run.
* Add output specifications to the passing tests.
* New testset/argerr runs them all.

Copied from Perforce
 Change: 187245
 ServerID: perforce.ravenbrook.com
2014-10-13 18:35:11 +01:00
Gareth Rees
8fc96e7609 Mmqa test harness improvements:
* Don't compile for profiling (not needed at the moment)
* Compile with -Wno-unused -Wno-missing-prototypes on OS X (so that argerr/146.c and similar test cases will build).
* Output conclusion for the first failing result (in alphabetical order), rather than whatever comes out of the hash table first.
* Don't gather symbols from block comments, otherwise we can't specify results like "assertcond = mps_pool_o != NULL" as MMQA will think that mps_pool_o is a missing symbol.

Copied from Perforce
 Change: 187244
 ServerID: perforce.ravenbrook.com
2014-10-13 18:33:37 +01:00
Gareth Rees
d2b4f1992f Turn off the spare memory on the mvff pool so that it returns freed memory to the arena immediately.
Free the initial allocations so that the result determination is accurate.

Copied from Perforce
 Change: 187206
 ServerID: perforce.ravenbrook.com
2014-10-11 00:57:28 +01:00
Gareth Rees
4b52294773 Specifying assertcond rather than assertline is likely to be more robust against code changes.
Copied from Perforce
 Change: 187203
 ServerID: perforce.ravenbrook.com
2014-10-10 22:55:48 +01:00
Gareth Rees
fbf748a1b7 Need to take spare committed memory into account when checking that memory usage hasn't gone up after a collection.
Copied from Perforce
 Change: 187202
 ServerID: perforce.ravenbrook.com
2014-10-10 22:43:07 +01:00