Gareth Rees
851e35bcff
Move the arenaemergency test up to policypollagain.
...
Copied from Perforce
Change: 188217
ServerID: perforce.ravenbrook.com
2015-09-03 15:39:39 +01:00
Gareth Rees
ef62affc6d
Move the clearing of the emergency flag down into tracedestroy{init,finish}.
...
Copied from Perforce
Change: 188216
ServerID: perforce.ravenbrook.com
2015-09-03 15:35:38 +01:00
Gareth Rees
b4db3bd09f
Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
...
Copied from Perforce
Change: 188210
ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00
Gareth Rees
ffbe7beaa5
Accumulate scannedsize in mrg pool.
...
Copied from Perforce
Change: 188209
ServerID: perforce.ravenbrook.com
2015-09-03 11:54:55 +01:00
Gareth Rees
bea6e91d73
Accumulate trace metrics in arenapark.
...
Copied from Perforce
Change: 188208
ServerID: perforce.ravenbrook.com
2015-09-03 11:50:28 +01:00
Gareth Rees
e131ab2c8b
Aver that results of arenaavail, arenacollectable and arenascannable are non-negative.
...
Copied from Perforce
Change: 188207
ServerID: perforce.ravenbrook.com
2015-09-03 10:12:18 +01:00
Gareth Rees
3b0e0c2aa5
Don't start a trace unless there's work to do.
...
Copied from Perforce
Change: 188204
ServerID: perforce.ravenbrook.com
2015-09-02 21:55:24 +01:00
Gareth Rees
309d42e408
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188203
ServerID: perforce.ravenbrook.com
2015-09-02 21:23:23 +01:00
Gareth Rees
9a303f6935
Refactor tracequantum into tracepoll and traceadvance. (tracequantum was formerly called from arenapark, but that doesn't care about the quantum size.)
...
Copied from Perforce
Change: 188198
ServerID: perforce.ravenbrook.com
2015-09-02 10:50:00 +01:00
Gareth Rees
1f6522bd04
Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188176
ServerID: perforce.ravenbrook.com
2015-08-25 19:35:03 +01:00
Gareth Rees
028510db19
Catch-up merge from branch/2015-08-06/config to branch/2015-08-25/tradeoff.
...
Copied from Perforce
Change: 188175
ServerID: perforce.ravenbrook.com
2015-08-25 19:32:55 +01:00
Gareth Rees
b0e9c66094
Use sizeisarenagrains macro.
...
Copied from Perforce
Change: 188172
ServerID: perforce.ravenbrook.com
2015-08-25 15:03:35 +01:00
Gareth Rees
517ffb9344
Condition >= 1.0 is needed to ensure division can't overflow.
...
Copied from Perforce
Change: 188170
ServerID: perforce.ravenbrook.com
2015-08-25 13:50:19 +01:00
Gareth Rees
9dd49aa48e
New functions policypoll and policypollagain.
...
Update design.strategy.
Copied from Perforce
Change: 188165
ServerID: perforce.ravenbrook.com
2015-08-25 13:27:17 +01:00
Gareth Rees
d506458eea
New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
...
Copied from Perforce
Change: 188160
ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
38f07daa3d
Fix broken link to design/thread-safety
...
Copied from Perforce
Change: 188158
ServerID: perforce.ravenbrook.com
2015-08-21 11:20:20 +01:00
Gareth Rees
1710a3bb97
Prefer avert(type, value) to aver(typecheck(value)).
...
Copied from Perforce
Change: 188157
ServerID: perforce.ravenbrook.com
2015-08-21 11:14:27 +01:00
Gareth Rees
b41d6be0e4
New function policycondemnchain.
...
Copied from Perforce
Change: 188156
ServerID: perforce.ravenbrook.com
2015-08-21 11:01:00 +01:00
Gareth Rees
eee7ccb60c
New function policystarttrace decides whether to start a trace.
...
Copied from Perforce
Change: 188154
ServerID: perforce.ravenbrook.com
2015-08-20 16:57:33 +01:00
Gareth Rees
b3056139c8
New module policy.c.
...
Copied from Perforce
Change: 188152
ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
c2d2eacdb2
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
365acce878
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
5f578c7d8a
Improve organization and naming of arena's free land initialization and finish code, following review by nb < https://info.ravenbrook.com/mail/2015/08/11/15-52-34/0/ >.
...
Copied from Perforce
Change: 188143
ServerID: perforce.ravenbrook.com
2015-08-14 10:30:16 +01:00
Gareth Rees
117f50417c
Address review comments from nb in < https://info.ravenbrook.com/mail/2015/08/10/15-57-46/0/ >
...
Copied from Perforce
Change: 188115
ServerID: perforce.ravenbrook.com
2015-08-10 18:55:16 +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
66c2645e03
Tear down arena correctly if controlinit fails.
...
Copied from Perforce
Change: 188100
ServerID: perforce.ravenbrook.com
2015-08-10 11:43:17 +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
6359b0ed98
Merge branch/2014-09-29/reserved into the master sources.
...
Copied from Perforce
Change: 188090
ServerID: perforce.ravenbrook.com
2015-08-07 16:33:43 +01:00
Gareth Rees
b3e8eb2280
The primary chunk is always the last chunk to be removed, so assert that. review suggestion from rb; see < https://info.ravenbrook.com/mail/2015/08/07/13-56-51/0/ >
...
Copied from Perforce
Change: 188089
ServerID: perforce.ravenbrook.com
2015-08-07 16:14:50 +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
Richard Brooksby
1a730f9e83
Clarifying situations in which arenaaccess might find the barrier already down. see < https://info.ravenbrook.com/mail/2015/07/14/15-08-55/0/ >.
...
Copied from Perforce
Change: 188033
ServerID: perforce.ravenbrook.com
2015-07-14 17:18:00 +01:00
Gareth Rees
0394f40751
Fix comment (function is named vmarenamap, not vmarenamap).
...
Copied from Perforce
Change: 187965
ServerID: perforce.ravenbrook.com
2015-06-19 12:01:01 +01:00
Gareth Rees
3c5be3b3a9
The table of references passed to mps_root_create_table must be word-aligned.
...
Explain why mps_root_create_fmt doesn't check the alignment of base and limit.
Copied from Perforce
Change: 187947
ServerID: perforce.ravenbrook.com
2015-06-15 22:12:42 +01:00
Gareth Rees
55b13ab5b5
The stack pointer passed to mps_root_create_reg must be word-aligned.
...
Copied from Perforce
Change: 187946
ServerID: perforce.ravenbrook.com
2015-06-15 22:11:48 +01:00
Gareth Rees
5cf97c8aba
Explain why ldadd and ldisstale don't check that the address belongs to the arena, and don't check the alignment of the address.
...
Copied from Perforce
Change: 187945
ServerID: perforce.ravenbrook.com
2015-06-15 22:10:19 +01:00
Gareth Rees
3cf8519b72
If mvinit fails, ensure that its block pool is finished.
...
Copied from Perforce
Change: 187940
ServerID: perforce.ravenbrook.com
2015-06-15 18:11:32 +01:00
Gareth Rees
3f28170688
Use testrun -s suite when running from xcode.
...
Copied from Perforce
Change: 187938
ServerID: perforce.ravenbrook.com
2015-06-15 17:20:27 +01:00
Gareth Rees
09c5c1031f
Fix cross-references.
...
Copied from Perforce
Change: 187791
ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
8a16ef48eb
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187788
ServerID: perforce.ravenbrook.com
2015-03-18 20:54:28 +00:00
Gareth Rees
a6ca2d9e52
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187787
ServerID: perforce.ravenbrook.com
2015-03-18 20:49:59 +00:00
Gareth Rees
ca8c2ae824
Merge commpre.nmk and commpost.nmk into comm.nmk.
...
Copied from Perforce
Change: 187528
ServerID: perforce.ravenbrook.com
2014-11-29 16:43:45 +00:00
Gareth Rees
1ba6b0814d
Testrun.sh now takes the suite via the -s option. this means that you can run a single test case.
...
testrun.sh now takes a "runner" via the -r option. You can pass something like "noaslr" to run all the test cases with ASLR turned off.
Copied from Perforce
Change: 187496
ServerID: perforce.ravenbrook.com
2014-11-08 10:05:05 +00:00
Gareth Rees
0b1bec15f8
Count the number of calls to make, for help with setting watchpoints.
...
Copied from Perforce
Change: 187491
ServerID: perforce.ravenbrook.com
2014-11-07 14:52:26 +00:00
Gareth Rees
9b452d00cc
Vmarenagrow now passes on the result code from vmchunkcreate, instead of substituting resresource under the circumstances described in job003899.
...
Copied from Perforce
Change: 187489
ServerID: perforce.ravenbrook.com
2014-11-07 14:04:35 +00:00
Gareth Rees
a7b32f4efc
Use gc_start messages to count collections.
...
Copied from Perforce
Change: 187487
ServerID: perforce.ravenbrook.com
2014-11-07 13:20:49 +00:00
Gareth Rees
adb6631e7e
Use gc_start messages to robustly determine whether a collection started (rather than the unreliable mps_collections).
...
Copied from Perforce
Change: 187485
ServerID: perforce.ravenbrook.com
2014-11-07 10:41:51 +00:00
Gareth Rees
c3ca6e36d1
Remove redundant pfmdefs from windows makefiles.
...
Explain how to write a Windows makefile when porting the MPS.
Copied from Perforce
Change: 187473
ServerID: perforce.ravenbrook.com
2014-11-06 15:28:40 +00:00
Gareth Rees
5315baa846
The "remember" parameters to arenaexposeremember is a boolean, not an integer.
...
Copied from Perforce
Change: 187467
ServerID: perforce.ravenbrook.com
2014-11-06 12:03:18 +00:00
Gareth Rees
506aa1f362
Check that sparsearraymap makes some (or no) progress.
...
Copied from Perforce
Change: 187465
ServerID: perforce.ravenbrook.com
2014-11-06 10:56:45 +00:00