Gareth Rees
a3b3fcc7b6
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
88509784e3
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
a51ebd62ea
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
20136d505d
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
b7c3b0ae84
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
4e8b76ac54
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
f2776dc0b4
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
0f445a4ea4
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
d3d2795fce
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
9c54379464
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
116021aef0
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
31154ac728
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
ee5b6b12b3
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
c2383c4ec9
Remove unneeded headers.
...
Copied from Perforce
Change: 185248
ServerID: perforce.ravenbrook.com
2014-04-06 15:53:54 +01:00
Gareth Rees
906209e2d0
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
2f9067da36
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
a7bc489409
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
cd377eb050
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
9bb6b2f8be
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
673eea41a0
Check classes after defining them.
...
Copied from Perforce
Change: 185228
ServerID: perforce.ravenbrook.com
2014-04-04 12:51:07 +01:00
Gareth Rees
94e3fff083
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
6ef4b6e0c6
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
3f07e913b7
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
feaa22a74f
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
5dc1122db8
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
a29c01d416
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
fe837568b9
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
1fc2bbe52b
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
4ee6bdd356
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
3bbde3766b
Generate dependencies for fmtscheme.c.
...
Copied from Perforce
Change: 185120
ServerID: perforce.ravenbrook.com
2014-04-01 12:11:06 +01:00
Richard Brooksby
3c543eb1a2
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
d190a9221c
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
9a523d0ccb
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
5edd5c5ef8
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
b2ec897e6b
Support the clang address sanitizer.
...
Copied from Perforce
Change: 185096
ServerID: perforce.ravenbrook.com
2014-03-30 18:51:53 +01:00
Gareth Rees
d92687e063
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
f025b00534
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
608720178b
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
56149eaf27
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
d934afafc5
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
68edf84c3b
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
1572cacd63
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
050a8f0a38
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
1e3e57a070
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
b81e8b2cc8
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
fe68bfac83
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
9aef4157fd
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
028ec084ff
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
3340bd2bf6
Uncomment event_list calls.
...
Copied from Perforce
Change: 185011
ServerID: perforce.ravenbrook.com
2014-03-25 15:12:33 +00:00
Gareth Rees
629278c469
Fixedsize function needs to take a size_t as argument.
...
Copied from Perforce
Change: 184999
ServerID: perforce.ravenbrook.com
2014-03-25 11:08:06 +00:00