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
Port djbench and gcbench to Windows.
Run amcssth and awlutth test cases on Windows.
Copied from Perforce
Change: 185354
ServerID: perforce.ravenbrook.com
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
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
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
Remove unused enumeration FormatVariety from mpmtypes.
Improve wording of manual entry on MPS_RM_PROT.
Copied from Perforce
Change: 185259
ServerID: perforce.ravenbrook.com
* 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
* 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
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