1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-27 09:11:48 -07:00
Commit graph

6946 commits

Author SHA1 Message Date
Richard Brooksby
a91cd3aef2 Extending job to run on macos using a build matrix. 2023-01-11 13:08:31 +00:00
Richard Brooksby
228cc4568b Merge branch branch/2023-01-06/gcc-11.3.0-warnings into branch/2023-01-11/github-ci because these warnings cause github ci to fail <https://github.com/ravenbrook/mps/actions/runs/3892932541/jobs/6644932572#step:4:215>. 2023-01-11 12:48:57 +00:00
Richard Brooksby
935089e037 Fixing yaml syntax. 2023-01-11 12:47:24 +00:00
Richard Brooksby
0523c12113 Possibly removing condition that the workflow only works on the default (master) branch. 2023-01-11 12:43:43 +00:00
Richard Brooksby
5debad51af Disabling travis ci on this branch while experimenting with github ci. 2023-01-11 09:40:42 +00:00
Richard Brooksby
3e0a8ca444 Adding a github workflow to trigger a github ci build, as an experiment. 2023-01-11 09:40:23 +00:00
Richard Brooksby
7159ec5d4f Excluding some branches from travis ci builds to avoid resource usage and message spam. 2023-01-08 11:58:23 +00:00
Richard Brooksby
efcd2933e2 Adding pull-request-merge to procedures index. updating copyright dates. validating. 2023-01-07 14:02:41 +00:00
Richard Brooksby
2eefc7a363 Adding pull request merge procedure. 2023-01-07 13:54:08 +00:00
Richard Brooksby
9ba1724cdb Resolve legit warning from gcc 11.3.0 about potential array overruns. 2023-01-06 17:39:48 +00:00
Richard Brooksby
cfd333842c Moving windows outside the matrix so we don't get extraneous builds for non-existent platforms like w3i6gc that try to use configure.
Fixing CMD invocation to use /c rather than /k so that CMD exits when finished.
2023-01-06 12:40:00 +00:00
Richard Brooksby
119fa09bd9 Fix travis ci build for windows using auxiliary batch script to escape from git bash to visual studio. 2023-01-06 12:18:03 +00:00
Richard Brooksby
0c03e19427 Experimentally enabling window build with travis ci to see what happens, since the documentation <https://docs.travis-ci.com/user/reference/windows/> is very vague. 2023-01-05 23:07:17 +00:00
Gareth Rees
4ed7bef4b2 Avoid compilation error from clang 13.1. 2022-08-21 08:25:50 +01:00
Gareth Rees
4ba2db1346 Merge pull request from branch/2020-08-29/page-sparering-elim
GitHub-reference: https://github.com/Ravenbrook/mps/issues/29
2022-01-17 20:44:45 +00:00
Gareth Rees
6a965b5ff0 Handle partial allocation failure by marking allocated pages spare and purging, as suggested by rb in review.
Copied from Perforce
 Change: 195997
2022-01-17 20:19:08 +00:00
Gareth Rees
71b05de30f Eliminate pagestate and pagepoolunion: spare pages are now represented by the spare page land, and free/allocated pages can be distinguished using the pool pointer.
Copied from Perforce
 Change: 195991
2022-01-17 20:19:08 +00:00
Gareth Rees
49a20700a7 Can't assert that res == reslimit since it may be an injected memory allocation failure from fotest.
Copied from Perforce
 Change: 195988
2022-01-17 20:19:07 +00:00
Gareth Rees
b0a1af5c05 Represent the spare memory as a land. 2022-01-17 20:19:07 +00:00
Gareth Rees
cfde286af5 Merge pull request from branch/2020-08-31/walk
GitHub-reference: https://github.com/Ravenbrook/mps/issues/34
2022-01-17 18:15:04 +00:00
Gareth Rees
cd5268121f Add some technical details to the mps_area_scan_t documentation. 2022-01-17 17:39:18 +00:00
Gareth Rees
efff4ea400 Deprecate mps_formatted_objects_walk and mps_amc_apply. 2022-01-17 17:39:18 +00:00
Gareth Rees
359bd5b034 New api function mps_pool_walk. 2022-01-17 17:39:18 +00:00
Gareth Rees
a8fe3c5134 New function scanstateupdatesummary updates seg summary after scan. 2022-01-17 17:12:58 +00:00
Gareth Rees
8b87dccf6e Indirect formatted scanning through the scanstate.
This will allow us to reuse the scanning protocol with an arbitrary area
scanning function (replacing traceFormatScan) in order to implement
formatted object walking without an extra segment method.

Don't insist on scanning only grey segments: we want to be able to
reuse the scan protocol for walking, when the segments are black.
2022-01-17 17:12:58 +00:00
Gareth Rees
839ce9c6d3 Swap .gitignore and .p4ignore.
Git version 2.32 added the backwards-incompatible "feature" that
.gitignore files that are symbolic links are ignored. Since all our
.gitignore files are symbolic links to the .p4ignore file in the same
directory, for compatibility between the Perforce and Git mirrors of
the repository, this broke "git status" for us and all our users.

See https://github.com/git/git/blob/master/Documentation/RelNotes/2.32.0.txt

This change swaps the files so that .p4ignore is a symbolic link to
.gitignore in each case.
2022-01-11 14:34:05 +00:00
Gareth Rees
a6fb99af5b Update the supported target platforms in the user guide. 2021-09-04 09:43:27 +01:00
Gareth Rees
689e4e6f83 Merge branch 'save-errno-win32' from filip strömbäck. 2021-08-08 12:11:38 +01:00
Filip Strömbäck
563e21bdef Fixed typos in the test/function/237.c 2021-08-08 12:57:47 +02:00
Gareth Rees
d21b35d9bb Update links from travis-ci.org to travis-ci.com. 2021-08-08 10:31:22 +01:00
Gareth Rees
2427804b06 Correct title and source of new developer guide. 2021-07-11 07:57:21 +01:00
Gareth Rees
68bf740f41 The mps no longer supports xci3ll (macos, i386, clang/llvm).
As of macOS 10.15 (Catalina), this platform is no longer supported by
Apple, so it is inconvenient to develop and test. The code is left in
place for developers on older versions of macOS.
2021-06-04 18:18:37 +01:00
Gareth Rees
c133843a38 Exclude amcssth from test suites on arm64 for now.
This is because amcssth fails often on arm64. We believe that this is
not a bug in the arm64 port (because the same failures are observed on
other architectures, but at a much lower frequency), but is rather
because amcssth's lockless multi-threaded updates lead to memory
ordering issues with arm64's relaxed memory ordering rules. We need to
identify all cases where out-of-order updates can happen, and add the
appropriate barriers to prevent them.

See GitHub issue https://github.com/Ravenbrook/mps/issues/59 for details.
2021-06-03 21:58:04 +01:00
Gareth Rees
6b3a490b0e New platform lia6gc (linux, arm64, gcc). 2021-06-03 21:58:04 +01:00
Gareth Rees
331e8db191 New platform lia6ll (linux, arm64, clang/llvm). 2021-06-03 21:58:04 +01:00
Gareth Rees
992981c2d4 New platform xca6ll (macos, arm64, clang/llvm). 2021-06-03 21:58:04 +01:00
Gareth Rees
028e7741ac Update relative link aliases in design when building the manual.
Update design so that relative links only occur in link aliases, where
they can be recognized by a regular expression.
2021-06-01 17:46:13 +01:00
Gareth Rees
ddd25ef4c9 Sphinx role for a c variable is :c:data:, not :c:var:. 2021-06-01 17:46:13 +01:00
Gareth Rees
8ea9e64eb9 Remove mention of #memorypoolsystem irc channel from the manual. 2021-05-27 18:42:22 +01:00
Filip Strömbäck
2956a4552d Save and restore getlasterror() on windows.
This is a patch for the problem outlined in issue https://github.com/Ravenbrook/mps/issues/61 - that the value in
GetLastError() is not automatically saved and restored when a vectored exception
handler is called. This is solved the same way as errno was handled on POSIX
systems.

This patch does *not* save and restore errno on Windows, since it seems like the
MPS does not call any functions that modify errno on the critical path on
Windows (generally only functions from POSIX do that).
2021-03-13 22:14:48 +01:00
Filip Strömbäck
1bfb4476e8 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
Richard Brooksby
7b97640222 Merge pull request from ravenbrook/branch/2021-01-09/comma
Ensure that the MPS builds with "clang -Werror -Wcomma -std=c89"

GitHub-reference: https://github.com/Ravenbrook/mps/issues/48
2021-01-20 10:41:41 +00:00
Gareth Rees
0bf7951ba6 Apply suggestions from code review
Co-authored-by: Richard Brooksby <rb@ravenbrook.com>
2021-01-19 22:05:43 +00:00
Gareth Rees
5cc901bf96 Merge pull request from ravenbrook/branch/2020-09-27/mps-telemetry-control
Remove mps_telemetry_control, deprecated since release 1.111.0

GitHub-reference: https://github.com/Ravenbrook/mps/issues/42
2021-01-17 12:13:18 +00:00
Richard Brooksby
cdf39e4379 Merge pull request from kryptine/master
Update license in mmref-copyright.rst

GitHub-reference: https://github.com/Ravenbrook/mps/issues/43
2021-01-16 20:33:24 +00:00
Richard Brooksby
3af3187be0 Copying the whole licence from license.txt so that the copyright
notice mentioned in the licence is correct.
2021-01-16 20:06:33 +00:00
Gareth Rees
3e925460ba Improve maintainability of complex loops.
1. Avoid looping over two expressions in parallel when one makes more
   sense (compilers can do strength reduction optimization: we don't
   need to do it ourselves).

2. Introduce macro ITER_PARALLEL for iterating over two expressions in
   parallel, to clarify the intention and explain the need for the
   cast to void in the implementation.

3. Add macros SAC_LARGE_ITER and SAC_SMALL_ITER to reduce the amount
   of code duplication in sac.c.
2021-01-16 17:06:07 +00:00
Gareth Rees
d17c6263b3 Ensure that the mps builds with "clang -werror -wcomma -std=c89".
The -Wcomma option appears to be turned on automatically by Xcode
12.3, so it's a good idea for the MPS to build with the option, to
avoid unpleasant surprises when people update their Xcode.

The simplest way to suppress the warning is to cast the left hand side
of the comma operator to void.
2021-01-16 17:06:06 +00:00
Richard Brooksby
5f4c3f6f42 Merge pull request from ravenbrook/branch/2021-01-10/implicit-conversion
Ensure that the MPS builds with Clang 10.

GitHub-reference: https://github.com/Ravenbrook/mps/issues/52
2021-01-16 16:16:40 +00:00
Gareth Rees
abb8e79e37 Document the reason for enabling so many warnings.
Cross-reference the design from the implementation in the compiler
makefile fragments.
2021-01-10 21:26:58 +00:00