Gareth Rees
367ae76614
Park the arena before calling mps_chain_destroy.
...
Speed up mpsicv by reducing number of objects and by only running the test once (there's no inlined mps_tramp any more).
Copied from Perforce
Change: 186024
ServerID: perforce.ravenbrook.com
2014-05-12 12:53:46 +01:00
Gareth Rees
a80d297099
Mpseventtxt must not itself output telemetry, otherwise it is likely to overwrite the telemetry it is converting.
...
Copied from Perforce
Change: 186023
ServerID: perforce.ravenbrook.com
2014-05-12 12:30:46 +01:00
Gareth Rees
e13fc954ce
Park the arena before destroying the default chain, to ensure that there are no traces using that chain.
...
Fix test cases that used automatic collection, but destroyed data structures without parking the arena.
Document the requirement on mps_chain_destroy and add the assertion to "common assertions and their causes".
Copied from Perforce
Change: 186021
ServerID: perforce.ravenbrook.com
2014-05-12 11:19:57 +01:00
Gareth Rees
93d01e3ca8
It is an error to destroy a chain if there is an active trace using the chain.
...
Copied from Perforce
Change: 186013
ServerID: perforce.ravenbrook.com
2014-05-11 21:47:20 +01:00
Gareth Rees
e25bb01799
Check the argument using argcheck.
...
Copied from Perforce
Change: 186007
ServerID: perforce.ravenbrook.com
2014-05-11 19:18:54 +01:00
Gareth Rees
3a1ce9493f
Remove mps_key_cbs_extend_by and mfsextendself keyword arguments to cbsinit. these were unused and obsoleted by cbsblockpool.
...
Copied from Perforce
Change: 186006
ServerID: perforce.ravenbrook.com
2014-05-11 19:09:44 +01:00
Gareth Rees
358a76bf00
Remove unused function mfsgetinfo and unused type mfsinfo.
...
Copied from Perforce
Change: 186004
ServerID: perforce.ravenbrook.com
2014-05-11 18:52:53 +01:00
Gareth Rees
d60451c8ad
Check keyword arguments after picking them.
...
Copied from Perforce
Change: 185999
ServerID: perforce.ravenbrook.com
2014-05-11 18:17:40 +01:00
Gareth Rees
9166015cf7
Remove some unused headers.
...
Copied from Perforce
Change: 185994
ServerID: perforce.ravenbrook.com
2014-05-10 09:47:58 +01:00
Gareth Rees
be87b190ed
Defined(aver_and_check_all) is a better condition for invalidating the colour tables.
...
Copied from Perforce
Change: 185993
ServerID: perforce.ravenbrook.com
2014-05-10 09:45:26 +01:00
Gareth Rees
3a6a9e1101
Fix compilation of seg.c.
...
1. "#ifdef CHECKLEVEL > CheckLevelMINIMAL" was bogus: the #ifdef should have been #if, but even then it would not be right, because in the CHECKLEVEL_DYNAMIC configuration, CHECKLEVEL is a variable rather than a preprocessor constant. So use the condition defined(AVER_AND_CHECK_ALL) instead.
2. The final CHECKL(addr == seg->limit) only makes sense if the loop was executed.
3. The variables used by the loop need to be inside the #if to avoid warnings about unused variables.
4. Add reference to the job from a comment.
Copied from Perforce
Change: 185992
ServerID: perforce.ravenbrook.com
2014-05-10 09:44:25 +01:00
David Lovemore
4c52e0390b
Only include tract loop ion segcheck when check level > minimal.
...
This is to speed up SegCheck in HOT variety.
Copied from Perforce
Change: 185971
ServerID: perforce.ravenbrook.com
2014-05-06 12:19:06 +01:00
Gareth Rees
085b15deb2
Scheme constructors now take an allocation point.
...
Copied from Perforce
Change: 185959
ServerID: perforce.ravenbrook.com
2014-05-04 20:39:31 +01:00
Gareth Rees
e50f28afeb
The mps_args_add_field and mps_args_done now check that the number of arguments is in bounds.
...
Copied from Perforce
Change: 185938
ServerID: perforce.ravenbrook.com
2014-05-02 11:34:38 +01:00
Gareth Rees
ef779449b4
Default value for mps_key_ams_support_ambiguous is now the safer value true.
...
Copied from Perforce
Change: 185927
ServerID: perforce.ravenbrook.com
2014-05-01 18:02:53 +01:00
Gareth Rees
f82973bf08
Fix problems with the xcode project file (introduced in bad merges):
...
* airtest got built as mv2test in the RASH config
* airtest and nailboardtest got build with profiling in Debug config
* airtest still had bogus WE config
Copied from Perforce
Change: 185916
ServerID: perforce.ravenbrook.com
2014-05-01 12:21:17 +01:00
Gareth Rees
7620c6fcd1
Fix rash build on os x by adding the unused attribute to functions declared static that are not called in the rash variety.
...
Copied from Perforce
Change: 185915
ServerID: perforce.ravenbrook.com
2014-05-01 12:18:00 +01:00
Gareth Rees
1e7cb5aa2f
Add testpoll on os x.
...
Copied from Perforce
Change: 185910
ServerID: perforce.ravenbrook.com
2014-04-30 17:38:51 +01:00
Gareth Rees
de9b166661
Arenarelease now calls arenapoll (not tracepoll) so that it doesn't break in config_poll_none.
...
Copied from Perforce
Change: 185908
ServerID: perforce.ravenbrook.com
2014-04-30 17:00:11 +01:00
Gareth Rees
2f4d1c8cd4
Catch-up merge from master sources to branch/2014-03-25/ansi.
...
Copied from Perforce
Change: 185907
ServerID: perforce.ravenbrook.com
2014-04-30 16:51:30 +01:00
Gareth Rees
f5212b5129
Update comment to match design.
...
Copied from Perforce
Change: 185902
ServerID: perforce.ravenbrook.com
2014-04-30 16:30:01 +01:00
Gareth Rees
3bdf7fc878
All prottramp implementations are now the same, so there is no need for separate implementations.
...
Copied from Perforce
Change: 185901
ServerID: perforce.ravenbrook.com
2014-04-30 16:29:42 +01:00
Gareth Rees
0a4c4fcaa6
Fix problems identified by dl in < https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/ >.
...
Copied from Perforce
Change: 185897
ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00
Gareth Rees
8837b85cb1
Pass gen parameter to amsinitinternal.
...
Set up segsmss with same chain as before.
Copied from Perforce
Change: 185885
ServerID: perforce.ravenbrook.com
2014-04-30 12:09:09 +01:00
Gareth Rees
0eb9ac546f
Pool generations now refer directly to their generation (not via a chain and a generation number).
...
Allocation into a generation now via PoolGenAlloc (not ChainAlloc).
The "top generation" logic is encapsulated in the function ChainGen.
Copied from Perforce
Change: 185877
ServerID: perforce.ravenbrook.com
2014-04-30 11:18:44 +01:00
Gareth Rees
7754224b53
No need for prod_checklevel_initial (was unused).
...
Copied from Perforce
Change: 185876
ServerID: perforce.ravenbrook.com
2014-04-30 11:08:23 +01:00
David Lovemore
70c0cb9a94
Rename bool(v) to boolof(v) to fix clash with the windows header file windows.h
...
Copied from Perforce
Change: 185841
ServerID: perforce.ravenbrook.com
2014-04-28 13:14:04 +01:00
Gareth Rees
0582cdfc38
Fix amsss.
...
Copied from Perforce
Change: 185813
ServerID: perforce.ravenbrook.com
2014-04-26 11:12:45 +01:00
Gareth Rees
b888d047ba
Explain traceaddwhite failure logic as requested by nb in < https://info.ravenbrook.com/mail/2014/04/24/12-10-09/0/ >.
...
Copied from Perforce
Change: 185800
ServerID: perforce.ravenbrook.com
2014-04-25 17:41:56 +01:00
Gareth Rees
b674ece749
Tracecondemnzones could leave the white set inconsistent if traceaddwhite failed. add an assertion to cover this case (corresponding to the similar assertion in tracecondemnall).
...
Copied from Perforce
Change: 185765
ServerID: perforce.ravenbrook.com
2014-04-23 20:22:19 +01:00
Gareth Rees
ca7dab39da
Test all 8 combinations of debug, chain, ambig.
...
Copied from Perforce
Change: 185763
ServerID: perforce.ravenbrook.com
2014-04-23 19:42:27 +01:00
Gareth Rees
4ed2986197
Test the arena default chain. set the commit limit to make sure that the collector can make progress.
...
Copied from Perforce
Change: 185749
ServerID: perforce.ravenbrook.com
2014-04-22 23:18:42 +01:00
Gareth Rees
204abf130e
Fix indentation.
...
Copied from Perforce
Change: 185746
ServerID: perforce.ravenbrook.com
2014-04-22 21:57:16 +01:00
Gareth Rees
8815555fd9
Separate jobs for lo and awl finalization.
...
Copied from Perforce
Change: 185743
ServerID: perforce.ravenbrook.com
2014-04-22 21:40:59 +01:00
Gareth Rees
6ffd4c7df5
Fix bugs in condemn logic:
...
1. TraceStartCollectAll now condemns all segments in pools with AttrGC (not just pools attached to generation zero of some chain, as before).
2. ChainDeferral now looks at all generations in the chain, so that the chain is condemned if any generation's new size is greater than its capacity (not just generation zero, as before).
3. ChainCondemnAuto now condemns all generations up to and including the highest generation whose new size is greater than its capacity (rather than, as before, up to and excluding the lowest generation whose new size is lower than its capacity).
Update finaltest.c so that it has a mode in which it allocates in generation 1 of a chain and with the arena released so that the above fixes are tested. Remove the MPS_KEY_GEN workarounds from awlut and awluthe as these are no longer needed.
Copied from Perforce
Change: 185741
ServerID: perforce.ravenbrook.com
2014-04-22 17:53:47 +01:00
Gareth Rees
3ea6e3af7d
Use freelistend instead of null as the special value.
...
Copied from Perforce
Change: 185617
ServerID: perforce.ravenbrook.com
2014-04-17 00:19:45 +01:00
Gareth Rees
5eebc02a46
Explain reasoning in amsbufferempty, as requested by rb < https://info.ravenbrook.com/mail/2014/04/16/12-42-33/0/ >.
...
Copied from Perforce
Change: 185603
ServerID: perforce.ravenbrook.com
2014-04-16 13:59:33 +01:00
Gareth Rees
e97db74a0c
Avoid avers with side effects, as requested by rb in < https://info.ravenbrook.com/mail/2014/04/16/11-47-22/0/ >
...
Copied from Perforce
Change: 185595
ServerID: perforce.ravenbrook.com
2014-04-16 13:23:56 +01:00
Gareth Rees
29035a7f67
Put cbsfindinzones back where it was (moving it broke the build).
...
Copied from Perforce
Change: 185584
ServerID: perforce.ravenbrook.com
2014-04-16 11:19:55 +01:00
Gareth Rees
63b095ce4d
Oops: sense of test was wrong way round.
...
Copied from Perforce
Change: 185581
ServerID: perforce.ravenbrook.com
2014-04-16 10:55:39 +01:00
Gareth Rees
b512c97d84
Use x and x_none for x ∈ {lock, plinth, remembered_set, shield} to match the other settings (aver_and_check, event, statistics).
...
Copied from Perforce
Change: 185580
ServerID: perforce.ravenbrook.com
2014-04-16 10:48:21 +01:00
Gareth Rees
b3a3b0b8fc
Move cbsfindinzones so that diff is cleaner.
...
Copied from Perforce
Change: 185578
ServerID: perforce.ravenbrook.com
2014-04-16 10:24:26 +01:00
Gareth Rees
4b49fc7d57
Mvff no longer uses segments, but instead maintains the address ranges it has acquired from the arena in a cbs.
...
Copied from Perforce
Change: 185574
ServerID: perforce.ravenbrook.com
2014-04-15 17:52:14 +01:00
Gareth Rees
2c47aa2d70
Integrate addrset branch to mvffnoseg branch to pick up land size improvements.
...
Copied from Perforce
Change: 185570
ServerID: perforce.ravenbrook.com
2014-04-15 16:38:51 +01:00
Gareth Rees
87b3880405
New generic function landsize returns the total size of ranges in a land (if the land supports it). implement it for all land classes.
...
The MVFF pool class doesn't have to maintain its free size any more: it can just call LandSize.
Move re-entrancy protection from CBS to Land. This allows us to remove some CBS functions. (But requires some adjustment in failoverDelete.)
In MVFF, do more checking of mvff->total.
Copied from Perforce
Change: 185569
ServerID: perforce.ravenbrook.com
2014-04-15 16:35:34 +01:00
Gareth Rees
4deafee125
Lands maintain the total size of the address ranges they maintain. (this avoids the need to do free size accounting in mvff.)
...
Copied from Perforce
Change: 185567
ServerID: perforce.ravenbrook.com
2014-04-15 14:23:53 +01:00
Gareth Rees
c74361ab1e
Integrate branch/2014-03-30/addrset to branch/2014-04-15/mvffnoseg to pick up land classes.
...
Copied from Perforce
Change: 185564
ServerID: perforce.ravenbrook.com
2014-04-15 13:16:24 +01:00
Gareth Rees
42f18f93af
Catch-up merge from master/...@185556 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185563
ServerID: perforce.ravenbrook.com
2014-04-15 13:14:50 +01:00
Gareth Rees
c376a2b808
Mvt does not actually need to use gcsegs: in fact, gcsegs create difficulties because buffers need to be detached. so switch to using ordinary segs just like mvff.
...
Copied from Perforce
Change: 185556
ServerID: perforce.ravenbrook.com
2014-04-15 12:41:10 +01:00
Gareth Rees
a755d16585
Revert hasty merge of branch/2014-04-15/shared -- broke xcode build.
...
Copied from Perforce
Change: 185553
ServerID: perforce.ravenbrook.com
2014-04-15 12:39:51 +01:00