Richard Brooksby
080d135eec
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
d4e54ba17e
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
5dccd2e006
Catch-up merge from masters.
...
Copied from Perforce
Change: 188928
ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Gareth Rees
537af4b0dc
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
7dee7f10ea
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
8d2ed22908
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
511ec1c025
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
afb5ff33c1
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
703c1ee5f5
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
1f95ffbe53
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
24c0e9500f
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
25d29beacb
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
c96e19b7c8
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
9926492d9a
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
eced8cbdad
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
42633ca624
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
34c8efce22
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
18a618cfe1
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
f49ea829b9
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
28ceede8dc
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
faf6789c71
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
712b443baf
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
dddab0caf3
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
db01741686
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
5cf7a4aa4e
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
71c23bb40a
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
2108c78cc0
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
2a9e74ef82
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
97fd4f2d85
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
8f9c8f777b
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
efac0cc601
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
fc86db4ec6
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
b86947796e
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
474cff250d
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
2d7805b65b
Allocate with the right size.
...
Copied from Perforce
Change: 185233
ServerID: perforce.ravenbrook.com
2014-04-04 18:22:13 +01:00
Gareth Rees
003a16f3c9
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
bd4f937857
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
f4101d17ae
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
7e6182cfd7
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
271a76dc83
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
047f55d953
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
398149cbc8
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
d2f95296f8
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
a625587f50
Change $hopename$ to $id$.
...
Copied from Perforce
Change: 182204
ServerID: perforce.ravenbrook.com
2013-05-25 12:25:45 +01:00
Gareth Rees
9a880c8d0d
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
e1a70a73db
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
fd8912c287
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
d73ba8dd41
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
7acfca905d
Branch imports for masters.
...
Copied from Perforce
Change: 23678
ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00