Gareth Rees
f2d3221a29
Remove comment from mpscmv2.h -- it's obsolete (no such thing as mps_count_t) and anyway documentation is now in the manual.
...
Copied from Perforce
Change: 185382
ServerID: perforce.ravenbrook.com
2014-04-09 13:02:18 +01:00
Gareth Rees
2e053caffc
Alas, mvff and mvt can't round up alignment because they need to support buffered allocation.
...
Copied from Perforce
Change: 185381
ServerID: perforce.ravenbrook.com
2014-04-09 13:01:58 +01:00
Gareth Rees
eb5c7f75cc
Make debugging pool implementation more flexible -- there's no longer a requirement for fencesize to be a multiple of the pool alignment, nor for freesize to be a divisor of the pool alignment. this makes it easy to write simple and portable debug options structures without having to mess about with mps_pf_align.
...
Copied from Perforce
Change: 185379
ServerID: perforce.ravenbrook.com
2014-04-09 13:00:52 +01:00
Gareth Rees
4c9426514c
Alignment is now configurable for mv pools using mps_key_align.
...
MVFF and MVT support alignments down to FreelistMinimumAlignment.
For MVFF and MVT, alignments that are too small are rounded up automatically, to make it easier to write portable programs.
Copied from Perforce
Change: 185369
ServerID: perforce.ravenbrook.com
2014-04-08 21:32:19 +01:00
Gareth Rees
bb4c2209e4
Branching master to branch/2014-04-08/align.
...
Copied from Perforce
Change: 185361
ServerID: perforce.ravenbrook.com
2014-04-08 20:28:28 +01:00
Gareth Rees
00901670be
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
3f50055416
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
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
6f48a50707
More type.
...
Copied from Perforce
Change: 185334
ServerID: perforce.ravenbrook.com
2014-04-08 00:31:54 +01:00
Gareth Rees
49b781a49d
Fix typo.
...
Copied from Perforce
Change: 185331
ServerID: perforce.ravenbrook.com
2014-04-08 00:26:54 +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
47c110129f
Fix a couple of typos.
...
Copied from Perforce
Change: 185324
ServerID: perforce.ravenbrook.com
2014-04-07 18:28: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
44b5c0d0c4
Fix restructuredtext formatting.
...
Copied from Perforce
Change: 185266
ServerID: perforce.ravenbrook.com
2014-04-07 00:27:31 +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
12c2544bef
Write release notes for release 1.111.0.
...
Copied from Perforce
Change: 185254
ServerID: perforce.ravenbrook.com
2014-04-06 17:25:11 +01:00
Gareth Rees
70d946f065
Fix typo.
...
Copied from Perforce
Change: 185253
ServerID: perforce.ravenbrook.com
2014-04-06 17:24:33 +01:00
Gareth Rees
46da5d0d69
Fix typo.
...
Copied from Perforce
Change: 185252
ServerID: perforce.ravenbrook.com
2014-04-06 17:24:08 +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
31cfac1675
The empty accessset is actually accesssetempty.
...
Copied from Perforce
Change: 185242
ServerID: perforce.ravenbrook.com
2014-04-06 11:04:18 +01:00
Gareth Rees
474cff250d
Mmqa test case function/46.c now passes; update passing.
...
Copied from Perforce
Change: 185236
ServerID: perforce.ravenbrook.com
2014-04-04 22:00:39 +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
2d7805b65b
Allocate with the right size.
...
Copied from Perforce
Change: 185233
ServerID: perforce.ravenbrook.com
2014-04-04 18:22:13 +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
55931db914
Improve wording.
...
Copied from Perforce
Change: 185224
ServerID: perforce.ravenbrook.com
2014-04-04 11:49:33 +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
66bb75c5d7
Add reference to c99 as requested by rb in < https://info.ravenbrook.com/mail/2014/04/02/13-57-33/0/ >.
...
Copied from Perforce
Change: 185214
ServerID: perforce.ravenbrook.com
2014-04-03 16:57:26 +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