Commit graph

171 commits

Author SHA1 Message Date
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
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
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
Bruce Mitchener
dd509cdee9 Fix typos. 2023-02-13 23:27:57 +07: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
93b1364fd2 Change the type of writeff to avoid compiler warnings from gcc 8.
Copied from Perforce
 Change: 196063
2019-03-14 15:17:47 +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
ab9118b490 Add source for some of the monitor requirements.
Add missing design cross-references.
Fix typo: "even" for "event".

Copied from Perforce
 Change: 195075
2018-09-16 12:43:46 +01:00
Gareth Rees
06b87869fd Catch-up merge from master sources at changelevel 194022 to branch/2018-06-20/monitor.
Copied from Perforce
 Change: 195071
2018-09-15 21:29:28 +01:00
Gareth Rees
d6c8713da4 Address issues found in review <https://info.ravenbrook.com/mail/2018/09/13/15-44-23/0/>
Copied from Perforce
 Change: 195057
2018-09-13 16:47:51 +01:00
Gareth Rees
2448783b2d Merge branch/2018-07-09/seg-alloc into the master sources.
Copied from Perforce
 Change: 194690
2018-07-19 06:25:51 +01:00
Gareth Rees
83256946e6 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
d2e619b743 New bufferfill and bufferempty methods on segments.
Copied from Perforce
 Change: 194568
2018-07-10 15:02:18 +01:00
Gareth Rees
3366ef1bc2 Catch-up merge from master sources at changelevel 194449 to branch/2018-06-18/mrgseg.
Copied from Perforce
 Change: 194452
2018-07-05 16:22:24 +01:00
Gareth Rees
7f41cd5d86 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
409bc1910b Catch-up merge from the master sources at changelevel 194194 to branch/2017-03-04/seg-methods.
Copied from Perforce
 Change: 194267
2018-06-28 13:52:36 +01:00
Gareth Rees
bab47473c5 Use unsigned for rootvar and locusprefkind typedefs.
Copied from Perforce
 Change: 194161
2018-06-26 08:48:31 +01:00
Gareth Rees
a5ddfca39b New generic function segflip allows the segment to decide how to handle a trace that’s about to flip.
Copied from Perforce
 Change: 194000
2018-06-20 10:23:16 +01:00
Gareth Rees
2b3fbbb8d3 New pool method poolsegpoolgen gets the pool generation for a segment. (this allows the segment whiten and reclaim methods not to need to know the pool class.)
Copied from Perforce
 Change: 193084
 ServerID: perforce.ravenbrook.com
2017-03-31 13:28:25 +01:00
Gareth Rees
d8a5c865ba Since we know that a segment belongs to a pool with a format at the point where we call segwalk, it makes sense to pass the format.
Copied from Perforce
 Change: 193079
 ServerID: perforce.ravenbrook.com
2017-03-31 09:15:41 +01:00
Gareth Rees
b295670a76 Changing segnowalk to segtrivwalk avoids the need for attrfmt (now we can walk all segments).
Copied from Perforce
 Change: 193044
 ServerID: perforce.ravenbrook.com
2017-03-30 10:18:22 +01:00
Gareth Rees
4c9f14729f Move access method from pool class to segment class.
Copied from Perforce
 Change: 193039
 ServerID: perforce.ravenbrook.com
2017-03-30 09:55:37 +01:00
Gareth Rees
109dabad27 Move walk method from pool class to segment class.
Copied from Perforce
 Change: 193028
 ServerID: perforce.ravenbrook.com
2017-03-30 08:54:35 +01:00
Gareth Rees
45e05c62cd Move fix and fixemergency methods from pool class to segment class.
Copied from Perforce
 Change: 193023
 ServerID: perforce.ravenbrook.com
2017-03-30 08:09:14 +01:00
Gareth Rees
1cb3265e80 Move scan method from pool class to segment class.
Copied from Perforce
 Change: 193012
 ServerID: perforce.ravenbrook.com
2017-03-29 19:17:17 +01:00
Gareth Rees
de269de563 Move reclaim method from pool class to segment class.
Copied from Perforce
 Change: 193007
 ServerID: perforce.ravenbrook.com
2017-03-29 17:13:45 +01:00
Gareth Rees
bfe43c367e Move whiten method from pool class to segment class.
Copied from Perforce
 Change: 193002
 ServerID: perforce.ravenbrook.com
2017-03-29 16:22:14 +01:00
Gareth Rees
826b74a030 Move greyen method from pool class to segment class.
Copied from Perforce
 Change: 192997
 ServerID: perforce.ravenbrook.com
2017-03-29 15:58:32 +01:00
Gareth Rees
6dabd6de2b Move the blacken method from the pool class to the segment class.
Copied from Perforce
 Change: 192994
 ServerID: perforce.ravenbrook.com
2017-03-29 15:32:17 +01:00
Gareth Rees
0f4564a71b Merge design.mps.class-interface into design.mps.pool (as suggested by pekka p. pirinen on 1999-07-20).
Bring pool class method descriptions up to date.
Document bufferClass, bufferFill, bufferEmpty, totalSize, freeSize methods.
Document generic instance methods at design.mps.protocol.method.

Copied from Perforce
 Change: 192642
 ServerID: perforce.ravenbrook.com
2016-10-19 15:34:35 +01:00
Gareth Rees
577b32d481 Cherry-pick change 192595 from custom/cet/main, removing mps_addr_object. this function failed to solve the problem of decoding the stack on 64-bit windows, because the stack may need to be decoded after an mps assertion failure, in which case the arena lock is held and mps_addr_object cannot be called. we eventually solved the problem in a different way (using mps_arena_postmortem) and mps_addr_object is no longer used.
Copied from Perforce
 Change: 192637
 ServerID: perforce.ravenbrook.com
2016-10-19 14:13:38 +01:00
Gareth Rees
9f505c501d Remove unused pool class methods tracebegin and traceend.
Remove unused event AMCTraceEnd.
The fixEmergency method must have the same type as the fix method because of how they are used.

Copied from Perforce
 Change: 192636
 ServerID: perforce.ravenbrook.com
2016-10-19 14:07:20 +01:00
Gareth Rees
2e7a76cc5c Regularize the signature comments, for the benefit of design.mps.sig.test.uniq.
Copied from Perforce
 Change: 192620
 ServerID: perforce.ravenbrook.com
2016-10-18 18:30:50 +01:00
Gareth Rees
4457a77a07 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
437bf9c6a4 Rename mutatorfaultcontext to mutatorcontext because this data structure is not only used to store the context of a fault, but also to store the context of a thread that has been suspended.
Copied from Perforce
 Change: 192523
 ServerID: perforce.ravenbrook.com
2016-10-13 14:23:39 +01:00
Gareth Rees
01c13bf1b5 New functions mps_arena_busy and mps_arena_postmortem, plus test coverage.
Copied from Perforce
 Change: 192247
 ServerID: perforce.ravenbrook.com
2016-09-08 13:55:43 +01:00
Gareth Rees
c898410a63 Catch-up merge from the master sources to branch/2016-04-23/inst-methods.
Copied from Perforce
 Change: 192176
 ServerID: perforce.ravenbrook.com
2016-09-05 15:31:34 +01:00
Richard Brooksby
2020da56a6 Replacing segbuffer with version that returns bool and the buffer, and disallowing null to segsetbuffer, adding setunsetbuffer for that case instead.
Copied from Perforce
 Change: 191695
 ServerID: perforce.ravenbrook.com
2016-04-27 15:47:26 +01:00
Richard Brooksby
771f6defda Converting arena finish and describe methods to specialize instfinish and instdescribe.
Copied from Perforce
 Change: 191614
 ServerID: perforce.ravenbrook.com
2016-04-23 16:31:26 +01:00
Richard Brooksby
a241b44f8c Converting buffer finish and describe methods to specialize instfinish and instdescribe.
Copied from Perforce
 Change: 191608
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
b9e791798b Making describe a method on inst and implementing generic describe for segments.
Copied from Perforce
 Change: 191601
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:11 +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
Richard Brooksby
e87ff3aa7c Responding to review by gdr <https://info.ravenbrook.com/mail/2016/04/21/09-36-07/0/>.
Copied from Perforce
 Change: 191432
 ServerID: perforce.ravenbrook.com
2016-04-21 10:56:35 +01:00
Richard Brooksby
02a8064a07 Moving location dependency history into its own structure to reduce arenastruct bloat.
Copied from Perforce
 Change: 191417
 ServerID: perforce.ravenbrook.com
2016-04-21 09:05:34 +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
65a770e91f Avoid using "class" as an identifier, since tools like lldb parse expressions as c++, and it can't be named.
Copied from Perforce
 Change: 191304
 ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
1c0704e3c8 Catch-up merge from master sources to branch/2016-04-08/protidying.
Copied from Perforce
 Change: 191251
 ServerID: perforce.ravenbrook.com
2016-04-19 16:37:51 +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