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
Gareth Rees
bef1a40374
Change $hopename$ to $id$.
...
Copied from Perforce
Change: 182204
ServerID: perforce.ravenbrook.com
2013-05-25 12:25:45 +01:00
Gareth Rees
25f606b33b
More test maintenance:
...
mps_class_amc() now takes a generation chain.
Copied from Perforce
Change: 182202
ServerID: perforce.ravenbrook.com
2013-05-25 11:35:44 +01:00
Gareth Rees
45d09b045a
Long delayed maintenance of test suite:
...
$HopeName$ -> $Id$
space -> arena
mps_arena_create now takes three arguments
/usr/local/perl -> /usr/bin/perl -w
Missing #include <stdio.h> in several tests
Bogus closedir(DIR); in script/clib
Copied from Perforce
Change: 182199
ServerID: perforce.ravenbrook.com
2013-05-25 10:33:30 +01:00
Richard Brooksby
e5234264fe
Fixing up mps_rank_* to the new interface as a step towards reviving the old test suite.
...
Copied from Perforce
Change: 182174
ServerID: perforce.ravenbrook.com
2013-05-24 19:23:01 +01:00
Nick Barnes
d784feff11
Redact test subdirectory to remove global graphics confidential stuff.
...
Copied from Perforce
Change: 29874
ServerID: perforce.ravenbrook.com
2002-06-07 12:45:38 +01:00
Nick Barnes
88e5e63275
Branch imports for masters.
...
Copied from Perforce
Change: 23678
ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00