1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-05 13:51:09 -07:00
Commit graph

148 commits

Author SHA1 Message Date
Gareth Rees
8b87dccf6e Indirect formatted scanning through the scanstate.
This will allow us to reuse the scanning protocol with an arbitrary area
scanning function (replacing traceFormatScan) in order to implement
formatted object walking without an extra segment method.

Don't insist on scanning only grey segments: we want to be able to
reuse the scan protocol for walking, when the segments are black.
2022-01-17 17:12:58 +00: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
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
9aa717b701 Fix issues identified in review by dl <https://info.ravenbrook.com/mail/2018/07/16/12-13-15/0/>.
Copied from Perforce
 Change: 194677
2018-07-16 15:26:47 +01:00
Gareth Rees
f3f941284f New bufferfill and bufferempty methods on segments.
Copied from Perforce
 Change: 194568
2018-07-10 15:02:18 +01:00
Gareth Rees
f1b880321b Don't make multiple calls to controlalloc when you could just make one and divvy it up yourself.
Copied from Perforce
 Change: 194484
2018-07-06 18:56:12 +01:00
Gareth Rees
ba03d79694 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
556bb96d41 Catch-up merge from master sources at changelevel 194268 to branch/2018-06-18/job004070.
Copied from Perforce
 Change: 194274
2018-06-28 14:31:02 +01:00
Gareth Rees
d22656c8c4 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
53a9a15276 Fix issues identified in review by dl.
Copied from Perforce
 Change: 194187
2018-06-26 11:39:45 +01:00
Gareth Rees
421f73cdef Fix issues identified in review by dl.
Copied from Perforce
 Change: 194184
2018-06-26 11:31:33 +01:00
Gareth Rees
fd1d022908 Segment class gcseg no longer implements hardware barriers; these are implemented by new subclass mutatorseg, which is now used everywhere that gcseg was used formerly. the idea is that in a future change mrgrefseg will inherit from gcseg instead of mutatorseg.
Copied from Perforce
 Change: 193981
2018-06-19 14:45:42 +01:00
Gareth Rees
89a4b0378a Simplify the wasmarked protocol.
Copied from Perforce
 Change: 193940
2018-06-18 20:03:13 +01:00
Gareth Rees
169a3477b7 Awl asserts on fixes to out-of-bounds objects.
New MMQA test case conerr/65.c checks this.

Copied from Perforce
 Change: 193916
2018-06-18 16:29:03 +01:00
Gareth Rees
30abcd8531 Awl asserts on fixes to unallocated objects.
New MMQA test case conerr/63.c checks this.

Copied from Perforce
 Change: 193910
2018-06-18 15:46:26 +01:00
Gareth Rees
ed44ee33c2 Awl asserts on fixes to unaligned exact references.
New MMQA test case conerr/61.c checks this.

Copied from Perforce
 Change: 193904
2018-06-18 15:23:58 +01:00
Gareth Rees
43eea5a7a4 Awlsegcreate is a thin wrapper around poolgenalloc, so it's simpler just to call the latter.
Copied from Perforce
 Change: 193874
2018-06-18 09:39:18 +01:00
Gareth Rees
52d6325133 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
2a24ad79df 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
e615adda88 Avoid "result of 32-bit shift implicitly converted to 64 bits" warning from visual c.
Check AWL pool generation.
Update design.

Copied from Perforce
 Change: 193076
 ServerID: perforce.ravenbrook.com
2017-03-31 09:03:38 +01:00
Gareth Rees
a697ef913f Move alignshift to pool structure allows us to eliminate duplicate code between awl and lo.
Copied from Perforce
 Change: 193071
 ServerID: perforce.ravenbrook.com
2017-03-31 08:41:14 +01:00
Gareth Rees
17c1449096 Check that segment classes override sets of related methods.
Add missing finish functions amcSegFinish, mrgLinkSegFinish, mrgRefSegFinish, sncSegFinish.
Check all class constructor results.

Copied from Perforce
 Change: 193055
 ServerID: perforce.ravenbrook.com
2017-03-30 11:37:41 +01:00
Gareth Rees
d4a68602ff 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
2ffd832103 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
a400239f7e 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
b7a490ae32 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
00a4ade456 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
db5db0a9f3 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
07adf64ebb 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
47a1715c2d 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
1dc5ac742a 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
7f18fa9802 Use nextmethod to call the superclass init method, instead of calling poolabsinit directly. regularize the error handling.
Copied from Perforce
 Change: 192631
 ServerID: perforce.ravenbrook.com
2016-10-19 11:34:04 +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
c35e544d73 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
7473718e0a Catch-up merge from master sources to branch/2016-04-13/mortality.
Copied from Perforce
 Change: 192192
 ServerID: perforce.ravenbrook.com
2016-09-05 16:17:04 +01:00
Gareth Rees
c07c5d6b8f 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
e26f0b64e5 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
9a6981ae41 Temporarily introducing seggetbuffer to eliminate use of "null" to mean "no buffer".
Copied from Perforce
 Change: 191694
 ServerID: perforce.ravenbrook.com
2016-04-27 15:27:47 +01:00
Richard Brooksby
2065bf5351 Renaming class fields called "protocol" to "instclassstruct" in line with usual mps convention.
Copied from Perforce
 Change: 191685
 ServerID: perforce.ravenbrook.com
2016-04-27 14:25:54 +01:00
Richard Brooksby
9a2f29e3b2 Converting pool finish methods to specialize instfinish, and fixing up quite a few calls to use nextmethod.
Copied from Perforce
 Change: 191605
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
a9c54783bf Making finish a method on inst and implementing generic finish for segments.
Copied from Perforce
 Change: 191602
 ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Gareth Rees
ea578a4939 Catch-up merge from master sources to branch/2016-04-20/seghasbuffer.
Copied from Perforce
 Change: 191548
 ServerID: perforce.ravenbrook.com
2016-04-22 11:38:55 +01:00
Gareth Rees
7d30523dcd New function seghasbuffer.
Copied from Perforce
 Change: 191537
 ServerID: perforce.ravenbrook.com
2016-04-22 10:08:29 +01:00
Gareth Rees
e38b71547d Catch-up merge from branch/2016-04-12/job004000 to branch/2016-04-13/mortality.
Copied from Perforce
 Change: 191513
 ServerID: perforce.ravenbrook.com
2016-04-21 18:20:54 +01:00
Richard Brooksby
efb1d94578 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
Gareth Rees
bbeb6af490 Merge branch/2016-04-19/job004007.
Copied from Perforce
 Change: 191371
 ServerID: perforce.ravenbrook.com
2016-04-20 15:56:32 +01:00
Richard Brooksby
32250731d7 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
Gareth Rees
68e5c36216 Give buffers their own account in the pool generation accounting system. this ensures that buffers don't contribute to the "new size" of a generation, and so don't provoke collections of that generation.
Copied from Perforce
 Change: 191243
 ServerID: perforce.ravenbrook.com
2016-04-19 16:02:16 +01:00