Helmut Eller
0ffab88172
Implement an experimental AWL0 pool
...
Mostly boilerplate code to override the SegAccess method of AWLSeg.
* mps/code/poolawl.c (AWL0Pool, AWL0Seg): New classes.
(awl0SegAccess, awl0BufferFill): New methods.
2025-10-09 18:32:21 +02:00
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
Eli Zaretskii
6f72646fbd
Fix MinGW build of mps/code/eventsql.c
...
* mps/code/eventsql.c (PRINTF_ARCHETYPE) [__MINGW32__]: Define as
__gnu_printf__ for MinGW builds, to support ANSI- and GNU-compatible
format specs.
(vlog, evlog, error): Use PRINTF_ARCHETYPE.
2025-09-27 10:07:26 +03:00
Helmut Eller
cc6b939bd6
Don't compile forktest on the anangc platform
...
* mps/code/comm.gmk (TEST_TARGETS): Exclude forktest.
2025-09-25 18:38:13 +02:00
Helmut Eller
b142f39be0
* mps/code/comm.gmk (testratio): Add EXEEXT.
2025-09-25 18:27:44 +02:00
Eli Zaretskii
e850bcf6c6
; * mps/code/mps.h (mps_word_t): Fix condition for MinGW64.
2025-09-25 11:39:05 +03:00
Eli Zaretskii
e473734445
Support the MinGW build of MPS and tests, part 2
...
* mps/code/mingw.gmk (CFLAGSCOMPILERSTRICT): Use gnu99, not gnu89.
* mps/configure.ac (EXEEXT): Define and use for program names.
(i*86-*-mingw*/no, x86_64-*-mingw*/no): Add definitions for MinGW.
2025-09-24 16:28:33 +03:00
Eli Zaretskii
74492583e5
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
Helmut Eller
1507199e35
Support out-of-tree builds
...
* mps/example/scheme/Makefile.in (VPATH): Set VPATH.
* mps/Makefile.in (COMMON_OPTS): New. Pass SRCDIR down to sub-make.
* mps/code/comm.gmk (VPATH): Set VPATH from SRCDIR parameter
* mps/configure.ac (AC_CONFIG_COMMANDS): Copy .gmk makefiles and some
other things to the biuld directory.
2025-09-22 16:56:02 +02:00
Helmut Eller
a97f6d888f
Better support for parallel make
...
* mps/code/comm.gmk (LIB_TARGETS, TEST_TARGETS, EVENT_TARGETS)
(TEST_SUITES, testmmqa): If VARIETY is not defined, then disable
parallism with .NOTPARALLEL. Otherwise, avoid the recursive make with
a static pattern rule.
(clean-testansi, clean-testpollnone): New.
* mps/Makefile.in (build-via-make): Invoke submake explicit
VARIETY argument to allow more parallelism.
(test-make-build): Use clean-testansi and clean-testpollnone.
2025-09-15 08:23:25 +02:00
Gerd Möllmann
10b079d8c5
* mps/code/mps.h (MPS_RM_PROT_INNER): Fix MPS issue #285 .
2025-09-13 13:26:07 +02:00
Helmut Eller
b38d8789fe
* mps/code/global.c (ArenaStep): Fix calculation of available time.
2025-09-13 13:23:52 +02:00
Helmut Eller
255a1e6872
Un-rename .gitignore
2025-09-13 10:03:13 +02:00
Richard Brooksby
028ac3804d
Clarifying that two avers are implementing .assume.parked in response to review comment < https://github.com/ravenbrook/mps/pull/298#issuecomment-2503792676 >.
2024-11-27 13:25:08 +00:00
Richard Brooksby
189d6cb193
Removing unused variable that triggered the unused-but-set-variable warning when building on macos 14.7.1 with clang 15.0.
2024-11-27 13:25:08 +00:00
Bruce Mitchener
1497445a45
Fix typos.
2024-11-26 22:10:23 +07:00
Richard Brooksby
4b1b859454
Catch-up merge from 'master into branch/2023-04-13/transforms
2023-06-17 11:35:18 +01:00
Richard Brooksby
ee37fb46ee
Adding references and clarifications in response to review < https://github.com/ravenbrook/mps/pull/214#discussion_r1230995545 > and < https://github.com/ravenbrook/mps/pull/214#discussion_r1230997932 >.
2023-06-17 11:33:25 +01:00
Richard Brooksby
e2a47c0a9f
Cross-referencing rank assumptions in response to review < https://github.com/ravenbrook/mps/pull/214#discussion_r1230993565 >.
2023-06-17 11:33:25 +01:00
Richard Brooksby
4823617e1b
Catch-up merge from master into branch/2023-05-31/hash-arrays
2023-06-17 11:30:34 +01:00
Richard Brooksby
d4b6c1e1e7
Removing bogus test block introduced in 1ca69dd4a that does not work when transforms are empty or trivial. raising this for later in github issue.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/242
2023-06-16 13:02:43 +01:00
Richard Brooksby
dd38a6ef07
Enforcing parking restrictions when adding references to transforms in response to review < https://github.com/ravenbrook/mps/pull/214#discussion_r1230987289 >.
2023-06-16 12:48:42 +01:00
Richard Brooksby
1b334cdce5
Clarifying why and documenting that transformed references must be in automatic pools, in response to review < https://github.com/ravenbrook/mps/pull/214#issuecomment-1590952221 >.
2023-06-16 12:29:06 +01:00
Richard Brooksby
1ca69dd4ab
Transforms are no longer implicitly destroyed by applying them, making the interface more consistent with the rest of the mps and simplifying the documentation. in response to review < https://github.com/ravenbrook/mps/pull/214#discussion_r1231004625 >.
2023-06-16 11:58:34 +01:00
Richard Brooksby
39d6f82208
Adding spaces to conform to rule.code.style.control.
2023-06-16 09:43:52 +01:00
Richard Brooksby
4b7c16db96
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
Richard Brooksby
3a07355ca0
Clarifying comments on tablecreate in response to review < https://github.com/ravenbrook/mps/pull/214#issuecomment-1590952221 >
2023-06-16 09:19:52 +01:00
Richard Brooksby
a1131eba16
Moving transforms design statements out of leader comment of trans.c, updating, clarifying, and cross-referencing, in response to review < https://github.com/ravenbrook/mps/pull/214#issuecomment-1590952221 >.
2023-06-16 09:14:14 +01:00
Richard Brooksby
9ccff23505
Converting fixmes to comments containing what we have deduced about the test, and converting some to todos. linking issues to be resolved.
2023-06-16 07:43:57 +01:00
Jonathan Holburn
7a726352e2
Performing proc.review.edit
2023-06-15 18:19:53 +01:00
Jonathan Holburn
4443c83406
Make addrobj.c more verbose
2023-06-15 12:06:18 +01:00
Jonathan Holburn
c537528a23
Reintroduce comments that went missing during the original work to port this functionality from configura's mps-preview
2023-06-15 11:51:17 +01:00
Jonathan Holburn
44cc84d375
Add fixmes to ztfm.c testbench after walkthrough with rb
2023-06-15 11:14:22 +01:00
Richard Brooksby
5dfc6bf541
Catch up merge from master into branch/2023-05-16/interior-pointers
2023-06-15 09:28:49 +01:00
Richard Brooksby
fa9929fad6
Improving comments on amcaddrobject in response to review < https://github.com/ravenbrook/mps/pull/223#pullrequestreview-1432893665 >.
2023-06-15 09:21:55 +01:00
Richard Brooksby
6dde90d0e8
Removing redundant user documentation in response to review < https://github.com/ravenbrook/mps/pull/223/files#r1197946092 >
2023-06-15 09:01:16 +01:00
Richard Brooksby
958659a6a8
Suppressing "may be used uninitialized" warning in rash build with gcc 11.3.0.
2023-06-14 09:13:09 +01:00
Jonathan Holburn
4d077e8885
Make various edits from required after proc.review
2023-06-12 23:40:10 +01:00
Richard Brooksby
4f7ba5dfbe
Avoid creating ambiguous references in stack slots that prevent the transform completing.
2023-06-12 15:05:58 +01:00
Richard Brooksby
f854affdf3
Catch-up merge of master into branch/2023-04-13/transforms to resolve conflicts.
2023-06-12 14:51:06 +01:00
Richard Brooksby
3fe95cca28
Fixing type puns found by gcc 11.3.0.
2023-06-12 14:35:11 +01:00
Gareth Rees
860dcc32f0
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
5b3280526f
Clarifying comments in response to review < https://github.com/ravenbrook/mps/pull/213#discussion_r1191144878 >
2023-06-09 14:49:32 +01:00
Richard Brooksby
5cfa8a6106
Improving comments in response to review < https://github.com/ravenbrook/mps/pull/213#pullrequestreview-1422468433 >.
2023-06-09 14:43:41 +01:00
Richard Brooksby
7ff254469a
Adding arena contraction callback to all chunk deallocations, so that it is called when the arena is destroyed.
2023-06-09 14:29:55 +01:00
Richard Brooksby
b4205f0ddd
Adding addrobj test case to xcode project and enabling it as part of testci target on all platforms.
2023-06-07 16:12:36 +01:00
Richard Brooksby
bef248f012
Generalising mps_addr_object, arenaaddrobject, pooladdrobject for pools that do not use segments.
2023-06-07 14:57:55 +01:00
Jonathan Holburn
80cb1e1abe
Manually cherry pick changes from b928fa236178fb1bdbe20442c3f53b8e8a545a4b relating to hash-arrays
2023-06-02 14:50:15 +01:00
Jonathan Holburn
74020f4390
Correction to last commit
2023-05-23 02:20:51 +01:00
Jonathan Holburn
7b395f057b
Executing proc.review.edit
2023-05-23 02:15:02 +01:00