1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-20 11:33:09 -08:00
Commit graph

179 commits

Author SHA1 Message Date
Gareth Rees
7bf58e3f53 Represent the spare memory as a land. 2022-01-17 20:19:07 +00:00
Gareth Rees
fe656c0565 New api function mps_pool_walk. 2022-01-17 17:39:18 +00:00
Filip Strömbäck
cca58dbafc Fixed typos in the test/function/237.c 2021-08-08 12:57:47 +02:00
Filip Strömbäck
94bd16a304 Added a test case for github issue
This is to illustrate that the value in GetLastError() may be
clobbered by the exception handler on Windows in some
circumstances. As this commit is before the patch, the test currently
fails (clearly showing the issue).

GitHub-reference: https://github.com/Ravenbrook/mps/issues/61
2021-03-12 12:40:56 +01:00
Gareth Rees
ac0b724847 Remove reservoir functions, deprecated since release 1.115.0 2020-09-24 11:36:46 +01:00
Gareth Rees
302c8d0b19 Remove mps_tramp, deprecated since release 1.111.0. 2020-09-24 09:30:33 +01:00
Gareth Rees
e749d0c895 Mmqa test function/148.c was fixed by change 187224. 2020-09-04 21:47:05 +01:00
Gareth Rees
5acb13ba24 Save and restore errno in signal handlers.
Ensure there are assertions on the results of all the libc functions
in protsgix.c and pthrdext.c.
2020-09-02 19:59:23 +01:00
Gareth Rees
e7d4356705 Merge branch 'branch/2020-08-24/eintr' 2020-08-30 09:24:08 +01:00
Gareth Rees
ae265371c1 Set sa_restart flag when calling sigaction().
This ensures that if a mutator thread is blocked in a system call when
the MPS handles a signal, the system call will not fail with EINTR but
instead will be restarted.

Add a test case for the thread suspend and resume signals.
2020-08-30 09:23:35 +01:00
Gareth Rees
c5591cdf79 Use correct function for creating arena.
Since we are passing a list of keyword arguments, we must call the
keyword-taking function (mps_arena_create_k) and not the deprecated
varargs function (mps_arena_create).
2020-08-24 17:17:37 +01:00
Gareth Rees
ceaca84a7f Avoid using deprecated function mps_tramp.
Use mps_root_create_thread in preference to mps_root_create_reg.
New test harness run_test passes pointer to cold end of stack, since this is needed by many tests.

Copied from Perforce
 Change: 195917
2019-01-09 16:17:17 +00:00
Gareth Rees
fcb87d3f48 Use keyword argument interface to avoid underpromotion of arguments.
Copied from Perforce
 Change: 195911
2019-01-08 14:43:41 +00:00
Gareth Rees
b0d0c9a262 Merge branch/2018-08-01/land-insert-steal into the master sources.
Copied from Perforce
 Change: 194968
2018-08-13 14:42:25 +01:00
Gareth Rees
fffe8af73e A couple of the tests pass only in the cool variety.
Copied from Perforce
 Change: 194959
2018-08-13 13:23:18 +01:00
Gareth Rees
1f1dc12978 Need to set the spare commit limit in order for the committed memory to go down.
Copied from Perforce
 Change: 194956
2018-08-13 12:54:03 +01:00
Gareth Rees
1f998c0c8e Add some test coverage for mps_key_spare, mps_arena_spare, and mps_arena_spare_set.
Copied from Perforce
 Change: 194945
2018-08-13 10:09:45 +01:00
Gareth Rees
9008a02110 Use mps_class_mvff_debug.
Copied from Perforce
 Change: 194866
2018-08-02 14:26:20 +01:00
Gareth Rees
967b61398d Replace mv debug with mvff debug.
Remove some remaining occurrences of mpscvm.h.

Copied from Perforce
 Change: 194865
2018-08-02 14:20:23 +01:00
Gareth Rees
9643a1f090 New land functions landinsertsteal and landdeletesteal and unit test.
Use LandInsertSteal instead of arenaFreeLandInsertSteal.
Add regression test for job004102.

Copied from Perforce
 Change: 194861
2018-08-02 13:16:15 +01:00
Gareth Rees
4e8de8d42e Replace deprecatd mv with mvff in test cases.
Delete eventrep and replay modules -- these have been broken for a long time. 

Copied from Perforce
 Change: 194843
2018-08-01 13:10:09 +01:00
Gareth Rees
0fcb0ecf90 Introduce a count of the "system" pools (that is, those remaining when arenadestroy is called), so that arena classes can add new ones.
Copied from Perforce
 Change: 194812
2018-07-31 13:35:22 +01:00
Gareth Rees
4ee65d569a Avoid "unused variable _mps_wt" warning from gcc.
Copied from Perforce
 Change: 194776
2018-07-30 11:55:00 +01:00
Gareth Rees
9290de0dff Assertion is on the critical path, so conerr/59.c only passes in the cool variety.
Copied from Perforce
 Change: 194713
2018-07-23 11:14:54 +01:00
Gareth Rees
bc919b5d42 Update mmqa tests to cope with the removal of mv:
* Fix typo in argerr/41.c.
* Delete argerr/43.c and argerr/44.c: MVFF doesn't take a maximum size argument so we can't test for erroneous values of this argument.
* Fix assertion condition in conerr/59.c.
* In function/136.c, need to specify extend-by for second pool, now that it's an MVFF pool.
* function/224.c now passes (fragmentation is avoided because MVFF allocations can cross extent boundaries).

Copied from Perforce
 Change: 194712
2018-07-23 11:05:31 +01:00
Gareth Rees
6d30dca56b Fix issues identified in review by gdr <https://info.ravenbrook.com/mail/2018/07/16/13-54-48/0/>
Copied from Perforce
 Change: 194674
2018-07-16 15:00:30 +01:00
Gareth Rees
f2242fcb64 Ensure that mmqa tests require either a pass or a specified failure.
Copied from Perforce
 Change: 194668
2018-07-16 12:57:42 +01:00
Gareth Rees
09a10b1cce Use the functions comment(), report() and vreport() to ensure that assertion and error output is correctly formatted and the intention is clear.
Copied from Perforce
 Change: 194667
2018-07-16 12:51:41 +01:00
Gareth Rees
b742e99f96 Mmqa tests function/{7,21,22}.c now pass on 32-bit platforms.
MMQA tests function/{8,98}.c now pass on 64-bit platforms.

Copied from Perforce
 Change: 194599
2018-07-11 16:24:47 +01:00
Gareth Rees
ca11ef7be4 Avoid "warning c4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)" from microsoft visual c.
Copied from Perforce
 Change: 194586
2018-07-11 13:13:17 +01:00
Gareth Rees
2248184124 Check that traces with no condemned objects can be started and finished without error in each automatic pool class. regression test for job004086.
Copied from Perforce
 Change: 194475
2018-07-06 14:26:54 +01:00
Gareth Rees
9013f77478 Ensure that the mmqa test case is compiled using the same variety as the mps library against which it is linked, in case it needs to inspect internal mps data structures.
Copied from Perforce
 Change: 194449
2018-07-05 15:57:33 +01:00
Gareth Rees
f4ec71167c Fix issues identified in review https://info.ravenbrook.com/mail/2018/07/03/10-10-11/0/
Copied from Perforce
 Change: 194382
2018-07-03 13:04:21 +01:00
Gareth Rees
ddffa73317 Catch-up merge from master sources at changelevel 194268 to branch/2018-06-18/job004070.
Copied from Perforce
 Change: 194274
2018-06-28 14:31:02 +01:00
Gareth Rees
ef265eb175 Fix issues identified in review by dl.
Copied from Perforce
 Change: 194187
2018-06-26 11:39:45 +01:00
Gareth Rees
20ab8a1773 Test cases for errors in finalization.
Copied from Perforce
 Change: 194166
2018-06-26 09:01:46 +01:00
Gareth Rees
e54d414bfb No need for separate ams and lo formats.
Copied from Perforce
 Change: 194133
2018-06-23 21:01:15 +01:00
Gareth Rees
aeb8be99bd Make ams test for invalid references in the same way as the other pool classes. this also avoids fixing them in hot and rash varieties.
Copied from Perforce
 Change: 193924
2018-06-18 16:59:12 +01:00
Gareth Rees
40d88a4903 New mmqa test cases check that ams asserts on fixes to unaligned, unallocated, and out-of-bounds objects.
Copied from Perforce
 Change: 193921
2018-06-18 16:40:10 +01:00
Gareth Rees
0c289d65f3 Awl asserts on fixes to out-of-bounds objects.
New MMQA test case conerr/65.c checks this.

Copied from Perforce
 Change: 193916
2018-06-18 16:29:03 +01:00
Gareth Rees
e6b6fca1ca Lo asserts on fixes to out-of-bounds objects.
New MMQA test case conerr/64.c checks this.

Copied from Perforce
 Change: 193915
2018-06-18 16:22:16 +01:00
Gareth Rees
12da8bf742 Awl asserts on fixes to unallocated objects.
New MMQA test case conerr/63.c checks this.

Copied from Perforce
 Change: 193910
2018-06-18 15:46:26 +01:00
Gareth Rees
49106b066e Lo asserts on fixes to unallocated objects.
New MMQA test case conerr/62.c checks this.

Copied from Perforce
 Change: 193909
2018-06-18 15:41:29 +01:00
Gareth Rees
9a16d354c6 Awl asserts on fixes to unaligned exact references.
New MMQA test case conerr/61.c checks this.

Copied from Perforce
 Change: 193904
2018-06-18 15:23:58 +01:00
Gareth Rees
8e64810d00 Lo asserts on fixes to unaligned exact references.
New MMQA test case conerr/60.c checks this.

Copied from Perforce
 Change: 193901
2018-06-18 15:05:30 +01:00
Gareth Rees
1b3b8caca4 Use commentif to avoid "unexpected line in output:" from test runner.
Copied from Perforce
 Change: 193896
2018-06-18 14:47:28 +01:00
Gareth Rees
3c0d28b98a Correct reason for why function/23.c does not pass.
Copied from Perforce
 Change: 193881
2018-06-18 13:18:28 +01:00
Gareth Rees
e4bf4451b6 Fix copy-paste error.
Copied from Perforce
 Change: 193880
2018-06-18 13:18:02 +01:00
Gareth Rees
c4a840d676 Rename "mac os x" and "os x" to "macos", except for a few cases where for historical accuracy we want to continue to refer to the former name.
Copied from Perforce
 Change: 193821
2018-06-15 12:15:36 +01:00
Gareth Rees
169b8dcaf6 Avoid using deprecated function mps_fix and deprecated macro mps_fix in the test cases; use mps_fix12 instead.
Copied from Perforce
 Change: 193726
2018-06-13 13:59:14 +01:00