Gareth Rees
8232da8480
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
543b50104e
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
163e9ad484
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
139a4daa9d
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
508ed55b10
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
615418b5c8
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
b92064a89c
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
06afcd5752
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
9ecff094ec
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
13e6529c52
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
8dc0d72a8d
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
a622cdfc07
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
88ad39840e
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
c4d6a2de1f
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
2706097eab
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
b31cda511d
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
e355edd8ca
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
785589415f
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
bc4ccedc13
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
Gareth Rees
2ffce9476e
Build extra_targets. in particular, build eventsql only if configured to do so.
...
Copied from Perforce
Change: 180912
ServerID: perforce.ravenbrook.com
2013-02-05 15:03:47 +00:00
Gareth Rees
e12d5890e3
Improvements to the mps build/installation process:
...
1. Build eventtxt on Mac OS X (add "eventtxt" as dependency for "all" target).
2. In configure, check for the existence of the header "sqlite3.h" and set EXTRA_TARGETS accordingly.
3. In top-level Makefile, install all targets in EXTRA_TARGETS.
Copied from Perforce
Change: 180907
ServerID: perforce.ravenbrook.com
2013-02-05 13:34:42 +00:00
Gareth Rees
51b123525e
Avoid error "variable 'res' set but not used" from gcc.
...
Copied from Perforce
Change: 180905
ServerID: perforce.ravenbrook.com
2013-02-04 17:32:13 +00:00
Gareth Rees
c6aeb6e62f
Merge changes 180885 and 180887 from branch/2012-10-10/measurement to branch/2012-10-09/user-guide.
...
Copied from Perforce
Change: 180904
ServerID: perforce.ravenbrook.com
2013-02-04 16:44:34 +00:00
Gareth Rees
afd7af371b
Don't #error if defined(mps_build_ll) and __has_builtin(__builtin_readcyclecounter). put a todo here instead, referencing job003411.
...
Copied from Perforce
Change: 180903
ServerID: perforce.ravenbrook.com
2013-02-04 16:40:28 +00:00
Nick Barnes
7dc00c2912
Get eventcnv/txt/sql working on fri3gc.
...
Copied from Perforce
Change: 180887
ServerID: perforce.ravenbrook.com
2013-01-31 14:54:35 +00:00
Nick Barnes
164f0a8a92
Port eventsql and friends to windows 7.
...
Copied from Perforce
Change: 180885
ServerID: perforce.ravenbrook.com
2013-01-30 16:06:59 +00:00
Gareth Rees
01b0ed6d11
Integrate changes from branch/2012-10-10/measurement.
...
Copied from Perforce
Change: 180506
ServerID: perforce.ravenbrook.com
2012-11-20 10:50:12 +00:00
Gareth Rees
0dd9586930
New type mps_label_t for telemetry labels.
...
Deprecate "candy machine" interface to telemetry control.
Implement and document straightforward get/set/reset interface.
Put a TODO referencing job003387 and job003388.
Copied from Perforce
Change: 180495
ServerID: perforce.ravenbrook.com
2012-11-16 16:42:41 +00:00
Gareth Rees
35e0ac259a
New file "mpscmv2.h" just #include "mpscmvt.h", for backwards compatibility.
...
Copied from Perforce
Change: 180490
ServerID: perforce.ravenbrook.com
2012-11-16 14:48:53 +00:00
Gareth Rees
fcd7180d08
Rename "mpscmv2.h" to "mpscmvt.h" for consistency.
...
Copied from Perforce
Change: 180489
ServerID: perforce.ravenbrook.com
2012-11-16 14:48:14 +00:00
Nick Barnes
ba28c7a10d
Exit(exit_success) after usage message.
...
Copied from Perforce
Change: 180484
ServerID: perforce.ravenbrook.com
2012-11-16 10:22:29 +00:00
Nick Barnes
151c6a1e63
Somehow i introduced an uninitialized variable bug into eventflush(). oops.
...
Copied from Perforce
Change: 180482
ServerID: perforce.ravenbrook.com
2012-11-15 22:07:28 +00:00
Nick Barnes
2df242c567
Remove assertion which requires a higher-resolution clock() than freebsd has. document an alternative mps_clock() implementation using getrusage().
...
Copied from Perforce
Change: 180481
ServerID: perforce.ravenbrook.com
2012-11-15 22:06:49 +00:00
Nick Barnes
5a2950e2a1
Correct comment regarding mps_clocks_per_sec().
...
Copied from Perforce
Change: 180480
ServerID: perforce.ravenbrook.com
2012-11-15 19:30:47 +00:00
Gareth Rees
490ee8a31c
New event "arenasetemergency".
...
Copied from Perforce
Change: 180479
ServerID: perforce.ravenbrook.com
2012-11-15 14:08:13 +00:00
Gareth Rees
7043c844ae
Restore "res = resok" to eventflush (removed in change 180152).
...
Copied from Perforce
Change: 180471
ServerID: perforce.ravenbrook.com
2012-11-14 17:46:03 +00:00
Gareth Rees
66f0e08954
Integrate nb's changes from the measurement branch.
...
Copied from Perforce
Change: 180465
ServerID: perforce.ravenbrook.com
2012-11-14 14:09:49 +00:00
Gareth Rees
6abf20535f
Events have to be inside the arena lock.
...
Copied from Perforce
Change: 180463
ServerID: perforce.ravenbrook.com
2012-11-13 17:59:41 +00:00
Nick Barnes
686ee38101
Tidy up the event pipeline.
...
Copied from Perforce
Change: 180460
ServerID: perforce.ravenbrook.com
2012-11-13 12:51:58 +00:00
Gareth Rees
6f81d69df3
Add two new events:
...
* ArenaAccess for handling barrier hits;
* ArenaPoll for choosing a quantum of work.
Copied from Perforce
Change: 180432
ServerID: perforce.ravenbrook.com
2012-11-09 15:19:35 +00:00
Gareth Rees
2350b83b6b
Use a typedef for the type of the function passed to mps_amc_apply to make the documentation clearer while remaining backwards-compatible.
...
(This was change 179975 but got reversed accidentally by change 180236.)
Copied from Perforce
Change: 180431
ServerID: perforce.ravenbrook.com
2012-11-09 11:15:16 +00:00
Gareth Rees
7645b348a4
Amcnailrangeisunmarked needs to take arguments as client pointers and look at the nails for the corresponding base pointers.
...
Copied from Perforce
Change: 180390
ServerID: perforce.ravenbrook.com
2012-11-07 17:17:05 +00:00
Gareth Rees
6b89b020c5
Add public interface for mfs pool class.
...
Correct the documentation for MFS: constructor takes extend_by and unit_size in that order.
Copied from Perforce
Change: 180372
ServerID: perforce.ravenbrook.com
2012-11-06 17:08:58 +00:00
Gareth Rees
d743f8b510
Support ambiguous interior pointers in amc by checking to see if any grain in an object is nailed (not just the first grain).
...
AMCSegDescribe shows which grains are nailed.
Copied from Perforce
Change: 180370
ServerID: perforce.ravenbrook.com
2012-11-06 15:47:21 +00:00
Gareth Rees
99bca8b5e2
Amc can't omit the guard "segrankset(seg) != ranksetempty" for calling segsetgrey, because amcz uses segments with an empty rank set.
...
It's OK to call SegSetGrey on a segment with an empty rank set so long as you are not actually setting it to be grey for any traces, so correct the AVER accordingly.
Copied from Perforce
Change: 180236
ServerID: perforce.ravenbrook.com
2012-11-01 17:21:57 +00:00
Nick Barnes
1330a1a99c
Remove unused mps_t_longest type.
...
Copied from Perforce
Change: 180169
ServerID: perforce.ravenbrook.com
2012-10-30 17:14:45 +00:00
Nick Barnes
ecd77595bb
Add mps_clocks_per_sec to the eventinit header, and put some header-checking code into eventcnv, so now we have at least a rudimentary check that a binary event log is readable.
...
Copied from Perforce
Change: 180160
ServerID: perforce.ravenbrook.com
2012-10-30 14:15:27 +00:00
Gareth Rees
fb1601827a
Integrate nb's clock changes. mps_clock_t now an alias for mps_word_t.
...
Copied from Perforce
Change: 180153
ServerID: perforce.ravenbrook.com
2012-10-30 11:12:38 +00:00
Nick Barnes
1746c7583a
Make eventclocksync events, and output them once per buffer flush.
...
Copied from Perforce
Change: 180152
ServerID: perforce.ravenbrook.com
2012-10-30 09:36:30 +00:00
Nick Barnes
271b4f6e0a
change mps_clock_t to word.
...
Copied from Perforce
Change: 180151
ServerID: perforce.ravenbrook.com
2012-10-30 08:43:39 +00:00