1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-18 20:00:36 -08:00
Commit graph

1489 commits

Author SHA1 Message Date
Gareth Rees
e45793ce57 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
9a57106d49 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
b86947796e 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
c680b9410a 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
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