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
Gareth Rees
ab57c07df5
Turn on -wduplicate-enum and -wmissing-variable-declarations options for clang. ensure the mps compiles with these options.
...
Copied from Perforce
Change: 185466
ServerID: perforce.ravenbrook.com
2014-04-11 15:17:20 +01:00
Gareth Rees
391e7e6c83
Add -wconversion to the options for gcc. ensure that the mps builds.
...
Copied from Perforce
Change: 185463
ServerID: perforce.ravenbrook.com
2014-04-11 14:25:15 +01:00
Gareth Rees
fb2443daaa
Fix the build for gcc on os x: gcc warns about the missing return in protcatchthread, but we don't want to add one because that would be unreachable code. so use __attribute__((__noreturn__)) instead.
...
Copied from Perforce
Change: 185461
ServerID: perforce.ravenbrook.com
2014-04-11 12:42:26 +01:00
Gareth Rees
24aef39a77
Not ready for gcc -wconversion.
...
Copied from Perforce
Change: 185459
ServerID: perforce.ravenbrook.com
2014-04-11 12:17:39 +01:00
Gareth Rees
8c63b81342
Add -wconversion to options for gcc and clang.
...
Ensure that the MPS builds with this option with Clang.
Copied from Perforce
Change: 185457
ServerID: perforce.ravenbrook.com
2014-04-11 12:06:28 +01:00
Gareth Rees
b70e268929
Fix problems found by coverity. see < https://info.ravenbrook.com/mail/2014/04/10/23-23-42/0/ > for full analysis.
...
Copied from Perforce
Change: 185445
ServerID: perforce.ravenbrook.com
2014-04-11 00:26:48 +01:00
Gareth Rees
44ec318081
Must ensure the consistency of a segment even if we are just about to free it, because the segment must pass the segcheck inside segfree.
...
Copied from Perforce
Change: 185440
ServerID: perforce.ravenbrook.com
2014-04-10 19:40:42 +01:00
Gareth Rees
665cb2efcc
Don't turn on the alloctable in amsbufferempty when it's shared with nonwhitetable and the colour tables are in use -- this will turn any grey grains in the segment invalid.
...
Add more checking to AMS, including the table use invariant.
Copied from Perforce
Change: 185434
ServerID: perforce.ravenbrook.com
2014-04-10 18:16:29 +01:00
Gareth Rees
25dc0fc073
Document the constraints on the mean and maximum size arguments to the mv pool class. remove documentation from poolmv.h: this is in the manual now.
...
Copied from Perforce
Change: 185432
ServerID: perforce.ravenbrook.com
2014-04-10 15:36:51 +01:00
Gareth Rees
ae09ed50c5
Fix amcssth -- don't try to test two incompatible features at the same time (see job003561).
...
Set the commit limit in amcss and amcsshe so that we test that the MPS can live in a tight memory limit.
Don't try to detect when the MPS has made a "dynamic" collection. This is not reliable or maintainable.
Copied from Perforce
Change: 185430
ServerID: perforce.ravenbrook.com
2014-04-10 15:06:58 +01:00
Gareth Rees
1c25a89a70
Correct the nailboard level sizes; add assertion to nailboardindex checking this.
...
Copied from Perforce
Change: 185421
ServerID: perforce.ravenbrook.com
2014-04-10 12:24:49 +01:00
Gareth Rees
d17ebed2cd
Delete mpsw3.h (and associated warning pragma): obsoleted by change from structured to vectored exception handling.
...
Copied from Perforce
Change: 185399
ServerID: perforce.ravenbrook.com
2014-04-09 17:31:06 +01:00
Gareth Rees
284482353a
The alignment of an awl pool is now set to the format alignment, as documented. the alignment restriction on pointers is now based on sizeof(void *), not mps_pf_align.
...
Copied from Perforce
Change: 185357
ServerID: perforce.ravenbrook.com
2014-04-08 18:29:25 +01:00
Gareth Rees
993821517e
Fix bugs in exposet0.c and steptest.c on windows.
...
Port djbench and gcbench to Windows.
Run amcssth and awlutth test cases on Windows.
Copied from Perforce
Change: 185354
ServerID: perforce.ravenbrook.com
2014-04-08 16:26:27 +01:00
Gareth Rees
a03056f39a
New header testthr.h provides simple threading interface.
...
Implementations testthrix.c for Unix and testthrw3.c for Windows.
Multi-threaded test cases use the new interface.
Rename lockutw3 to lockut (no longer Windows-specific).
Run multi-threaded test cases on Windows and lockut elsewhere.
Copied from Perforce
Change: 185350
ServerID: perforce.ravenbrook.com
2014-04-08 15:14:32 +01:00
Gareth Rees
c230d2ffaa
Remove unnecessary headers from the test suite.
...
Copied from Perforce
Change: 185340
ServerID: perforce.ravenbrook.com
2014-04-08 13:03:04 +01:00
Gareth Rees
2f61fea487
Amc/amcz subclass test needs to be other way round now.
...
Smoke tests for AMCZ -- add it to amcss, amcsshe, amcssth, finaltest and walkt0.
Smoke tests for LO -- add it to walkt0.
Fix finaltest for AMC and AWL -- need to allocate in generation 0 to get prompt finalization. (Also fix MMQA test function/51.c.)
Copied from Perforce
Change: 185327
ServerID: perforce.ravenbrook.com
2014-04-07 23:05:35 +01:00
Gareth Rees
0e3c67e05b
Ensure that the win32_lean_and_mean is not changed by mpswin.h.
...
Copied from Perforce
Change: 185323
ServerID: perforce.ravenbrook.com
2014-04-07 18:27:57 +01:00
Gareth Rees
35039bbba2
There's no need for test cases to include mpsw3.h any more.
...
Copied from Perforce
Change: 185322
ServerID: perforce.ravenbrook.com
2014-04-07 18:19:37 +01:00
Gareth Rees
55f68543ba
Avoid "potentially uninitialized local variable used" errors from microsoft visual c.
...
Copied from Perforce
Change: 185319
ServerID: perforce.ravenbrook.com
2014-04-07 17:56:20 +01:00
Gareth Rees
97a2d4634c
Add default case to switch statement so that it compiles with gcc -wswitch-default.
...
Copied from Perforce
Change: 185293
ServerID: perforce.ravenbrook.com
2014-04-07 15:35:17 +01:00
Gareth Rees
7631c48b66
Merge branch/2014-01-15/nailboard into the master sources.
...
Copied from Perforce
Change: 185285
ServerID: perforce.ravenbrook.com
2014-04-07 14:23:18 +01:00
Gareth Rees
4fb11404b9
Can't can't checkd_nosig(ring, &arenaring) because &arenaring is never null and gcc will warn about a constant comparison.
...
Copied from Perforce
Change: 185279
ServerID: perforce.ravenbrook.com
2014-04-07 13:22:21 +01:00
Gareth Rees
dde2cb855b
Catch-up merge from master sources to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185275
ServerID: perforce.ravenbrook.com
2014-04-07 10:38:08 +01:00
Gareth Rees
0ffc9ec788
Can't use checkd_nosig(tree, ...) because treeempty is null.
...
arena->enabledMessageTypes might be NULL.
Copied from Perforce
Change: 185271
ServerID: perforce.ravenbrook.com
2014-04-07 10:14:40 +01:00
Gareth Rees
0bffc62a44
Remove "todo: checkleveldeep asserts on arena creation with bootstrapping problems." -- this was fixed in change 184924.
...
Copied from Perforce
Change: 185267
ServerID: perforce.ravenbrook.com
2014-04-07 00:29:09 +01:00
Gareth Rees
bcea6812fc
Improve control over checking:
...
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).
Copied from Perforce
Change: 185263
ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Gareth Rees
f970e9d82c
Must check against treeempty, not null.
...
Copied from Perforce
Change: 185261
ServerID: perforce.ravenbrook.com
2014-04-06 21:50:56 +01:00
Gareth Rees
f6901a9e23
Complete design.mps.type and design.mps.interface-c and move them to "current" design in the manual.
...
Remove unused enumeration FormatVariety from mpmtypes.
Improve wording of manual entry on MPS_RM_PROT.
Copied from Perforce
Change: 185259
ServerID: perforce.ravenbrook.com
2014-04-06 20:00:31 +01:00
Gareth Rees
0290982bca
Avoid calling sizeroundup when the result needs to be a count.
...
Use PointerAdd instead of casting to (char *) and back again.
Copied from Perforce
Change: 185256
ServerID: perforce.ravenbrook.com
2014-04-06 17:35:57 +01:00
Gareth Rees
45521a9268
Poolarena must be thread-safe, so add a comment.
...
Copied from Perforce
Change: 185250
ServerID: perforce.ravenbrook.com
2014-04-06 16:44:07 +01:00
Gareth Rees
f4050a073e
Remove unneeded headers.
...
Copied from Perforce
Change: 185248
ServerID: perforce.ravenbrook.com
2014-04-06 15:53:54 +01:00
Gareth Rees
5a1185daf1
Remove todo -- this was done in change 179501.
...
Copied from Perforce
Change: 185247
ServerID: perforce.ravenbrook.com
2014-04-06 15:53:34 +01:00
Gareth Rees
8b9c38393e
Event arenablacklistzone was deleted, but event_version_minor was not updated; and the instruction "when you retire an event type, don't delete it from the list -- comment it out" was not followed.
...
Delete TODO item: EVENT_VERSION numbers are parameters to the EventInit event.
Copied from Perforce
Change: 185246
ServerID: perforce.ravenbrook.com
2014-04-06 15:52:56 +01:00
Gareth Rees
642be932a1
Refactor walkt0 test case so that it can test different pool classes.
...
Copied from Perforce
Change: 185244
ServerID: perforce.ravenbrook.com
2014-04-06 11:47:36 +01:00
Gareth Rees
bbe1052f69
Refactor finaltest so that it is capable of testing different pool classes.
...
Copied from Perforce
Change: 185235
ServerID: perforce.ravenbrook.com
2014-04-04 21:59:45 +01:00