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

92 commits

Author SHA1 Message Date
Ken Brown
b57067e8a0 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
Eli Zaretskii
e722ec9cfe Support the MinGW build of MPS and tests, part 1
* mps/code/w3i6gc.gmk:
* mps/code/w3i3gc.gmk:
* mps/code/mingw.gmk: New files, for the MinGW build.

* mps/code/ss.c (StackHot) [__MINGW32__ && __GNUC__ >= 12]: Ignore
dangling-pointer warnings.

* mps/code/global.c (ArenaFinalize): Avoid compiler warnings.

* mps/code/thw3.c (ThreadScan): Avoid compilation errors due to
prototype mismatch.

* mps/code/testlib.h (alloca): Don't redefine for MinGW.
(setenv): Don't redefine for mingw.org's MinGW.
(ulongest_t, longest_t): Separate definitions for MinGW64.

* mps/code/testlib.c (sizelog2) [__MINGW32__]: Fix comparison.
(rnd_align): Avoid name clashes with 'min' and 'max'.

* mps/code/spw3i3.c (StackProbe) [__GNUC__]: Implementation for
MinGW.

* mps/code/protw3.c: Avoid compiler warning.

* mps/code/mpstd.h: Define MinGW (_X86_) and MinGW64 (__X86_64)
configurations.

* mps/code/mpsiw3.c (mps_SEH_filter, mps_SEH_handler): Add
prototypes.

* mps/code/mps.c [MPS_PF_W3I3GC]: Define 32-bit MinGW stuff.
[MPS_PF_W3I6GC]: Define 64-bit MinGW64 stuff.

* mps/code/lockw3.c (RTL_RUN_ONCE, PRTL_RUN_ONCE_INIT_FN)
(RTL_RUN_ONCE_INIT, INIT_ONCE_STATIC_INIT, RTL_RUN_ONCE INIT_ONCE)
(PRTL_RUN_ONCE PINIT_ONCE, PINIT_ONCE_FN, InitOnceExecuteOnce):
Define for mingw.org's MinGW.

* mps/code/comm.gmk (EVENT_TARGETS, EXTRA_TARGETS, TEST_TARGETS)
(UNBUILDABLE_TARGETS): Add $(EXEEXT) to program names.
(TESTTHR): Define correct test for MS-Windows.
Don't fail the build if the *.d dependency files don't exist.
2025-09-24 13:02:30 +03:00
Richard Brooksby
597422484c Removing mpsitr.c, a relic of custom/cet, and merging its contents into mpsi.c. reponse to review <https://github.com/ravenbrook/mps/pull/214#issuecomment-1590952221>. 2023-06-16 09:33:58 +01:00
Gareth Rees
b10b842d75 Make transforms part of the public mps.
* Move transforms sources to the core sections of the makefiles.
* Move function declarations to the public header mps.h.
* Update copyright notices for transforms code.
* Remove references to Configura from the comments.
* Remove trailing whitespace.
* Translate design to reStructuredText.
* Move documentation to reference section of manual.
* Add warning about unsuitability when ambiguous references may exist.

(cherry picked from commit b1c30975d91a8ab871ca4d94de1754d5ee44ef03)
2023-06-12 14:19:17 +01:00
Richard Brooksby
b948191120 Part of making transforms part of the public mps.
(cherry picked from commit 6bd64a230a510bc19323da127d622a19bfd43f63)
2023-04-14 09:58:56 +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
f47c389a52 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846 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
5beafc39b9 catch-up merge from master sources at changelevel 194605 to branch/2016-03-30/tract-p-elim.
Copied from Perforce
 Change: 194617
2018-07-11 21:52:22 +01:00
Gareth Rees
97fa28e3b7 There is now no difference between the sets of sources for compilers mv and pc, so eliminate the duplication.
Copied from Perforce
 Change: 194602
2018-07-11 17:09:07 +01:00
Gareth Rees
590850726a Merge branch/2014-10-26/sc into the master sources.
Copied from Perforce
 Change: 194595
2018-07-11 15:20:49 +01:00
Gareth Rees
268178f4cf Merge branch 2016-03-27/cbs-tidy into the master sources.
Copied from Perforce
 Change: 194572
2018-07-10 15:31:25 +01:00
Gareth Rees
317cc9a5a6 Catch-up merge from master sources at changelevel 194484 to branch/2014-10-26/sc.
Copied from Perforce
 Change: 194487
2018-07-06 21:42:35 +01:00
Gareth Rees
b30964104a Rename "node" to "rangetree" as suggested in review by gdr <https://info.ravenbrook.com/mail/2018/07/05/10-17-35/0/>
Get Xcode builds working.
Add rangetree.[ch] to the source code index.

Copied from Perforce
 Change: 194434
2018-07-05 12:06:47 +01:00
Gareth Rees
307bc47730 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
0c2db358de Split generic mutator context module into two parts: one for generic operating system (prmcan.c) and one for generic architecture (prmcanan.c).
Copied from Perforce
 Change: 192583
 ServerID: perforce.ravenbrook.com
2016-10-14 13:25:14 +01:00
Gareth Rees
d38c74a0b2 New modulefile prmcw3.c avoids duplication of code between prmcw3i3.c and prmcw3i6.c.
Implement MutatorContextCheck on Windows. Add AVERT(MutatorContext, context) in PoolAccess and other functions.
Document initialization functions MutatorContextInitFault and MutatorContextInitThread and implement them on Windows.
Add a union discriminator to MutatorContextStruct on Windows so that we don't accidentally try to get the stack pointer from a fault context, or the exception address from a thread context.

Copied from Perforce
 Change: 192567
 ServerID: perforce.ravenbrook.com
2016-10-14 11:53:26 +01:00
Gareth Rees
bcfbaaf3e4 Initialization and checking of mutatorcontext data structures.
New files prmcix.c and prmcxc.c avoid duplicated code.

Copied from Perforce
 Change: 192562
 ServerID: perforce.ravenbrook.com
2016-10-13 23:13:40 +01:00
Gareth Rees
d82fc68bde Use protsgix.c on linux and delete protli.c.
Copied from Perforce
 Change: 192556
 ServerID: perforce.ravenbrook.com
2016-10-13 21:24:04 +01:00
Gareth Rees
d31012f13a Implement mutatorcontextsp and mutatorcontextscan for platforms w3i3 and w3i6.
This means that ThreadScan becomes identical on these two platforms and can be moved to thw3.c.
This means that thw3.h, thw3i3.c and thw3i6.c become redundant and can be deleted.

Copied from Perforce
 Change: 192534
 ServerID: perforce.ravenbrook.com
2016-10-13 16:28:50 +01:00
Gareth Rees
5c31ca3cab Rename the "protection mutator context" module to "mutator context" (this module handles mutator context decoding for both the protection module and the thread module).
Rename functions Prot{Can,}StepInstruction to MutatorContext{Can,}StepInstruction so that they follow the naming convention in guide.implc.naming.prefix.program.
Move mutator context declarations out of prot.h into new header prmc.h.
Correct .assume.null in a couple of places -- it's not safe for MutatorContextStepInstruction to return ResUNIMPL, instead MutatorContextCanStepInstruction should return FALSE.

Copied from Perforce
 Change: 192528
 ServerID: perforce.ravenbrook.com
2016-10-13 15:06:14 +01:00
Gareth Rees
3dbe56a8b7 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
8523b6f666 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
Richard Brooksby
52658dc850 Oops. adding node.c to mps.c.
Copied from Perforce
 Change: 190490
 ServerID: perforce.ravenbrook.com
2016-03-28 11:58:49 +01:00
Richard Brooksby
f14f6fa4a2 Removing mv pool class and substituting mvff.
Disabling MV Debug test, since that doesn't work now that it's really MVFF Debug.

Copied from Perforce
 Change: 190494
 ServerID: perforce.ravenbrook.com
2016-03-27 22:24:57 +01:00
Richard Brooksby
f8af9acea9 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 190118
 ServerID: perforce.ravenbrook.com
2016-03-16 17:36:35 +00:00
Richard Brooksby
cc6262ae66 Basic removal of the reservoir pool from code and design.
Copied from Perforce
 Change: 190000
 ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Richard Brooksby
fe38494cc6 Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189865
 ServerID: perforce.ravenbrook.com
2016-03-11 14:56:59 +00:00
Gareth Rees
e2e02d8fbc Merge poolamsi.c into poolams.c for consistency with other pool class implementations.
Copied from Perforce
 Change: 189681
 ServerID: perforce.ravenbrook.com
2016-03-06 18:49:47 +00:00
Richard Brooksby
97f3cc903d Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189653
 ServerID: perforce.ravenbrook.com
2016-03-05 14:22:11 +00:00
Richard Brooksby
65acde4812 Adding new platform fri3ll to support freebsd 10 and above, which have clang and not gcc by default.
Copied from Perforce
 Change: 189622
 ServerID: perforce.ravenbrook.com
2016-03-04 13:20:51 +00:00
Richard Brooksby
91cdd1c02e Scanning the whole stack context on every platform using portable code, because on no platform can we assume that any registers never contain references.
Copied from Perforce
 Change: 189570
 ServerID: perforce.ravenbrook.com
2016-03-03 02:10:58 +00:00
Richard Brooksby
99c75542de Catch-up merge from master sources to branch/2014-10-26/sc.
Copied from Perforce
 Change: 189563
 ServerID: perforce.ravenbrook.com
2016-03-02 22:08:09 +00:00
Richard Brooksby
f40e950f7e Adding new platform fri6ll to support freebsd 10 and above, which have clang and not gcc by default.
Copied from Perforce
 Change: 189560
 ServerID: perforce.ravenbrook.com
2016-03-02 22:00:11 +00:00
Richard Brooksby
f89e49acfe Catch-up merge from master sources to branch/2014-10-26/sc.
Includes hairy merging of stack manipulation code and may need further work on each platform.

Copied from Perforce
 Change: 189545
 ServerID: perforce.ravenbrook.com
2016-03-02 17:55:25 +00:00
Richard Brooksby
3804af1803 Catch-up merge from master sources to branch/2015-09-04/stack.
Copied from Perforce
 Change: 189370
 ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
85a2d8683f Lifting and generalising area scanners to allow flexible tagging schemes.
Copied from Perforce
 Change: 189189
 ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Gareth Rees
2097678a37 New module policy.c.
Copied from Perforce
 Change: 188152
 ServerID: perforce.ravenbrook.com
2015-08-19 15:03:47 +01:00
Gareth Rees
55d9135792 Save mutator context on entry to the mps.
Copied from Perforce
 Change: 187412
 ServerID: perforce.ravenbrook.com
2014-10-26 22:18:57 +00:00
Gareth Rees
33367f961c Ssw3i6.asm was deleted in change 179213.
Copied from Perforce
 Change: 187402
 ServerID: perforce.ravenbrook.com
2014-10-26 00:53:45 +01:00
Gareth Rees
513bc73827 Put the portable part of the vm interface in its own module.
Copied from Perforce
 Change: 186630
 ServerID: perforce.ravenbrook.com
2014-06-14 16:09:06 +01:00
Gareth Rees
d98336d308 Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186348
 ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
f5547fb738 Don't include pooln.c in mps.c -- only used by test case poolncv.
Include dependencies in all varieties, not just in COOL.

Copied from Perforce
 Change: 186174
 ServerID: perforce.ravenbrook.com
2014-05-19 11:39:05 +01:00
Gareth Rees
883f4a4c3f Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186081
 ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
02c40ddb7e Use x and x_none for x ∈ {lock, plinth, remembered_set, shield} to match the other settings (aver_and_check, event, statistics).
Copied from Perforce
 Change: 185580
 ServerID: perforce.ravenbrook.com
2014-04-16 10:48:21 +01:00
Gareth Rees
d939167b1e Catch-up merge from master sources to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 185305
 ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
0c2cd2ab6d Catch-up merge from master sources to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 185288
 ServerID: perforce.ravenbrook.com
2014-04-07 15:02:09 +01:00