Gareth Rees
9416fd6cf2
A little bit more checking.
...
Copied from Perforce
Change: 182026
ServerID: perforce.ravenbrook.com
2013-05-21 00:29:56 +01:00
Gareth Rees
40911f20ab
No need for abqdelete: use abqiterate instead.
...
Copied from Perforce
Change: 182024
ServerID: perforce.ravenbrook.com
2013-05-20 23:47:20 +01:00
Gareth Rees
03d76e0962
Add abq and range modules to mps core; add poolmv2 to supported pools.
...
Copied from Perforce
Change: 182021
ServerID: perforce.ravenbrook.com
2013-05-20 23:21:24 +01:00
Gareth Rees
28fc475b2a
Use the new cbs, abq and range interfaces to avoid re-entrancy problems in callbacks.
...
Copied from Perforce
Change: 182017
ServerID: perforce.ravenbrook.com
2013-05-20 20:47:41 +01:00
Gareth Rees
d1fdfa6277
Use the new cbs interface.
...
Copied from Perforce
Change: 182016
ServerID: perforce.ravenbrook.com
2013-05-20 20:47:10 +01:00
Gareth Rees
cc7e7c0172
New module range handles common operations on address ranges.
...
Copied from Perforce
Change: 182015
ServerID: perforce.ravenbrook.com
2013-05-20 20:45:52 +01:00
Gareth Rees
4b970759be
Make the cbs module more abstract by removing cbsblock from the public interface. avoid re-entrancy problems by removing the callback interface. public interfaces like cbsiteratemethod now operate in terms of address ranges rather than cbsblocks.
...
The functions CBSInsert, CBSDelete and CBSFind* now additionally return an "old" address range which gives the former base and limit of the block that has just been updated. This gives clients enough information to update their caches if need be.
Update CBS test and design accordingly.
Copied from Perforce
Change: 182014
ServerID: perforce.ravenbrook.com
2013-05-20 20:45:26 +01:00
Gareth Rees
2987b9fc04
Make the abq module manage elements of arbitrary type (knowing only their address and size) instead of managing cbsblock only. (this is preparatory to removing cbsblock from the cbs public interface.)
...
Update abqtest to use the new interface.
Add ABQ design.
Copied from Perforce
Change: 182013
ServerID: perforce.ravenbrook.com
2013-05-20 20:40:16 +01:00
Gareth Rees
e0e34a1c98
Remove "emergency" free list allocator from the cbs module (it belongs in its own module) and update clients and the design accordingly.
...
Copied from Perforce
Change: 181927
ServerID: perforce.ravenbrook.com
2013-05-19 14:27:24 +01:00
Gareth Rees
76ed0b8fcb
Use __builtin_readcyclecounter for event_clock if it's available.
...
Copied from Perforce
Change: 181858
ServerID: perforce.ravenbrook.com
2013-05-16 13:37:31 +01:00
Gareth Rees
1697e0ec52
Eventclock has enough entropy on all the platforms we support that we can use it to choose the random number seed.
...
Copied from Perforce
Change: 181855
ServerID: perforce.ravenbrook.com
2013-05-16 13:17:42 +01:00
Gareth Rees
8322d3cc83
Test coverage report on os x.
...
Copied from Perforce
Change: 181822
ServerID: perforce.ravenbrook.com
2013-05-15 19:25:16 +01:00
Gareth Rees
e76d53158f
Make forward declarations of various functions consistent with their actual declarations.
...
Copied from Perforce
Change: 181788
ServerID: perforce.ravenbrook.com
2013-05-15 14:18:28 +01:00
Richard Brooksby
847614be04
Converting design.mps.config to restructuredtext. rewriting, correcting, clarifying, and generally bringing it up-to-date.
...
Removing misplaced obsolete design text from mpstd.h.
Tidying up the format of a couple of other docs.
Copied from Perforce
Change: 181717
ServerID: perforce.ravenbrook.com
2013-05-11 17:53:40 +01:00
Richard Brooksby
d28d6cbba8
Adding unused declaration for unused variable.
...
Copied from Perforce
Change: 181623
ServerID: perforce.ravenbrook.com
2013-05-08 14:11:27 +01:00
Richard Brooksby
5a68cc292e
Updating mps_release to release/1.111.0
...
Copied from Perforce
Change: 181619
ServerID: perforce.ravenbrook.com
2013-05-08 13:57:31 +01:00
Richard Brooksby
82861dbc64
Adding type mps_awl_find_dependent_t that is documented but didn't actually exist.
...
Copied from Perforce
Change: 181596
ServerID: perforce.ravenbrook.com
2013-05-08 00:19:39 +01:00
Gareth Rees
3c35eda773
Put xxxxxx at the end of the pattern argument to mktemp, so that it works on freebsd and os x.
...
Copied from Perforce
Change: 181562
ServerID: perforce.ravenbrook.com
2013-05-06 19:01:25 +01:00
Gareth Rees
6537a39f10
Avoid type puns.
...
Copied from Perforce
Change: 181561
ServerID: perforce.ravenbrook.com
2013-05-06 18:39:26 +01:00
Gareth Rees
e4f6a8a7fb
Correct a couple of comments.
...
Copied from Perforce
Change: 181469
ServerID: perforce.ravenbrook.com
2013-04-26 20:50:21 +01:00
Gareth Rees
a55feaa7b6
Fix typo ("not" for "now").
...
Copied from Perforce
Change: 181451
ServerID: perforce.ravenbrook.com
2013-04-25 20:10:10 +01:00
Nick Barnes
f9beff6889
Fix job003454: when an amc pool is in the finish ramp mode, it should stay there until it can transition to collecting. also update the ramp part of design/poolamc.
...
Copied from Perforce
Change: 181325
ServerID: perforce.ravenbrook.com
2013-04-04 16:22:39 +01:00
Gareth Rees
f85720fcbd
Comment out all calls to mps_arena_commit_limit_set in test case amcsshe. (this test case formerly set the commit limit "in the hope of getting one dynamic collection", but this was unreliable: see job003440 for details.)
...
Copied from Perforce
Change: 181122
ServerID: perforce.ravenbrook.com
2013-03-12 15:15:57 +00:00
Gareth Rees
125193d708
Restore arena serial numbers.
...
Copied from Perforce
Change: 181121
ServerID: perforce.ravenbrook.com
2013-03-12 15:11:22 +00:00
Gareth Rees
8d6d8e7023
Remove "mps_alert_collection_set" from public interface and remove its implementation and test case. client programs should use the messages interface to find out what the mps is doing.
...
Copied from Perforce
Change: 181119
ServerID: perforce.ravenbrook.com
2013-03-12 14:33:27 +00:00
Richard Brooksby
784d47ff7f
Removing bogus test file that got into the sources somehow.
...
Copied from Perforce
Change: 181116
ServerID: perforce.ravenbrook.com
2013-03-12 11:01:14 +00:00
Gareth Rees
61f99ec46a
Add -*- makefile -*- to .gmk files so that syntax highlighting in emacs works out of the box.
...
Copied from Perforce
Change: 181101
ServerID: perforce.ravenbrook.com
2013-03-08 17:26:12 +00:00
Gareth Rees
f2f29d8c10
Make mps_arena_step suitable for purpose: arenastep now calls tracestartcollectall directly (not via arenastartcollect) so that it no longer unclamps the arena as a side effect.
...
Add test case: steptest now runs with the arena clamped, and checks that mps_arena_step does not unclamp it.
Copied from Perforce
Change: 181098
ServerID: perforce.ravenbrook.com
2013-03-08 15:13:16 +00:00
Gareth Rees
5500febc0d
Follow policy of not defining symbols from mpstd.h in the external interface, by removing the definition of mps_t_word from mps.h.
...
Copied from Perforce
Change: 181096
ServerID: perforce.ravenbrook.com
2013-03-08 14:03:10 +00:00
Gareth Rees
be50952a4f
Move global 'pool' to local so that we can rename argument 'pol' to 'pool'.
...
Copied from Perforce
Change: 181095
ServerID: perforce.ravenbrook.com
2013-03-08 12:41:41 +00:00
Gareth Rees
0609a2f2a2
Don't accidentally leave the arena in the clamped state after calling mps_arena_collect:
...
* In mpiscv, release the arena immediately after collecting.
* In zmess, clamp the arena immediately after creating it.
Copied from Perforce
Change: 181094
ServerID: perforce.ravenbrook.com
2013-03-08 12:23:44 +00:00
Gareth Rees
c602081e0a
Private symbols _mps_sac_s and _mps_sac_freelist_block_s now start with underscores, as per external interface policy.
...
Copied from Perforce
Change: 181092
ServerID: perforce.ravenbrook.com
2013-03-08 12:10:44 +00:00
Gareth Rees
1745c7ff40
Ensure that the last entry in the table is preserved, so that we don't get a false positive due to the local variable 'string' keeping this entry alive.
...
Copied from Perforce
Change: 181088
ServerID: perforce.ravenbrook.com
2013-03-08 11:36:38 +00:00
Gareth Rees
a8745f6701
Test suite runs on os x:
...
* New Xcode target "testrun" runs all the (runnable) test cases.
* Makefile provides separate targets test-make-build and test-xcode-build for running test suite on different platforms.
* configure selects the appropriate test target.
Copied from Perforce
Change: 181085
ServerID: perforce.ravenbrook.com
2013-03-08 10:17:08 +00:00
Gareth Rees
a14904e686
Comment out all calls to mps_arena_commit_limit_set in test case amcsshe. (this test case formerly set the commit limit "in the hope of getting one dynamic collection", but this was unreliable: see job003432 for details.)
...
Copied from Perforce
Change: 181081
ServerID: perforce.ravenbrook.com
2013-03-07 17:08:07 +00:00
Gareth Rees
f4a381d241
Fix to the mpsicv test case: get the arena's committed memory after creating the pool, so that the creation of the pool can't cause the committed memory to be bumped upwards.
...
Copied from Perforce
Change: 181080
ServerID: perforce.ravenbrook.com
2013-03-07 16:45:48 +00:00
Gareth Rees
56e6249e4c
Fix mutatorfaultcontextsp on lii3* and lii6*.
...
Copied from Perforce
Change: 181078
ServerID: perforce.ravenbrook.com
2013-03-07 15:31:40 +00:00
Gareth Rees
69243b3730
The amcssth test case now registers its threads' stacks as roots with the mps.
...
Copied from Perforce
Change: 181076
ServerID: perforce.ravenbrook.com
2013-03-07 14:53:31 +00:00
Gareth Rees
d5f4cb3be4
Build amcssth test case on os x (xci6ll).
...
Copied from Perforce
Change: 181074
ServerID: perforce.ravenbrook.com
2013-03-07 14:33:32 +00:00
Gareth Rees
13f6e2b7b9
Add testlib_unused(argc) where necessary, so that test cases build on xci6ll.
...
Copied from Perforce
Change: 181073
ServerID: perforce.ravenbrook.com
2013-03-07 14:32:40 +00:00
Gareth Rees
524eaeb4b4
Make amcssth test case runnable on platforms that use gnumake.
...
Copied from Perforce
Change: 181072
ServerID: perforce.ravenbrook.com
2013-03-07 14:03:00 +00:00
Gareth Rees
296ac3bccf
Improve the usability of the test suite:
...
1. "make test" now reports the name of the test case before running it, so that when you look back through the test output you can see which test case failed.
2. "make test" now collects the standard output from all the tests to a log file in /tmp, so that this does not clutter the user's terminal, and so that nothing is lost if the output exceeds the terminal's scrollback.
3. Each test case now prints a success message ("Conclusion: Failed to find any defects.") to standard output (not standard error) so that these messages do not clutter up the terminal when running "make test".
4. Each test case now uses its result code (not the printed message) to indicate whether it succeeded or failed.
5. More of the diagnostic messages from the test cases now start by printing argv[0] so that it is easier to tell which test case was running.
Copied from Perforce
Change: 181071
ServerID: perforce.ravenbrook.com
2013-03-07 13:13:32 +00:00
Richard Brooksby
383b590b40
Minor tweaks to allow amcssth test to build under lii3gc at least.
...
Copied from Perforce
Change: 180963
ServerID: perforce.ravenbrook.com
2013-02-20 13:35:23 +00:00
Richard Brooksby
5b557ecfb6
Deprecating the mps trampoline by using vectored exception handling on windows.
...
Copied from Perforce
Change: 180961
ServerID: perforce.ravenbrook.com
2013-02-20 12:11:40 +00:00
Richard Brooksby
4f60f9698c
Merging spelling corrections contributed by bruce mitchener.
...
See <1c80ccb634 >.
Copied from Perforce
Change: 180956
ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
Richard Brooksby
85af2e8217
Integrating branch/2012-10-09/user-guide back to master.
...
Copied from Perforce
Change: 180943
ServerID: perforce.ravenbrook.com
2013-02-08 16:17:34 +00:00
Gareth Rees
d695d3cc2c
Undo changes 180370 and 180390 (which supported interior pointers by checking all nails in an object), as these changes are not suitable for release. work around job003359 for the example scheme interpreter by setting the compilation option -fno-inline-functions.
...
Copied from Perforce
Change: 180941
ServerID: perforce.ravenbrook.com
2013-02-08 15:36:50 +00:00
Gareth Rees
c952b0e319
Merge 64-bit xcode support from measurement branch.
...
Copied from Perforce
Change: 180937
ServerID: perforce.ravenbrook.com
2013-02-08 14:52:53 +00:00
Gareth Rees
b16ea3b315
Print event code in uppercase hexadecimal for consistency.
...
Copied from Perforce
Change: 180936
ServerID: perforce.ravenbrook.com
2013-02-08 14:52:05 +00:00
Gareth Rees
a4a18a1a27
More build/install improvements:
...
1. Name the command-line tools with the "mps" prefix throughout, for consistency between build and installation.
2. Don't build "mpseventsql.exe" by default on Windows.
3. Instructions for building mpseventsql on the supported platforms.
Copied from Perforce
Change: 180913
ServerID: perforce.ravenbrook.com
2013-02-05 15:43:41 +00:00