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

30 commits

Author SHA1 Message Date
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
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
ee6ddafcbd Avoid warning from gcc 5.4.0.
Copied from Perforce
 Change: 196419
2019-10-10 15:18:03 +01:00
Gareth Rees
4eda4e85c7 Use tags with dots; regularize design references from code.
Copied from Perforce
 Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
de33a1f68d Move assignment so as to avoid "variable 'warmest' might be clobbered by 'longjmp'".
Copied from Perforce
 Change: 195136
2018-09-23 20:31:52 +01:00
Gareth Rees
e5e8d034d9 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
Richard Brooksby
a3bab72904 Removing incorrect assertion the stack pointers are word aligned.
Updating comments to refer to tags within design documents.

Copied from Perforce
 Change: 189639
 ServerID: perforce.ravenbrook.com
2016-03-04 13:58:53 +00:00
Richard Brooksby
f9b9d6f534 Renaming design.mps.ss to design.mps.stack-scan.
Copied from Perforce
 Change: 189607
 ServerID: perforce.ravenbrook.com
2016-03-04 11:54:19 +00:00
Richard Brooksby
33437544cf Really removing unnecessary stack alignment assumption from stackscan.
Copied from Perforce
 Change: 189601
 ServerID: perforce.ravenbrook.com
2016-03-04 11:25:59 +00:00
Richard Brooksby
bb8869368c Storing the pointer to the stack frame where setjmp was invoked, rather than the address of the jump buffer, as the hot end of the mutator state, because callee-save registered might be stored on either side of the jump buffer by the compiler.
Removing the unnecessary assumption that the stack ends are word-aligned.

Copied from Perforce
 Change: 189582
 ServerID: perforce.ravenbrook.com
2016-03-03 17:12:43 +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
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
897cda85c1 Fixing location of assumptions about descending stack that had gone astray.
Copied from Perforce
 Change: 189534
 ServerID: perforce.ravenbrook.com
2016-03-02 10:32:46 +00:00
Richard Brooksby
14774ccd06 Eliminating closure_size from area scanners and root registration functions, as it isn't all that useful.
Copied from Perforce
 Change: 189491
 ServerID: perforce.ravenbrook.com
2016-03-01 15:59:06 +00:00
Richard Brooksby
6413f3bc27 Renaming "bottom" and "top" of stack to "cold" and "hot" end, to prevent confusion about descending stacks.
Correcting design documentation relating to stacks.
Referencing hot and cold end concepts from glossary entry for control stacks.

Copied from Perforce
 Change: 189320
 ServerID: perforce.ravenbrook.com
2016-02-18 23:49:58 +00:00
Richard Brooksby
4487895475 Detabifying code and restructuredtext files.
Copied from Perforce
 Change: 189309
 ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +00:00
Richard Brooksby
7df6c140f8 Generalising tracescanarea to be a checking wrapper for all area scanners.
Copied from Perforce
 Change: 189190
 ServerID: perforce.ravenbrook.com
2016-02-15 15:44:57 +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
Richard Brooksby
31870a9b95 Renaming tracescanareamasked to tracescanareatagged
Copied from Perforce
 Change: 189133
 ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00:00
Gareth Rees
ea6250898a New function mps_root_create_reg_masked applies a mask and pattern test to all words in registers and on the stack when scanning them. this supports tagged references in these locations.
Consistently use the type "Word *" for pointers into the stack or into saved registers.
Remove TraceScanAreaTagged.

Copied from Perforce
 Change: 188231
 ServerID: perforce.ravenbrook.com
2015-09-04 12:22:03 +01:00
Gareth Rees
76967eeb7a Fix tags.
Copied from Perforce
 Change: 188117
 ServerID: perforce.ravenbrook.com
2015-08-10 20:01:37 +01:00
Gareth Rees
3459d9db48 Address review comments from rb in <https://info.ravenbrook.com/mail/2015/08/07/14-48-14/0/>
Copied from Perforce
 Change: 188112
 ServerID: perforce.ravenbrook.com
2015-08-10 17:22:31 +01:00
Gareth Rees
cc9becad74 Fix typo; document the assumptions used by stackscan.
Copied from Perforce
 Change: 187428
 ServerID: perforce.ravenbrook.com
2014-10-31 15:19:49 +00:00
Gareth Rees
faac1d82ab Better cross-reference.
Copied from Perforce
 Change: 187426
 ServerID: perforce.ravenbrook.com
2014-10-31 15:10:00 +00:00
Gareth Rees
87af8bf916 Avoid copying out design into the code -- keep things in one place.
No need for a prototype for StackScanInner.
Explain the fragility of the analysis and how we cope with it.

Copied from Perforce
 Change: 187425
 ServerID: perforce.ravenbrook.com
2014-10-31 15:07:36 +00: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
1b7de24015 Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
Copied from Perforce
 Change: 186577
 ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Richard Brooksby
4c51d72b56 Partial merge of branch/2012-07-23/cet-transform, excluding cet-specific parts.
Copied from Perforce
 Change: 179309
 ServerID: perforce.ravenbrook.com
2012-09-06 17:17:18 +01:00