1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 11:21:04 -08:00
Commit graph

216 commits

Author SHA1 Message Date
Ken Brown
15bddbabf9 Support the Cygwin build of MPS
* mps/code/prmccyi6.c:
* mps/code/cyi6gc.gmk: New files, for the Cygwin build.

* mps/code/config.h:
* mps/code/lockix.c:
* mps/code/prmcix.c:
* mps/code/protix.c:
* mps/code/protsgix.c:
* mps/code/pthrdext.c:
* mps/code/testthr.h:
* mps/code/thix.c:
* mps/code/vmix.c: Port to Cygwin.

* mps/configure.ac (x86_64-*-cygwin*/no): Add definitions for
Cygwin.

* mps/code/mps.c [MPS_PF_CYI6GC]:
* mps/code/mpstd.h: Define 64-bit Cygwin stuff.

* mps/code/gcbench.c: [MPS_OS_CY]:
* mps/code/djbench.c [MPS_OS_CY]: Include alloca.h.

* mps/code/arenacv.c (TEST_ARENA_SIZE) [MPS_OS_CY]: Increase to
make test pass.  (Bug#74805)

* mps/code/arenavm.c (VMArenaCreate): Avoid compiler warning.
2025-10-08 10:33:45 -04:00
Richard Brooksby
59f97ea66c Adding references to issues raised by review <https://github.com/ravenbrook/mps/pull/119#discussion_r1115543553>. 2023-02-24 08:53:03 +00:00
Richard Brooksby
eb8d6c211a Downgrading old fixmes to todos with better explanation of tasks. 2023-02-20 08:51:15 +00:00
Gareth Rees
0b682800bc Handle errors from mmap and mprotect due to apple hardened runtime.
On Apple Silicon, when Hardened Runtime is in force and the
application lacks the "Allow Unsigned Executable Memory Entitlement",
mmap and mprotect return EACCES when an attempt is made to create or
modify memory so that it is simultaneously writable and executable.

This commit handles these cases by retrying the operation without the
PROT_EXEC flag, and setting global variables so that future operations
omit the flag.
2023-01-06 18:31:54 +00:00
Gareth Rees
ca146d96d6 New platform xca6ll (macos, arm64, clang/llvm). 2021-06-03 21:58:04 +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
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
Peter Jackson
1d00afac81 Publish licence updates in code directory.
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.

Copied from Perforce
 Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
fd8eba1528 Update urls (mostly http -> https).
Copied from Perforce
 Change: 195858
2018-12-10 13:07:41 +00:00
Gareth Rees
0b324c158b Use tags with dots; regularize design references from code.
Copied from Perforce
 Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
3bfd0a545e Catch-up merge from master sources at changelevel 194869 to branch/2016-03-04/spare-fraction.
Copied from Perforce
 Change: 194872
2018-08-02 15:14:23 +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
60b4e0639b Force stackhot not to be inlined, avoiding the problem described in <https://info.ravenbrook.com/mail/2018/07/11/09-48-49/0/>
Copied from Perforce
 Change: 194577
2018-07-11 10:57:28 +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
e9df5d6a35 Remove used epvmdefaultsubsequentsegsize.
Copied from Perforce
 Change: 192938
 ServerID: perforce.ravenbrook.com
2017-03-04 11:02:31 +00:00
Gareth Rees
a4064881dc In protsgix.c, construct a mutatorcontext object and pass it to arenaaccess.
Copied from Perforce
 Change: 192550
 ServerID: perforce.ravenbrook.com
2016-10-13 20:12:32 +01:00
Gareth Rees
d0ae56d7dd Rename prot{i3,i6}.c to prmc{i3,i6}.c because these files are part of the protection mutator context module.
Rename prmc{i3,i6}{fr,li,w3,xc}.c to prmc{fr,li,w3,xc}{i3,i6}.c for consistency of ordering of platform codes (OS before AR before CT).

Copied from Perforce
 Change: 192512
 ServerID: perforce.ravenbrook.com
2016-10-13 13:24:47 +01:00
Gareth Rees
d393296238 Don't set stackprobedepth to 500 if config_pf_ansi is defined -- this leads to an assertion failure in span.c.
Copied from Perforce
 Change: 192393
 ServerID: perforce.ravenbrook.com
2016-09-14 13:03:27 +01:00
Gareth Rees
be5db32120 Lockisheld implementation for generic ("ansi") locks.
When CONFIG_THREAD_SINGLE is defined, use the generic lock module rather than compiling out all lock calls via lock.h. (Otherwise test cases that check LockIsHeld will fail.)

Copied from Perforce
 Change: 192254
 ServerID: perforce.ravenbrook.com
2016-09-09 11:01:04 +01:00
Gareth Rees
cb41b91f19 Remove support for linux 2.4 and 2.5 (these versions used linuxthreads). linux is now supported from version 2.6 onwards (these versions use posix threads).
Copied from Perforce
 Change: 192240
 ServerID: perforce.ravenbrook.com
2016-09-08 11:36:02 +01:00
Gareth Rees
a0db5c7bfe Catch-up merge from master sources to branch/2016-04-13/mortality.
Copied from Perforce
 Change: 192192
 ServerID: perforce.ravenbrook.com
2016-09-05 16:17:04 +01:00
Gareth Rees
6932a51b2f New preprocessor constants config_pthreadext_sigsuspend and config_pthreadext_sigresume for configuring the signals used to suspend and resume threads.
Copied from Perforce
 Change: 192122
 ServerID: perforce.ravenbrook.com
2016-09-04 13:55:39 +01:00
Gareth Rees
73734325d5 Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
Copied from Perforce
 Change: 191513
 ServerID: perforce.ravenbrook.com
2016-04-21 18:20:54 +01:00
Richard Brooksby
4be15a5b0b Catch-up merge from master sources to branch/2016-04-08/protidying.
Copied from Perforce
 Change: 191471
 ServerID: perforce.ravenbrook.com
2016-04-21 14:46:10 +01:00
Gareth Rees
8a19bd5e8c Initialize arena->zoneshift to zoneshiftunset (which is not a valid shift) and modify the arena checking to spot this value. previously a default shift value (namely 20) was used, but this value was bogus as the zone shift is not determined until the class initialization runs.
Copied from Perforce
 Change: 191370
 ServerID: perforce.ravenbrook.com
2016-04-20 15:51:16 +01:00
Richard Brooksby
033aeda023 Using the address of the class as its id as a step to eliminating classdef.h.
Copied from Perforce
 Change: 191234
 ServerID: perforce.ravenbrook.com
2016-04-19 14:21:29 +01:00
Gareth Rees
aabe4992eb Compile out statistic declarations in non-statistical varieties (at the cost of some syntax checking).
Add some missing STATISTIC guards where statistics are used.
Add design documentation.
Avoid unnecessary distinction between STATISTIC and STATISTIC_STAT (both result in statements).

Copied from Perforce
 Change: 191178
 ServerID: perforce.ravenbrook.com
2016-04-16 12:07:10 +01:00
Gareth Rees
d40145c046 Maintain a moving average of the mortality of each generation.
Copied from Perforce
 Change: 191081
 ServerID: perforce.ravenbrook.com
2016-04-13 15:19:50 +01:00
Richard Brooksby
cae4514c1b Merging branch/2016-03-13/defer-write-barrier into master sources.
Copied from Perforce
 Change: 190380
 ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
7a7913786c Responding to review by gdr <https://info.ravenbrook.com/mail/2016/03/21/20-20-15/0/>.
Copied from Perforce
 Change: 190307
 ServerID: perforce.ravenbrook.com
2016-03-22 16:32:10 +00:00
Richard Brooksby
b97bd74013 Renaming shield cache to shield queue.
Copied from Perforce
 Change: 190220
 ServerID: perforce.ravenbrook.com
2016-03-20 00:46:59 +00:00
Richard Brooksby
2469f09e6e Improving design document with references and separating ideas from current implementation.
Copied from Perforce
 Change: 190214
 ServerID: perforce.ravenbrook.com
2016-03-19 23:31:00 +00:00
Richard Brooksby
fde3757bac Tidying up and adding cross references to shiny new design document.
Copied from Perforce
 Change: 190213
 ServerID: perforce.ravenbrook.com
2016-03-19 23:07:53 +00:00
Richard Brooksby
7ab4a5c7cf Catch-up merge from master sources to branch/2016-03-13/defer-write-barrier.
Copied from Perforce
 Change: 190175
 ServerID: perforce.ravenbrook.com
2016-03-17 20:14:47 +00:00
Richard Brooksby
91a08048b7 Design documentation, commentary, and code tidying.
Copied from Perforce
 Change: 190172
 ServerID: perforce.ravenbrook.com
2016-03-17 20:04:26 +00:00
Richard Brooksby
8df13d0bff Shield cache that grows. improving commentary.
Copied from Perforce
 Change: 190160
 ServerID: perforce.ravenbrook.com
2016-03-17 16:55:14 +00:00
Richard Brooksby
641cdc164c Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
Copied from Perforce
 Change: 190150
 ServerID: perforce.ravenbrook.com
2016-03-17 13:53:40 +00:00
Richard Brooksby
069dbc4e97 Justifying the default pause time.
Copied from Perforce
 Change: 190049
 ServerID: perforce.ravenbrook.com
2016-03-15 06:04:42 +00:00
Richard Brooksby
47dbed0eee Tidying up naming of write barrier deferral.
Copied from Perforce
 Change: 189960
 ServerID: perforce.ravenbrook.com
2016-03-13 13:26:24 +00:00
Richard Brooksby
06af849502 Integrating write barrier deferral changes from branch/2014-08-18/non-incremental.
p4 integrate branch/2014-08-18/non-incremental/...@186975,186988 branch/2016-03-13/defer-write-barrier/...

Copied from Perforce
 Change: 189943
 ServerID: perforce.ravenbrook.com
2016-03-13 11:27:21 +00:00
Gareth Rees
167408b7e0 Implement pause time control.
Copied from Perforce
 Change: 189921
 ServerID: perforce.ravenbrook.com
2016-03-12 22:08:26 +00:00
Gareth Rees
31de518300 Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
Copied from Perforce
 Change: 189918
 ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00
Gareth Rees
f9041d9a20 Documentation and interface for pause time control (no implementation yet).
Copied from Perforce
 Change: 189915
 ServerID: perforce.ravenbrook.com
2016-03-12 20:25:33 +00:00
David Lovemore
dbbea04f7f Bigger shield cache, to make coalescing more useful.
Copied from Perforce
 Change: 189872
 ServerID: perforce.ravenbrook.com
2016-03-11 17:05:45 +00:00
Richard Brooksby
b1d3bc40e3 Expressing the arena spare commit limit as a fraction, not an absolute size.
Copied from Perforce
 Change: 189618
 ServerID: perforce.ravenbrook.com
2016-03-04 11:30:31 +00:00
Richard Brooksby
c015827c36 Catch-up merge from master sources.
Copied from Perforce
 Change: 189265
 ServerID: perforce.ravenbrook.com
2016-02-17 11:04:51 +00:00
Gareth Rees
aa6a027c68 Catch-up merge from branch/2015-08-11/policy to branch/2015-08-25/tradeoff.
Copied from Perforce
 Change: 188250
 ServerID: perforce.ravenbrook.com
2015-09-04 19:13:28 +01:00
Gareth Rees
b43a56f9b5 Move arenadefaultzoneset to be adjacent to its todo.
Add comments for ArenaDefaultZONESET and LocusPrefDEFAULT.

Copied from Perforce
 Change: 188237
 ServerID: perforce.ravenbrook.com
2015-09-04 15:24:14 +01:00
Gareth Rees
b4db3bd09f Introduce new type work representing a measure of work done by the collector. use this systematically to make the code clearer.
Copied from Perforce
 Change: 188210
 ServerID: perforce.ravenbrook.com
2015-09-03 13:01:55 +01:00