1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

922 commits

Author SHA1 Message Date
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