1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
Commit graph

1428 commits

Author SHA1 Message Date
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
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
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
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
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
Gareth Rees
d799a993a2 Support for stackprobe on w3i3pc and w3i6pc.
Copied from Perforce
 Change: 184998
 ServerID: perforce.ravenbrook.com
2014-03-25 11:05:09 +00:00
Gareth Rees
00ee0bfcc5 64-bit support for pelles c:
* New nmake file w3i6pc.nmk.
* New stack scanner ssw3i6pc.c supplies missing jump buffer definition.
* Some platform tests change from defined(MPS_PF_W3I6MV) to defined(MPS_OS_w3) && defined(MPS_ARCH_I6).
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** Ensure that printf formats are consistent with arguments by using PRIuLONGEST and casting to ulongest_t.
** Use size_t for loop variables that index into arrays.
** Suppress "Consider changing type to 'size_t' for loop variable" warnings for the MPS core.

Copied from Perforce
 Change: 184996
 ServerID: perforce.ravenbrook.com
2014-03-25 10:59:09 +00:00
Gareth Rees
f0bf4bc99f New makefile xci6ll.gmk provides way to compile the mps one file at a time on os x.
Copied from Perforce
 Change: 184991
 ServerID: perforce.ravenbrook.com
2014-03-24 21:27:35 +00:00
Gareth Rees
5bbe70609f Support for "make -f platform.gmk testrun".
Copied from Perforce
 Change: 184990
 ServerID: perforce.ravenbrook.com
2014-03-24 21:26:42 +00:00
Gareth Rees
23446b9efe Update file types: add +k (keyword expansion).
Copied from Perforce
 Change: 184984
 ServerID: perforce.ravenbrook.com
2014-03-24 20:36:57 +00:00
Gareth Rees
a7c94b0845 Need to include <stdlib.h> for malloc and _alloca.
Copied from Perforce
 Change: 184980
 ServerID: perforce.ravenbrook.com
2014-03-24 18:53:23 +00:00
Gareth Rees
981dcb36e3 Ensure that windows.h is only included via mpswin.h, so that we always have the same set of definitions and pragmas in effect.
Turn on WIN32_LEAN_AND_MEAN when including windows.h to improve compilation time.

Copied from Perforce
 Change: 184979
 ServerID: perforce.ravenbrook.com
2014-03-24 18:49:22 +00:00
Gareth Rees
9d5266c0cc Improved support for pelles c:
* Refactor nmake files so that a compiler-specific makefile is included; move Microsoft Visual C-specific options to mv.nmk.
* Add nmake files for Pelles (w3i3pc.nmk and pc.nmk).
* Rename spw3i3mv.c to spw3i3.c and spw3i6mv.c to spw3i6.c since these are also used by Pelles C.
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** check results of function calls;
** avoid useless return values;
** undef max before defining it;
** ensure printf formats are checkable;
** move notreached() assertions to the end of blocks;
** suppress warnings in cases where the code shouldn't be changed ("Unreachable code", "Inline assembly code is not portable", "Structured Exception Handling is not portable").

Copied from Perforce
 Change: 184977
 ServerID: perforce.ravenbrook.com
2014-03-24 18:23:29 +00:00
Gareth Rees
6d76fdd813 Catch-up merge from master sources to branch/2014-03-21/pellesc.
Copied from Perforce
 Change: 184973
 ServerID: perforce.ravenbrook.com
2014-03-24 12:20:49 +00:00
Gareth Rees
f81d124529 Replace hex constant 9024eac8 (gotneach) with 4026eac8 (notreach).
Copied from Perforce
 Change: 184972
 ServerID: perforce.ravenbrook.com
2014-03-24 12:13:20 +00:00
Gareth Rees
70a45934ac Don't list the test cases to be run in commpre.nmk: list them instead in testrun.bat for consistency with other platforms.
Format lists of files and test cases with one per line so that merges are easier.
Improve testrun.bat: better success/failure output; fewer gotos.

Copied from Perforce
 Change: 184971
 ServerID: perforce.ravenbrook.com
2014-03-24 12:12:24 +00:00
Gareth Rees
cf0d96dd0b Ensure that all test cases call testlib_init so that the testlib assertion handler is installed: this ensures that on windows you can set mps_testlib_noabort to avoid the dialog box from abort().
Copied from Perforce
 Change: 184965
 ServerID: perforce.ravenbrook.com
2014-03-24 11:41:01 +00:00
Gareth Rees
ff8a0c71d9 Don't list the test cases to be run in the xcode project: list them in testrun.sh instead so that this is shared with the freebsd and linux platforms.
Format the list with one test case per line so that merges are easier.

Copied from Perforce
 Change: 184958
 ServerID: perforce.ravenbrook.com
2014-03-22 18:04:56 +00:00
Gareth Rees
831c86c47b (very) draft makefile for pelles c.
Copied from Perforce
 Change: 184949
 ServerID: perforce.ravenbrook.com
2014-03-21 18:29:36 +00:00
Gareth Rees
4ef183e62a Mps compiles and runs using pelles c.
Merge code from Bruce Mitchener <https://github.com/Ravenbrook/mps-temporary/pull/2> and from RB <https://github.com/waywardmonkeys/mps-temporary/pull/1/files>.
Split call to EVENT_LIST so that event.c compiles.
Remove useless call to va_end in seg.c.

Copied from Perforce
 Change: 184948
 ServerID: perforce.ravenbrook.com
2014-03-21 18:28:39 +00:00
Gareth Rees
9b9e33c6d6 Move coverage testing out of the xcode project (to avoid normal debug builds being slowed down by coverage instrumentation, and to avoid error messages when the tests are unable to update the coverage data).
Copied from Perforce
 Change: 184931
 ServerID: perforce.ravenbrook.com
2014-03-21 12:51:06 +00:00
Gareth Rees
cb17267a8e Fix some checkleveldeep assertions:
1. In GlobalsPrepareToDestroy, set arenaGlobals->defaultChain to NULL before calling ChainDestroy, to avoid a failed ChainCheck inside ControlFree.
2. In GlobalsPrepareToDestroy, set arenaGlobals->lock to NULL after destroying it, to avoid a failed LockCheck inside ControlFree.
3. In TraceIdMessagesCreate, set tsMessage[ti] and tMessage[ti] together to avoid a failed TraceIdMessagesCheck inside traceMessageInit.
4. In TracePostStartMessage, set tsMessage[ti] to NULL before calling MessagePost, to avoid a failed TraceStartMessageCheck inside ControlFree.
5. Ditto for TracePostMessage and tMessage[ti].

Copied from Perforce
 Change: 184924
 ServerID: perforce.ravenbrook.com
2014-03-20 23:37:02 +00:00
Gareth Rees
87a1b83f20 Drop .py extension from python executables, as requested by rb.
Copied from Perforce
 Change: 184900
 ServerID: perforce.ravenbrook.com
2014-03-20 11:36:58 +00:00
Gareth Rees
ef50218e32 Update release index and bump release number accordingly.
Copied from Perforce
 Change: 184870
 ServerID: perforce.ravenbrook.com
2014-03-18 18:11:48 +00:00
Gareth Rees
6c0eaa418e In configure.ac, parse the release name out of code/version.c.
This means that there is now just one place in the sources where the release name is specified.

Copied from Perforce
 Change: 184830
 ServerID: perforce.ravenbrook.com
2014-03-17 14:53:58 +00:00
Richard Brooksby
b91426ea91 Merging branch/2014-01-17/cbs-tract-alloc into master.
Copied from Perforce
 Change: 184783
 ServerID: perforce.ravenbrook.com
2014-03-13 15:28:06 +00:00
Richard Brooksby
b2d35664df Apss test relies on non-zoned client arena to test tight memory condition, but client arena is zoned by default now. fixed the test to set up a non-zoned client arena.
Copied from Perforce
 Change: 184779
 ServerID: perforce.ravenbrook.com
2014-03-13 15:00:37 +00:00
Richard Brooksby
aa7c900988 Return the correct reason that arena extension failed.
Copied from Perforce
 Change: 184777
 ServerID: perforce.ravenbrook.com
2014-03-13 13:48:43 +00:00
Richard Brooksby
687c50b762 Implementing top-down (last fit) allocation in zones.
Copied from Perforce
 Change: 184771
 ServerID: perforce.ravenbrook.com
2014-03-13 12:06:28 +00:00
Richard Brooksby
c77f1f931f Responding to code review <https://info.ravenbrook.com/mail/2014/03/12/15-42-41/0/>.
Copied from Perforce
 Change: 184754
 ServerID: perforce.ravenbrook.com
2014-03-12 15:45:50 +00:00
Richard Brooksby
da27b88605 Improving rangecopy based on code review suggestion <https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/>.
Copied from Perforce
 Change: 184743
 ServerID: perforce.ravenbrook.com
2014-03-12 11:30:05 +00:00
Richard Brooksby
158f94d510 Arenacv is not designed to work on a zoned client arena, even though this has become a possible combination. removed that case.
Copied from Perforce
 Change: 184742
 ServerID: perforce.ravenbrook.com
2014-03-12 10:46:44 +00:00
Richard Brooksby
061eba523c Reponding to code review <https://info.ravenbrook.com/mail/2014/03/10/17-01-58/0/>.
Renaming the arena’s “zoned CBS” back to earlier “free CBS”, especially since it might not be zoned.

Copied from Perforce
 Change: 184738
 ServerID: perforce.ravenbrook.com
2014-03-11 17:27:57 +00:00