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
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
Jonathan Holburn
4d077e8885
Make various edits from required after proc.review
2023-06-12 23:40:10 +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
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
Jonathan Holburn
7835ac66e9
Reorganise comments for readability in addrobj.c
2023-05-17 21:51:12 +01:00
Jonathan Holburn
b028ba37df
Avoid type punning while using dylan test utilities
2023-05-17 21:30:07 +01:00
Jonathan Holburn
6c79248c66
Correct spelling of target
2023-05-17 20:52:31 +01:00
Jonathan Holburn
52c94e7c47
Correct capitalisation on target name
2023-05-17 20:48:33 +01:00
Jonathan Holburn
382445a9d6
Add addrobj.c to the testcases
2023-05-17 20:39:58 +01:00
Jonathan Holburn
00f1f156d1
Add addrobj.c testbench to test mps_addr_object()
2023-05-17 18:37:20 +01:00
Jonathan Holburn
a5c4bd4eb4
Checkl of addrobject method should not be commented out
2023-05-16 17:57:19 +01:00
Jonathan Holburn
7caefe081a
Add implementation of mps_addr_object as implemented by jph on top of branch cet-merge-2 and subsequently became mps-2022. directly fix some whitespace according to c syntax conventions and remove boolean operation on a pointer
2023-05-16 17:26:00 +01:00
Jonathan Holburn
60c01c2451
Consistently use die() in extcon.c
2023-05-10 14:05:36 +01:00
Jonathan Holburn
e5f0cdbc2c
Add dylan test object to comm.gmk for extcon, missing from last commit
2023-05-10 13:57:26 +01:00
Jonathan Holburn
236a039ec7
Remove homebrew format from extcon testbench and replace with dylan fmt. also disable code relating to stack roots. also replaces deprecated root_table. add comments
2023-05-10 13:51:39 +01:00
Richard Brooksby
139c99181d
Disabling the insist comparing the testobj array to the cold end of the stack, since the testobj array is now a static and not comparible.
2023-05-02 16:02:48 +01:00
Richard Brooksby
c1d3717e0a
Moving the root of objects into a static to avoid problems with the cold end of the stack for now, deferring solution of github issue < https://github.com/ravenbrook/mps/issues/210 >. convertin asserts to insists so that they are present in hot builds.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/210
2023-05-02 15:40:26 +01:00
Jonathan Holburn
1ef514c729
Add output to aid cold end of stack debugging
2023-04-26 18:01:53 +01:00
Richard Brooksby
273f4aeb02
Adding detailed output to extcon about memory reservation and gc cycles, to try to diagnose intermittent failures in ci.
2023-04-14 17:33:16 +01:00
Richard Brooksby
4e59883e96
Removing unnecessary arena_park.
2023-04-14 15:32:37 +01:00
Richard Brooksby
38eb470a7b
Adding an attribute to test_main to prevent clang 14 from inlining it an reordering locals, causing stack roots to become lost. working around github issue < https://github.com/ravenbrook/mps/issues/210 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/210
2023-04-14 15:32:10 +01:00
Richard Brooksby
f6214ab9ae
Adding an assertion that forces gcc not to reorder locals, working around github issue < https://github.com/ravenbrook/mps/issues/210 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/210
2023-04-14 15:08:27 +01:00
Richard Brooksby
612c2e8e62
Detabifying extcon.c.
2023-04-14 10:52:08 +01:00
Richard Brooksby
37f89e794e
Adding extcon extension/contraction test to posix builds. fixing warnings in extcon.c.
2023-04-14 10:46:56 +01:00
Jonathan Holburn
551df8b2c6
Fix test to ensure that cold pointer exists in colder stack frame.
...
This avoids the issue https://github.com/Ravenbrook/mps/issues/210
Also increase the number of test objects by *10 to make it more likely
the arena will decide to contract.
Also comment out some printfs in the interrupt context, to avoid messy
output.
Also fix some typos in comments
2023-04-14 10:10:18 +01:00
Jonathan Holburn
6ee0abfb54
Add test for arena extend and contract callbacks
2023-04-13 12:25:15 +01:00
Richard Brooksby
bf20351ddb
Part of making extension callbacks part of the public mps.
...
* Move type and macro declarations to the public header mps.h.
* Move documentation to appropriate sections of manual.
(cherry picked from commit b928fa236178fb1bdbe20442c3f53b8e8a545a4b)
2023-04-13 10:07:58 +01:00
Richard Brooksby
e3accea56d
Merging branch/2023-03-04/getpagesize-vs-sysconf for github pull request < https://github.com/ravenbrook/mps/pull/188 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/188
2023-03-23 22:17:37 +00:00
Richard Brooksby
ea36a51f82
Merging branch/2023-02-27/correct-file-names for github pull request < https://github.com/ravenbrook/mps/pull/179 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/179
2023-03-23 22:09:32 +00:00
Richard Brooksby
ec75fdc86d
Minor documentation improvements in response to review < https://github.com/ravenbrook/mps/pull/179#pullrequestreview-1354912126 >.
2023-03-23 15:44:06 +00:00
Richard Brooksby
601976ff80
Merging branch/2023-03-09/sig-design-tidy for github pull request < https://github.com/ravenbrook/mps/pull/193 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/193
2023-03-13 20:17:31 +00:00
Richard Brooksby
c709188183
Merging branch/2023-02-21/termux-build for github pull request < https://github.com/ravenbrook/mps/pull/164 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/164
2023-03-09 11:53:39 +00:00
Richard Brooksby
9875ff7b9e
Explaining the purpose of the calls variable in response to < https://github.com/ravenbrook/mps/pull/164#discussion_r1130845346 >.
2023-03-09 11:33:14 +00:00
Richard Brooksby
ef69911fdd
Cleaning up fixmes. moving signature on abqstruct to the start, since i couldn't find any justification for it to be at the end. it was always at the end.
2023-03-09 10:11:12 +00:00
Richard Brooksby
7482cf4f67
Cleaning up fixmes. we no longer initialize protocol classes with static initializers.
2023-03-09 10:06:39 +00:00
Richard Brooksby
3f0496d325
Cleaning up fixmes. inststruct does not have a signature.
2023-03-09 09:59:16 +00:00
Richard Brooksby
9fda23f4c6
Moving design documentation of signatures to design.mps.sig and updating tagging from code to be consistent.
2023-03-09 09:40:03 +00:00
Richard Brooksby
cc1731dcd0
Merging branch/2023-02-13/fix-typos for github pull request < https://github.com/ravenbrook/mps/pull/149 >.
...
GitHub-reference: https://github.com/Ravenbrook/mps/issues/149
2023-03-08 11:10:53 +00:00
Richard Brooksby
d92239c2ab
Declaring variable as static volatile to ensure clean communication with debugger and suppress warnings. this is a better expression of intention.
2023-03-08 11:03:27 +00:00
Richard Brooksby
93e50e49d5
Documenting deprecation of getpagesize().
2023-03-04 07:56:29 +00:00
Bruce Mitchener
c261059da2
Unix: use sysconf(_sc_pagesize), not getpagesize()
...
The `getpagesize()` is a legacy function and is not available
in the default configurations on some platforms.
The documentation for `getpagesize()` recommends using the POSIX
`sysconf(_SC_PAGESIZE)` instead.
Additionally, `sysconf(_SC_PAGESIZE)` returns a `long` rather than
an `int`, so the code is updated to handle that as well.
Sources:
* https://man7.org/linux/man-pages/man2/getpagesize.2.html
* https://pubs.opengroup.org/onlinepubs/7908799/xsh/getpagesize.html
2023-03-04 14:11:09 +07:00
Bruce Mitchener
29cd6336df
Correct file name references.
...
The checks that these files are being used on the right platform
contain the wrong file names.
2023-02-27 10:19:55 +07:00