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
Gareth Rees
fd07236307
Tidy-up of attributes and pool classes:
...
* Bring design up to date.
* New function PoolHasAttr encapsulates attribute checking.
* Abstract classes are abstract and mustn't be checked.
* The dummy pool class in fotest needs a size.
* Abstract pool classes null out methods that they can't provide a generic implementation for, to force subclasses to provide one.
* New function PoolTrivFramePopPending provides a generic implementation of that method.
* Rename PoolNoFreeWalk to PoolTrivFreeWalk since it has NOOP rather than NOTREACHED.
* Check that AttrMOVINGGC implies AttrGC.
* Remove unimplemented attributes (BUF_RESERVE, BUF_ALLOC, INCR_RB, INCR_WB, PM)
* AMC now inherits from AMCZ instead of the other way round. This is simpler: AMC adds features to AMCZ rather than AMCZ taking features away (and not quite getting it right).
* Similarly, LO inherits from AbstractSegBufPoolClass + PoolClassMixInCollect so that it doesn't have to clear AttrSCAN and the scan methods.
* Fix bug in MFSCheck -- mustn't check unroundedUnitSize >= UNIT_MIN since small unit sizes are rounded up to UNIT_MIN.
* Don't see AttrFREE in MRG (since no free method is supplied).
* Check AttrSCAN systematically (in PoolScan and SegCheck) rather than opportunistically in TraceStart and TraceQuantum.
Copied from Perforce
Change: 185231
ServerID: perforce.ravenbrook.com
2014-04-04 17:05:08 +01:00
Gareth Rees
306401504d
Check classes after defining them.
...
Copied from Perforce
Change: 185228
ServerID: perforce.ravenbrook.com
2014-04-04 12:51:07 +01:00
Gareth Rees
2d6ead9104
Turn on -wswitch-default for gcc.
...
Add missing default: cases to switch statements.
Copied from Perforce
Change: 185226
ServerID: perforce.ravenbrook.com
2014-04-04 12:16:59 +01:00
Gareth Rees
71d9ea47b8
Explain how to call mps_root_create_table() safely (avoiding type punning). fix example for mps_root_create_table_masked(). use the recommended approach in qs.c.
...
Copied from Perforce
Change: 185223
ServerID: perforce.ravenbrook.com
2014-04-04 11:49:19 +01:00
Gareth Rees
0805e2be8f
Fix airtest to use its own ambiguous root instead of relying on references to disappear from the c stack (which they don't on lii6ll).
...
Copied from Perforce
Change: 185218
ServerID: perforce.ravenbrook.com
2014-04-04 10:30:45 +01:00
Gareth Rees
dcaad508fc
Remove unnecessary calls to mps_args_done -- these crept back in via the merge of the cbs-tract-alloc branch.
...
Copied from Perforce
Change: 185143
ServerID: perforce.ravenbrook.com
2014-04-01 22:43:58 +01:00
Gareth Rees
99dab3d524
Catch-up merge from master sources to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185138
ServerID: perforce.ravenbrook.com
2014-04-01 22:08:45 +01:00
Gareth Rees
40ed06bf17
Clang can compile eventsql.c with -pedantic but gcc cannot.
...
Copied from Perforce
Change: 185137
ServerID: perforce.ravenbrook.com
2014-04-01 22:07:48 +01:00
Gareth Rees
85cbda9382
Cast pointer to void * for the benefit of gcc.
...
Copied from Perforce
Change: 185133
ServerID: perforce.ravenbrook.com
2014-04-01 21:12:58 +01:00
Gareth Rees
fc7bdbd4dd
Fixed dl's review comments < https://info.ravenbrook.com/mail/2014/04/01/13-28-17/0/ >.
...
Copied from Perforce
Change: 185127
ServerID: perforce.ravenbrook.com
2014-04-01 17:02:00 +01:00
Gareth Rees
e6560aa91b
Explain why the last level in the nailboard might be tiny (to avoid special cases for small nailboards).
...
Copied from Perforce
Change: 185122
ServerID: perforce.ravenbrook.com
2014-04-01 13:32:42 +01:00
Gareth Rees
d844d87c4d
Generate dependencies for fmtscheme.c.
...
Copied from Perforce
Change: 185120
ServerID: perforce.ravenbrook.com
2014-04-01 12:11:06 +01:00
Richard Brooksby
103e03d285
Catch up merge from masters to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185118
ServerID: perforce.ravenbrook.com
2014-04-01 11:43:47 +01:00
Gareth Rees
5cb6645f65
Fixed rb's review comments < https://info.ravenbrook.com/mail/2014/03/31/15-48-46/0/ >
...
Copied from Perforce
Change: 185111
ServerID: perforce.ravenbrook.com
2014-03-31 19:03:32 +01:00
Gareth Rees
9c7e619ac0
Fix compilation on lii6gc:
...
* Don't test __has_feature unless we know we are on MPS_BUILD_LL.
* Fix type-punned pointer aliasing in expt825.c.
Copied from Perforce
Change: 185104
ServerID: perforce.ravenbrook.com
2014-03-31 13:01:40 +01:00
Gareth Rees
01fbead536
Bring .p4ignore up to date so that p4 status is clean.
...
Copied from Perforce
Change: 185101
ServerID: perforce.ravenbrook.com
2014-03-31 11:37:46 +01:00
Gareth Rees
0094610a6a
Support the clang address sanitizer.
...
Copied from Perforce
Change: 185096
ServerID: perforce.ravenbrook.com
2014-03-30 18:51:53 +01:00
Gareth Rees
fcbc3260bd
Turn off -wunreachable-code in gcc: too many false positives.
...
Copied from Perforce
Change: 185091
ServerID: perforce.ravenbrook.com
2014-03-30 17:00:50 +01:00
Gareth Rees
8c5bb6ae3c
Turn on -wunreachable-code for gcc and clang.
...
Remove unreachable code:
* No need to have different debug options or structured allocation classes for different platforms.
* Don't use STATISTIC_BEGIN, use STATISTIC_STAT.
* #ifdef away the unused code in zmess.c for testing ControlAlloc failure.
* Remove unused code from the example Scheme interpreter.
Copied from Perforce
Change: 185089
ServerID: perforce.ravenbrook.com
2014-03-30 14:26:02 +01:00
Gareth Rees
0eba9c6112
Fix header comment for ssw3i6*.c -- win64 not win32.
...
Copied from Perforce
Change: 185086
ServerID: perforce.ravenbrook.com
2014-03-29 17:24:28 +00:00
Gareth Rees
467ff3a9f5
Preserve the first table entry, so as to avoid false positives when this is kept alive by a register or stack-local variable.
...
Copied from Perforce
Change: 185077
ServerID: perforce.ravenbrook.com
2014-03-28 14:27:21 +00:00
Gareth Rees
6de8c58889
Catch-up merge from master sources to branch/2014-03-21/pellesc.
...
Copied from Perforce
Change: 185074
ServerID: perforce.ravenbrook.com
2014-03-28 13:54:30 +00:00
Gareth Rees
7ceb6297de
Remove #pragma warning(disable: ...) for microsoft visual c/c++ warnings that are no longer generated by the code, so that we get the maximum checking from this compiler.
...
Copied from Perforce
Change: 185072
ServerID: perforce.ravenbrook.com
2014-03-28 13:09:14 +00:00
Gareth Rees
d338a23654
Avoid spurious output from rmdir when running "nmake clean".
...
Copied from Perforce
Change: 185069
ServerID: perforce.ravenbrook.com
2014-03-28 12:45:11 +00:00
Gareth Rees
8396b32ead
Make nailboards work for sizes that aren't a power of 2.
...
Copied from Perforce
Change: 185058
ServerID: perforce.ravenbrook.com
2014-03-27 20:25:27 +00:00
Gareth Rees
2106c79a8f
Build nailboardtest on windows; run it on all platforms.
...
Copied from Perforce
Change: 185041
ServerID: perforce.ravenbrook.com
2014-03-27 12:12:39 +00:00
Gareth Rees
26f1ceb523
Catch-up merge from master sources to branch/2014-01-15/nailboard.
...
Copied from Perforce
Change: 185029
ServerID: perforce.ravenbrook.com
2014-03-26 16:36:36 +00:00
Gareth Rees
7fc9d6f911
Avoid expanding __file__ in aver in pelles c -- the compiler somehow loses its definition for __file__ in deeply nested macro expansions.
...
Copied from Perforce
Change: 185025
ServerID: perforce.ravenbrook.com
2014-03-26 13:44:02 +00:00
Gareth Rees
c7b793143d
Fix review comments from dl < https://info.ravenbrook.com/mail/2014/03/25/17-44-56/0/ >.
...
Add __attribute__((__format__(printf))) to functions that take a printf-compatible format string (when building using GCC or Clang), so that format string mistakes can be detected statically.
Copied from Perforce
Change: 185021
ServerID: perforce.ravenbrook.com
2014-03-26 12:27:35 +00:00
Gareth Rees
bb588d5a3d
Fix case of mps_os_w3, spotted by rb.
...
Copied from Perforce
Change: 185013
ServerID: perforce.ravenbrook.com
2014-03-25 15:37:27 +00:00
Gareth Rees
42b4955c2f
Uncomment event_list calls.
...
Copied from Perforce
Change: 185011
ServerID: perforce.ravenbrook.com
2014-03-25 15:12:33 +00:00