1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-23 07:12:12 -07:00
Commit graph

56 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
Gareth Rees
5029137077 In function/45.c, read from ambig[i] to prevent the compiler from optimizing away the array and so allowing p[i] to die.
In function/12.c, add a garbage collection to check that the allocation point protocol is being followed. Ensure there's an ambiguous reference to reserved objects before committin them.

Copied from Perforce
 Change: 187200
 ServerID: perforce.ravenbrook.com
2014-10-10 22:14:22 +01:00
Gareth Rees
e3d0ea57cc Job003495 is fixed, so mmqa test function/171.c now passes.
Reduce workload in function/171.c by a factor of 10 so that it completes in a reasonable amount of time.

Copied from Perforce
 Change: 187194
 ServerID: perforce.ravenbrook.com
2014-10-10 17:35:59 +01:00
Gareth Rees
2803e7fbe9 Cast arguments to the correct type to avoid them being decoded incorrectly by the varargs interface.
Copied from Perforce
 Change: 187190
 ServerID: perforce.ravenbrook.com
2014-10-10 17:14:09 +01:00
Gareth Rees
608d46f90d Make mmqa test suite compile and run on linux (specifically lii6ll).
Avoid compiler warnings about unused variables and bad casts.

Copied from Perforce
 Change: 187188
 ServerID: perforce.ravenbrook.com
2014-10-10 16:58:01 +01:00
Gareth Rees
8f1fc676d4 Fix mmqa test function/136.c:
* Turn off the spare memory on the MVFF pool so that it returns freed memory to the arena immediately.
* Allocate something in the MV pool initially so that the span and block pools have some capacity.
* Stop the test if there isn't room in the MVFF to allocate 2 big blocks.
* Change the test success criterion so that it passes on 64-bit.

Copied from Perforce
 Change: 187182
 ServerID: perforce.ravenbrook.com
2014-10-10 14:04:41 +01:00
Gareth Rees
872169b031 Turn off the spare memory on the mvff pool so that it returns freed memory to the arena immediately.
Copied from Perforce
 Change: 187177
 ServerID: perforce.ravenbrook.com
2014-10-10 12:30:17 +01:00
Gareth Rees
fa19712098 Turn off the hysteresis on the mvff pool so that we are testing the arena hysteresis only.
Copied from Perforce
 Change: 187175
 ServerID: perforce.ravenbrook.com
2014-10-10 12:08:12 +01:00
Gareth Rees
423d8e5104 Need to call easy_tramp to get correct assertion handling.
Copied from Perforce
 Change: 187154
 ServerID: perforce.ravenbrook.com
2014-10-07 22:16:11 +01:00
Gareth Rees
c2513b3f37 Fix test cases: mps_arena_class_vmnz no longer exists, use mps_arena_class_vm instead.
Copied from Perforce
 Change: 187152
 ServerID: perforce.ravenbrook.com
2014-10-07 22:14:22 +01:00
Gareth Rees
6852fbf700 Add test case for registering an unfinalizable object for finalization.
Copied from Perforce
 Change: 187110
 ServerID: perforce.ravenbrook.com
2014-10-02 11:08:37 +01:00
Gareth Rees
ea61771e1a Fix many mmqa test cases:
* Use commit limit to test exhaustion instead of trying to exhaust virtual memory.
* Use exact roots where possible so that we don't have to worry about local variables pinning down memory.
* Reduce sizes and iterations so that tests complete in a reasonable amount of time.
* Use "MVT" instead of "MV2".
Update the list of passing test cases.

Copied from Perforce
 Change: 186035
 ServerID: perforce.ravenbrook.com
2014-05-12 17:13:00 +01:00
Gareth Rees
467f35d5f1 Test cases must call mps_arena_park before mps_chain_destroy.
Reduce the amount of work done by some test cases, to make the suite easier to run.
Update the list of passing test cases.

Copied from Perforce
 Change: 186030
 ServerID: perforce.ravenbrook.com
2014-05-12 15:58:16 +01:00
Gareth Rees
680956c4ea Avoid bad cast on 64-bit.
Copied from Perforce
 Change: 185534
 ServerID: perforce.ravenbrook.com
2014-04-15 00:18:47 +01:00
Gareth Rees
72ba071b4c Fix arenarootswalk:
1. Blacken the segments again after scanning the roots, so that the roots can be walked again.
2. Don't cast RootGrey to a RootIterateFn -- the types are not compatible.
MMQA test function/122.c now passes.

Copied from Perforce
 Change: 185530
 ServerID: perforce.ravenbrook.com
2014-04-14 23:38:54 +01:00
Gareth Rees
2f61fea487 Amc/amcz subclass test needs to be other way round now.
Smoke tests for AMCZ -- add it to amcss, amcsshe, amcssth, finaltest and walkt0.
Smoke tests for LO -- add it to walkt0.
Fix finaltest for AMC and AWL -- need to allocate in generation 0 to get prompt finalization. (Also fix MMQA test function/51.c.)

Copied from Perforce
 Change: 185327
 ServerID: perforce.ravenbrook.com
2014-04-07 23:05:35 +01:00
Gareth Rees
ccbc0f26bb Mmqa test case function/46.c now passes; update passing.
Copied from Perforce
 Change: 185236
 ServerID: perforce.ravenbrook.com
2014-04-04 22:00:39 +01:00
Gareth Rees
77a5a83bc8 Allocate with the right size.
Copied from Perforce
 Change: 185233
 ServerID: perforce.ravenbrook.com
2014-04-04 18:22:13 +01:00
Gareth Rees
3468b3c068 Modernize and fix more test cases:
* Missing mps_chain_destroy in function/132.
* Need to use platform alignment in the MVFF test cases (function/163, function/164, function/165, function/167, function/170)
* Avoid type pun in function/226.
Update testsets/passing accordingly.

Copied from Perforce
 Change: 182262
 ServerID: perforce.ravenbrook.com
2013-05-27 13:38:04 +01:00
Gareth Rees
fb3da86ab1 Mps_park is now mps_arena_park.
Copied from Perforce
 Change: 182237
 ServerID: perforce.ravenbrook.com
2013-05-25 23:04:11 +01:00
Gareth Rees
7c0056b720 Avoid puns in mps_root_create_table.
Copied from Perforce
 Change: 182236
 ServerID: perforce.ravenbrook.com
2013-05-25 23:03:51 +01:00
Gareth Rees
c014a160ac Avoid test failure in function/120: can't provoke resresource so easily.
Copied from Perforce
 Change: 182234
 ServerID: perforce.ravenbrook.com
2013-05-25 20:18:07 +01:00
Gareth Rees
5db989ff27 Interface to mps_finalize has changed.
Copied from Perforce
 Change: 182233
 ServerID: perforce.ravenbrook.com
2013-05-25 19:20:00 +01:00
Gareth Rees
40ddc77dee Avoid type pun in mps_root_create_table.
Copied from Perforce
 Change: 182232
 ServerID: perforce.ravenbrook.com
2013-05-25 18:34:53 +01:00
Gareth Rees
0cedf996ec More test maintenance: mps_message_type_finalization is now mps_message_type_finalization().
Copied from Perforce
 Change: 182229
 ServerID: perforce.ravenbrook.com
2013-05-25 15:54:40 +01:00
Gareth Rees
6dc3173077 More test maintenance: mps_class_awl() now takes a find-dependent-object function.
Copied from Perforce
 Change: 182219
 ServerID: perforce.ravenbrook.com
2013-05-25 14:37:17 +01:00