1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00
Commit graph

7454 commits

Author SHA1 Message Date
Gareth Rees
0ee4d7ca06 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
4251abf5c6 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
f836f1ead8 Update the supported target platforms in the user guide. 2021-09-04 09:43:27 +01:00
Gareth Rees
1ae7d9e863 Merge branch 'save-errno-win32' from filip strömbäck. 2021-08-08 12:11:38 +01:00
Filip Strömbäck
cca58dbafc Fixed typos in the test/function/237.c 2021-08-08 12:57:47 +02:00
Gareth Rees
c67ea5000c Update links from travis-ci.org to travis-ci.com. 2021-08-08 10:31:22 +01:00
Gareth Rees
457404c311 Correct title and source of new developer guide. 2021-07-11 07:57:21 +01:00
Gareth Rees
08f43754f0 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
ff8c0d413d 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
1660aea106 New platform lia6gc (linux, arm64, gcc). 2021-06-03 21:58:04 +01:00
Gareth Rees
61d8887ff8 New platform lia6ll (linux, arm64, clang/llvm). 2021-06-03 21:58:04 +01:00
Gareth Rees
ca146d96d6 New platform xca6ll (macos, arm64, clang/llvm). 2021-06-03 21:58:04 +01:00
Gareth Rees
3810e9a5cb 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
b2024c5a67 Sphinx role for a c variable is :c:data:, not :c:var:. 2021-06-01 17:46:13 +01:00
Gareth Rees
0f60d46816 Remove mention of #memorypoolsystem irc channel from the manual. 2021-05-27 18:42:22 +01:00
Filip Strömbäck
1bd0f12e58 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
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
Richard Brooksby
951493b588 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
5517e27d3a Apply suggestions from code review
Co-authored-by: Richard Brooksby <rb@ravenbrook.com>
2021-01-19 22:05:43 +00:00
Gareth Rees
0007fcbae7 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
78c55986a4 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
813d3ee3b8 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
452b023a8f 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
45376b0353 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
0b9dfabcac 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
e6ef975298 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
Gareth Rees
76bff163f5 Ensure that the mps builds with clang 10.
Clang 10 turns on -Wimplicit-int-float-conversion, and on 64-bit
platforms this issues a warning that implicit conversions to double
from Size and unsigned long "may lose precision".

This commit adds casts to (double) for all such conversions. The loss
of precision is either impossible in practice (because a double can
represent all integers up to 2**53, which is about 9 petabytes, well
beyond the addressing capabilities for current CPUs), or else
acceptable, because we are accumulating an approximate quantity like
"collection work" or "fill size" (that has to cope with loss of
precision due in any case), or computing a threshold like the spare
commit limit where it is acceptable for it to be somewhat approximate.
2021-01-10 10:42:05 +00:00
Gareth Rees
f8bcdb550f Automatically update epub copyright year.
This maintains consistency with the online documentation.
2021-01-09 15:16:43 +00:00
Tim Gates
a75f1556cd Docs: fix simple typo, traverslas -> traversals
There is a small typo in manual/source/bib.rst.

Should read `traversals` rather than `traverslas`.
2020-12-28 11:19:32 +11:00
kryptine
0ef7a07d46 Update license in mmref-copyright.rst
According to license.txt the new license "supersedes any older licenses that may appear in other files that are part of this distribution and in any of its branches."
2020-11-13 09:04:56 +00:00
Gareth Rees
1f07197a31 Remove mps_telemetry_control, deprecated since release 1.111.0. 2020-09-29 11:15:45 +01:00
Gareth Rees
1e77b9d762 Remove mps_fix, deprecated since release 1.111.0
Also remove undocumented and deprecated MPS_FIX macro, and rename
TRACE_FIX to TRACE_FIX12 to maintain parallelism.
2020-09-27 14:16:39 +01:00
Gareth Rees
7c286cba8f Remove mps_alloc_v, deprecated since release 1.112.0. 2020-09-26 15:08:31 +01:00
Gareth Rees
19dd151e38 Documentation for mpseventpy utility. 2020-09-26 12:02:03 +01:00
Gareth Rees
ac0b724847 Remove reservoir functions, deprecated since release 1.115.0 2020-09-24 11:36:46 +01:00
Gareth Rees
93438da02d Remove mps_arena_expose, deprecated since release 1.111.0
Also remove mps_arena_unsafe_expose_remember_protection and
mps_arena_unsafe_expose_restore_protection.
2020-09-24 09:35:47 +01:00
Gareth Rees
302c8d0b19 Remove mps_tramp, deprecated since release 1.111.0. 2020-09-24 09:30:33 +01:00
Gareth Rees
378fe1723c Minor documentation improvements.
* Remove references to MV pool class.
* Typo: "indentifier" for "identifier".
* Use :py:func: to format a Python function.
* Switch out broken link for LinuxThreads.
* Remove doubtful claim about "useful to have two active arenas".
* Document how to have unlimited commited memory.
* Fix cross-reference to mps_arena_commit_limit().
* Clarify what format methods are allowed to access.
* Complete list of functions callable by format methods.
2020-09-07 18:53: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
Bruce Mitchener
c825216539 Fix typos. 2020-09-01 16:33:45 +01:00
Gareth Rees
5d966c76fd Spell out "analysis" in full. 2020-09-01 13:54:31 +01:00
Gareth Rees
f5b2718d16 Use all the available width.
Copied from Perforce
 Change: 197234
2020-09-01 13:29:21 +01:00
Gareth Rees
1c73c2cd1a Need background to override, not background-color.
Copied from Perforce
 Change: 197228
2020-08-31 20:03:57 +01:00
Gareth Rees
fcd7adf10d Consistent spelling of "license" 2020-08-30 10:13:06 +01:00
Gareth Rees
5559f36540 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
5165d75267 Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Gareth Rees
b1238b2c53 Use "document history" in guide.impl.c.format.
This ensures that the section is discarded when building the manual.
2020-08-30 10:04:20 +01:00
Gareth Rees
9c937b456b Update license for a couple of files (makefile.in, tool/testaslr.c). 2020-08-30 10:04:20 +01:00
Gareth Rees
0d5771aaa3 Update the debugging examples in the user guide.
Since these examples were written, the Scheme source code has changed,
and MPS backtraces have changed.
2020-08-30 10:01:06 +01:00