1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-23 07:12:12 -07:00
Commit graph

48 commits

Author SHA1 Message Date
Gareth Rees
91520b3526 Manual allocation should not longer start any traces, so test this.
Copied from Perforce
 Change: 189894
 ServerID: perforce.ravenbrook.com
2016-03-12 15:45:05 +00:00
Gareth Rees
3516d037b1 Fix the definition of mps_key_spare_field so that you can set this keyword argument when creating an mvff pool. add test cases that use this feature.
Copied from Perforce
 Change: 187174
 ServerID: perforce.ravenbrook.com
2014-10-10 12:05:23 +01:00
Gareth Rees
2d0f425428 Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt>), so it's about time it was implemented.

Copied from Perforce
 Change: 187071
 ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
39e8b866cf Rename mps_class_t to mps_pool_class_t for clarity.
Retain a typedef for mps_class_t for backwards compatibility.

Copied from Perforce
 Change: 187065
 ServerID: perforce.ravenbrook.com
2014-09-27 13:37:38 +01:00
Gareth Rees
6215109145 Fix problems noted by rb in review <https://info.ravenbrook.com/mail/2014/06/18/14-40-10/0/>
Copied from Perforce
 Change: 186669
 ServerID: perforce.ravenbrook.com
2014-06-18 16:24:38 +01:00
Gareth Rees
2f156547b0 Fix compilation on "ansi" platform.
Copied from Perforce
 Change: 186623
 ServerID: perforce.ravenbrook.com
2014-06-14 15:11:01 +01:00
Gareth Rees
76b164e48c Catch-up merge from master sources @186573 to branch/2014-05-28/align.
Copied from Perforce
 Change: 186574
 ServerID: perforce.ravenbrook.com
2014-06-13 15:37:20 +01:00
Gareth Rees
72c680ccce User size should be aligned up to the platform alignment (for convenience).
Add test cases.

Copied from Perforce
 Change: 186571
 ServerID: perforce.ravenbrook.com
2014-06-13 15:18:28 +01:00
Gareth Rees
6d2f4a640a Avoid local variable "free" shadowing standard c function free().
Copied from Perforce
 Change: 186554
 ServerID: perforce.ravenbrook.com
2014-06-13 11:17:28 +01:00
Gareth Rees
266a75b639 Catch-up merge from master sources @186536 to branch/2014-05-15/size.
Copied from Perforce
 Change: 186539
 ServerID: perforce.ravenbrook.com
2014-06-12 16:46:36 +01:00
Gareth Rees
c71e35f3c1 Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.
Copied from Perforce
 Change: 186526
 ServerID: perforce.ravenbrook.com
2014-06-12 13:45:22 +01:00
Gareth Rees
dbc6f9cd32 Catch-up merge from branch/2014-04-15/mvffnoseg @186485 to branch/2014-05-15/size.
Copied from Perforce
 Change: 186487
 ServerID: perforce.ravenbrook.com
2014-06-11 13:17:14 +01:00
Gareth Rees
017bdf6b1c Fix the build on windows:
* Alignments need casts to avoid a warning from MSVC.
* MFS has alignment MPS_PF_ALIGN, not sizeof(void *).

Copied from Perforce
 Change: 186477
 ServerID: perforce.ravenbrook.com
2014-06-11 11:57:15 +01:00
Gareth Rees
4ce7746f6b New type readonlyaddr for managed address that an interface promises only to read through.
Use ReadonlyAddr for debugging pool fenceTemplate and freeTemplate, so that we can restore -Wwrite-strings option for GCC.

Copied from Perforce
 Change: 186434
 ServerID: perforce.ravenbrook.com
2014-06-08 14:53:17 +01:00
Gareth Rees
16ccef5e2d New public functions mps_pool_total_size and mps_pool_free_size.
Old (undocumented) functions mps_{mv,mvff,mvt}_size and mps_{mv,mvff,mvt}_free_size are now macros for the new public functions.
New pool methods PoolTotalSize and PoolFreeSize, with implementations for public pool classes except SNC.
Coverage of the new functions in apss and mpmss for the manual pool classes, and in finaltest for the automatic pool classes.

Copied from Perforce
 Change: 186118
 ServerID: perforce.ravenbrook.com
2014-05-15 17:01:59 +01:00
Gareth Rees
ec1907ed6e Ensure coverage of mvffdescribe.
Copied from Perforce
 Change: 186016
 ServerID: perforce.ravenbrook.com
2014-05-11 22:17:39 +01:00
Gareth Rees
f7dd0b6c46 Provide a default value for mps_key_pool_debug_options.
Don't use const in the types of the debugging templates: it's infectious!

Copied from Perforce
 Change: 185489
 ServerID: perforce.ravenbrook.com
2014-04-13 18:02:10 +01:00
Gareth Rees
ae8e213a3b Mvff debug now supports alloc/free of large objects (by exposing and covering all segments which the object overlaps)
Copied from Perforce
 Change: 185386
 ServerID: perforce.ravenbrook.com
2014-04-09 13:30:36 +01:00
Gareth Rees
d36670e39d Update the stress test cases (apss, mpmss, sacss) so that they test different alignments.
Copied from Perforce
 Change: 185384
 ServerID: perforce.ravenbrook.com
2014-04-09 13:13:09 +01:00
Gareth Rees
c230d2ffaa 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
8c5bb6ae3c 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
b8a8369d66 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
c1df7b56ce 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
c94be13bdf 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
333840f54a 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
bcfad58d3c Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
Copied from Perforce
 Change: 183926
 ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
4950182f38 Avoid warnings when compiling with -wwrite-strings:
* Use const char * in places where we want to assign string constants.
Avoid warnings when compiling with -Wextra:
* Avoid if statement with empty body in amcsshe.c
* Avoid comparison of unsigned >= 0.

Copied from Perforce
 Change: 183498
 ServerID: perforce.ravenbrook.com
2013-10-01 10:52:45 +01:00
Richard Brooksby
4732a1bca7 Fixing sacss failure introduced in changelist 183045. alignments are unpacked from varargs as promoted to size_t, but mps_pf_align is a naked number literal, and so was passed as int, causing a corrupt alignemnt failure in sacss.
Copied from Perforce
 Change: 183048
 ServerID: perforce.ravenbrook.com
2013-07-15 17:24:55 +01:00
Gareth Rees
e5b2ee54cd Three test cases assumed that mps_pf_align is always equal to sizeof(void *), but this isn't true on platform w3i3mv where sizeof(void *) is 4 and mps_pf_align is 8. remove the assumption from these test cases.
Copied from Perforce
 Change: 183045
 ServerID: perforce.ravenbrook.com
2013-07-15 16:54:10 +01:00
Richard Brooksby
8a9d451ff8 Catch-up merge from custom/cet/main to master.
Includes installable assertion handler, events in circular memory buffers, LARGEADDRESSAWARE, etc.

Copied from Perforce
 Change: 182176
 ServerID: perforce.ravenbrook.com
2013-05-24 19:42:46 +01:00
Gareth Rees
296ac3bccf Improve the usability of the test suite:
1. "make test" now reports the name of the test case before running it, so that when you look back through the test output you can see which test case failed.
2. "make test" now collects the standard output from all the tests to a log file in /tmp, so that this does not clutter the user's terminal, and so that nothing is lost if the output exceeds the terminal's scrollback.
3. Each test case now prints a success message ("Conclusion: Failed to find any defects.") to standard output (not standard error) so that these messages do not clutter up the terminal when running "make test".
4. Each test case now uses its result code (not the printed message) to indicate whether it succeeded or failed.
5. More of the diagnostic messages from the test cases now start by printing argv[0] so that it is easier to tell which test case was running.

Copied from Perforce
 Change: 181071
 ServerID: perforce.ravenbrook.com
2013-03-07 13:13:32 +00:00
Richard Brooksby
873351553b Converting some "@@@@" markers to descriptive "todo" actions.
Copied from Perforce
 Change: 179688
 ServerID: perforce.ravenbrook.com
2012-09-25 22:50:16 +01:00
Richard Brooksby
dc7ceb607f Fixing up remaining visible warnings in xcode (all in test programs).
Expanding or removing some '@@@@' marks.

Copied from Perforce
 Change: 179574
 ServerID: perforce.ravenbrook.com
2012-09-20 01:08:41 +01:00
David Lovemore
078e1e451c Cleanup tests. these were mostly alignment issues. i have made them vary the alignments used according to the platform, using sizeof(void *) and mps_pf_align.
Copied from Perforce
 Change: 178494
 ServerID: perforce.ravenbrook.com
2012-06-18 14:47:53 +01:00
Richard Brooksby
0f49047f5e Increased alignments to work on 64-bit targets.
Copied from Perforce
 Change: 178194
 ServerID: perforce.ravenbrook.com
2012-05-17 15:05:23 +01:00
Richard Brooksby
667f82dbc4 Changing global graphics copyright notice to say "portions copyright" to avoid confusion.
Copied from Perforce
 Change: 30258
 ServerID: perforce.ravenbrook.com
2002-06-18 16:28:41 +01:00
Richard Brooksby
c11fa19243 Merging branch mps/2002-05-22/open-source-prep.
Making some new files consistent with changes from that branch.
Deleting some new Global Graphics confidential files.

Copied from Perforce
 Change: 30256
 ServerID: perforce.ravenbrook.com
2002-06-18 16:19:34 +01:00
Nick Barnes
0c8fe12191 Integrate changes from global graphics.
Copied from Perforce
 Change: 30250
 ServerID: perforce.ravenbrook.com
2002-06-18 14:14:55 +01:00
Richard Brooksby
f22e14e334 Eliminating "impl" type tags and replacing them with uri-style file references.
Copied from Perforce
 Change: 29900
 ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
5afb4899ef Adding forward reference to licenses from copyright notices.
Adding licenses to a couple of files I missed.

Copied from Perforce
 Change: 29837
 ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
819ed0ed76 Adding licenses to source code files.
Copied from Perforce
 Change: 29836
 ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
ab0821c590 Remove trailing whitespace.
Copied from Perforce
 Change: 25309
 ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00
Richard Brooksby
c2b33bb9b5 Removing hopenames from the master sources.
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.

Copied from Perforce
 Change: 24911
 ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
d0ccf8fa9a Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.

Copied from Perforce
 Change: 24877
 ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
c84f2a8553 Updating copyright messages to say copyright 2001 ravenbrook throughout.
Adding some missing copyright messages.

Copied from Perforce
 Change: 24818
 ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
e0a5828027 Changing hopename keywords to id keywords throughout, to work with perforce.
Copied from Perforce
 Change: 24817
 ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
68e0b8253f Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
Copied from Perforce
 Change: 24815
 ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
88e5e63275 Branch imports for masters.
Copied from Perforce
 Change: 23678
 ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00
Renamed from mps/src/mpmss.c (Browse further)