Gareth Rees
3072f03b78
Improve the assertion output so that it is less suggestive of a bug in the mps and more suggestive of a problem that needs investigation.
...
Copied from Perforce
Change: 186032
ServerID: perforce.ravenbrook.com
2014-05-12 15:59:21 +01:00
Gareth Rees
95ee3a4568
Check the trace argument to tracequantum.
...
Copied from Perforce
Change: 186027
ServerID: perforce.ravenbrook.com
2014-05-12 13:35:21 +01:00
Gareth Rees
435722442e
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
08822ad7e0
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
e7f41fe61b
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
a4044d0dc3
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
026662618c
Check the argument using argcheck.
...
Copied from Perforce
Change: 186007
ServerID: perforce.ravenbrook.com
2014-05-11 19:18:54 +01:00
Gareth Rees
32cd7e343b
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
a853b9570e
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
3c10ea5cdd
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
80d10acf0f
Remove some unused headers.
...
Copied from Perforce
Change: 185994
ServerID: perforce.ravenbrook.com
2014-05-10 09:47:58 +01:00
Gareth Rees
c7810cd7a5
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
7d7d668ed4
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
a329ad7348
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
debf5bce18
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
3a627e6bbb
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
d377539ae7
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
4ac304fd38
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
4c655eba6a
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
bd0e9da9ce
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
David Lovemore
fb7363db2e
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
54ee6e4292
Fix amsss.
...
Copied from Perforce
Change: 185813
ServerID: perforce.ravenbrook.com
2014-04-26 11:12:45 +01:00
Gareth Rees
28a6bfe289
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
fb56a08e49
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
1821ccc309
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
294c4a97cd
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
5b54651076
Fix indentation.
...
Copied from Perforce
Change: 185746
ServerID: perforce.ravenbrook.com
2014-04-22 21:57:16 +01:00
Gareth Rees
932d72770b
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
e7d41a8fde
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
1e43258933
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
bca0a066fb
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
e933748bd6
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
eeaf8b887a
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
Gareth Rees
992ab111d6
Build and install a shared library on unix platforms.
...
Copied from Perforce
Change: 185543
ServerID: perforce.ravenbrook.com
2014-04-15 11:02:05 +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
4e48a196e5
Check the poolring so that there is an assertion failure (not a crash) if the client fails to destroy a pool.
...
Copied from Perforce
Change: 185527
ServerID: perforce.ravenbrook.com
2014-04-14 22:31:24 +01:00
Gareth Rees
06ea755daf
Move the marker down the stack so that gcc's aggressive inline won't scupper it.
...
Copied from Perforce
Change: 185524
ServerID: perforce.ravenbrook.com
2014-04-14 18:37:31 +01:00
Gareth Rees
113f2ff5d0
Simpler cast, more checking.
...
Copied from Perforce
Change: 185510
ServerID: perforce.ravenbrook.com
2014-04-14 12:32:18 +01:00
Gareth Rees
e2c67f1bb7
Simpler cast, more checking.
...
Copied from Perforce
Change: 185507
ServerID: perforce.ravenbrook.com
2014-04-14 12:13:31 +01:00
Gareth Rees
97f6f25655
Avoid warning on lii3gc.
...
Copied from Perforce
Change: 185506
ServerID: perforce.ravenbrook.com
2014-04-14 12:13:22 +01:00
Gareth Rees
da2a61ae24
Simpler casting, and more checking.
...
Copied from Perforce
Change: 185505
ServerID: perforce.ravenbrook.com
2014-04-14 12:07:14 +01:00
Gareth Rees
339cc8e364
Simpler casting and more checking.
...
Copied from Perforce
Change: 185502
ServerID: perforce.ravenbrook.com
2014-04-14 11:34:20 +01:00
Gareth Rees
2987353125
Check rings before destroying the control pool, so that you get an assertion when a ring points into space that is about to be unmapped, instead of a crash after it has been unmapped.
...
Copied from Perforce
Change: 185495
ServerID: perforce.ravenbrook.com
2014-04-13 20:51:10 +01:00
Gareth Rees
532cd901ac
Avoid strict aliasing warnings from gcc 4.8.
...
Copied from Perforce
Change: 185484
ServerID: perforce.ravenbrook.com
2014-04-12 21:44:18 +01:00
Gareth Rees
3887d08d29
Fix compilation of eventtxt.c on lii6gc.
...
Copied from Perforce
Change: 185483
ServerID: perforce.ravenbrook.com
2014-04-12 21:33:29 +01:00
Gareth Rees
6d923be672
Eventtxt no longer reports an error if there are multiple labels associated with an address. instead, it store all the labels encountered, and prints the one that was in force at the time of each event.
...
Use the MPS to manage memory, not malloc/free.
Recommend sort before mpseventtxt and not afterwards (data is smaller; labelling is more accurate).
Copied from Perforce
Change: 185477
ServerID: perforce.ravenbrook.com
2014-04-12 15:34:43 +01:00
Gareth Rees
28d6cd9612
Use the mps to manage memory in test cases, not malloc!
...
Copied from Perforce
Change: 185474
ServerID: perforce.ravenbrook.com
2014-04-11 21:27:31 +01:00
Gareth Rees
2aef76c48c
Ensure that mpseventsql compiles with gcc -wmissing-variable-declarations.
...
Copied from Perforce
Change: 185473
ServerID: perforce.ravenbrook.com
2014-04-11 21:18:23 +01:00
Gareth Rees
8624638093
Default value for mps_key_arena_size makes it easier to create arenas.
...
Copied from Perforce
Change: 185472
ServerID: perforce.ravenbrook.com
2014-04-11 21:15:09 +01:00
Gareth Rees
20f55386c4
Turn -wconversion off again. (the mps builds with this option with gcc 4.8 but not with gcc 4.6.3 on the travis buildbots.)
...
Copied from Perforce
Change: 185467
ServerID: perforce.ravenbrook.com
2014-04-11 15:28:03 +01:00