1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 16:51:46 -07:00
Commit graph

110 commits

Author SHA1 Message Date
Richard Brooksby
4c7421d910 Moving attachment of segments to the pool seg ring into poolabsinit, the same as other structures.
Copied from Perforce
 Change: 191072
 ServerID: perforce.ravenbrook.com
2016-04-12 18:47:59 +01:00
Richard Brooksby
2ba7c52b61 Moving setclassofpoly to after initialization, to be more like signature setting.
Copied from Perforce
 Change: 190994
 ServerID: perforce.ravenbrook.com
2016-04-12 13:40:13 +01:00
Richard Brooksby
8484e7f184 Reducing boilerplate code using mustbea.
Copied from Perforce
 Change: 190970
 ServerID: perforce.ravenbrook.com
2016-04-12 00:58:04 +01:00
Richard Brooksby
b4fbe7ba92 Making classes into instances of kinds, allowing subclass tests to be used to validate classes as well.
Copied from Perforce
 Change: 190958
 ServerID: perforce.ravenbrook.com
2016-04-11 20:58:39 +01:00
Richard Brooksby
5a5c0f2138 Removing various fixed fixmes.
Copied from Perforce
 Change: 190957
 ServerID: perforce.ravenbrook.com
2016-04-11 18:58:36 +01:00
Richard Brooksby
ef6e2970ca Eliminating generated classof* and setclassof* functions in favour of checked poly macros.
Copied from Perforce
 Change: 190938
 ServerID: perforce.ravenbrook.com
2016-04-11 18:06:47 +01:00
Richard Brooksby
8d776db4f2 Converting many uses of classof* to method macros.
Copied from Perforce
 Change: 190937
 ServerID: perforce.ravenbrook.com
2016-04-11 17:59:36 +01:00
Richard Brooksby
309fb8ec64 Implementing nextmethod and replacing all uses of superclass with it.
Copied from Perforce
 Change: 190935
 ServerID: perforce.ravenbrook.com
2016-04-11 16:54:39 +01:00
Richard Brooksby
bfa333b5c0 Making all static next-method calls look similar.
Copied from Perforce
 Change: 190934
 ServerID: perforce.ravenbrook.com
2016-04-11 16:35:43 +01:00
Richard Brooksby
a148490cfa Adding classname for use in describe methods.
Fixing error path to use class destroy in ArenaCreate.
Using MustBeA to reduce boiler plate in land classes.

Copied from Perforce
 Change: 190904
 ServerID: perforce.ravenbrook.com
2016-04-11 14:06:28 +01:00
Richard Brooksby
d0d32eadbb Fixing initialisation in segment splitting to use instinit.
Copied from Perforce
 Change: 190887
 ServerID: perforce.ravenbrook.com
2016-04-11 06:37:02 +01:00
Richard Brooksby
429347256d Turning segment init methods the right way in, so that they each call the next method up the class hierarchy.
Copied from Perforce
 Change: 190882
 ServerID: perforce.ravenbrook.com
2016-04-10 23:23:49 +01:00
Richard Brooksby
d303ed0aeb Turning pool init methods the right way in, so that they each call the next method up the class hierarchy.
Copied from Perforce
 Change: 190858
 ServerID: perforce.ravenbrook.com
2016-04-10 17:49:08 +01:00
Richard Brooksby
907494aa56 Adding instinit and instfinish and using them as next methods in seginit, segfinish, etc.
Copied from Perforce
 Change: 190857
 ServerID: perforce.ravenbrook.com
2016-04-10 15:33:17 +01:00
Richard Brooksby
cf29dcc98d Making arenas properly inherit from instances, and converting remaining method calls to use the method macro, while noting uses which are inside-out.
Copied from Perforce
 Change: 190856
 ServerID: perforce.ravenbrook.com
2016-04-10 14:00:55 +01:00
Richard Brooksby
6a732464b3 Repairing superclass by taking a kind, which can later be checked.
Copied from Perforce
 Change: 190850
 ServerID: perforce.ravenbrook.com
2016-04-10 12:28:51 +01:00
Richard Brooksby
c92bf9505a Explicitly making inststruct the prefix of instances, eliminating pointer punning of class pointers, and reducing likelihood of editing errors.
Copied from Perforce
 Change: 190830
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
c4bcc24759 Generating a static superclass mapping and eliminating other superclass macros.
Copied from Perforce
 Change: 190827
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
4207b9ebf8 Eliminating the concept of "alias classes" in favour of "kinds".
Copied from Perforce
 Change: 190825
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
e5efe2849f Referring to classes by their base identifiers.
Copied from Perforce
 Change: 190823
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
d3d57e828d Renaming protocolinst to inst and protocolclass to instclass to make naming consistent with other classes.
Copied from Perforce
 Change: 190822
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
590c23a935 Moving common fields into the base class, starting with the class name.
Copied from Perforce
 Change: 190816
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
845e66778d Fixing horrible intialization of segment class by poking before calling seginit.
Copied from Perforce
 Change: 190694
 ServerID: perforce.ravenbrook.com
2016-04-04 23:28:28 +01:00
Richard Brooksby
a53339fed3 Protecting some segment accessor macros with rvalue.
Removing duplicate definition of SegPoolRing.

Copied from Perforce
 Change: 190642
 ServerID: perforce.ravenbrook.com
2016-04-02 15:53:57 +01:00
Richard Brooksby
dc5632de9a Fixing default behaviour for merging segments with differing summaries and therefore write barriers.
Copied from Perforce
 Change: 190629
 ServerID: perforce.ravenbrook.com
2016-04-02 09:18:58 +01:00
Richard Brooksby
cae4514c1b Merging branch/2016-03-13/defer-write-barrier into master sources.
Copied from Perforce
 Change: 190380
 ServerID: perforce.ravenbrook.com
2016-03-24 12:07:20 +00:00
Richard Brooksby
33b28efbdb Responding to review by nb <https://info.ravenbrook.com/mail/2016/03/22/17-19-03/0/>.
Copied from Perforce
 Change: 190349
 ServerID: perforce.ravenbrook.com
2016-03-23 17:31:59 +00:00
Richard Brooksby
0f3a469fa7 Responding to review by gdr <https://info.ravenbrook.com/mail/2016/03/21/21-05-49/0/>.
Copied from Perforce
 Change: 190336
 ServerID: perforce.ravenbrook.com
2016-03-23 14:23:14 +00:00
Richard Brooksby
f8a79ec8e4 Added discussion of when it might be good to resume the mutator early in design.mps.shield.improv.resume.
Copied from Perforce
 Change: 190329
 ServerID: perforce.ravenbrook.com
2016-03-23 13:11:19 +00:00
Richard Brooksby
7a7913786c Responding to review by gdr <https://info.ravenbrook.com/mail/2016/03/21/20-20-15/0/>.
Copied from Perforce
 Change: 190307
 ServerID: perforce.ravenbrook.com
2016-03-22 16:32:10 +00:00
Richard Brooksby
5e62e27402 Fixing splitting and merging for queued segments.
Copied from Perforce
 Change: 190228
 ServerID: perforce.ravenbrook.com
2016-03-20 01:22:15 +00:00
Richard Brooksby
b97bd74013 Renaming shield cache to shield queue.
Copied from Perforce
 Change: 190220
 ServerID: perforce.ravenbrook.com
2016-03-20 00:46:59 +00:00
Richard Brooksby
ff69c9af04 Separating flag for segment in shield cache from depth, clarifying code and optimising segfree somewhat.
Copied from Perforce
 Change: 190194
 ServerID: perforce.ravenbrook.com
2016-03-19 13:42:09 +00:00
Richard Brooksby
2c69ff0ce5 Avoid shield flush when finishing a segment that isn't in the cache.
Copied from Perforce
 Change: 190193
 ServerID: perforce.ravenbrook.com
2016-03-19 10:19:14 +00:00
Richard Brooksby
9172773f9c Updating shield design and actually checking invariants in code.
Copied from Perforce
 Change: 190192
 ServerID: perforce.ravenbrook.com
2016-03-19 10:15:10 +00:00
Richard Brooksby
7ab4a5c7cf Catch-up merge from master sources to branch/2016-03-13/defer-write-barrier.
Copied from Perforce
 Change: 190175
 ServerID: perforce.ravenbrook.com
2016-03-17 20:14:47 +00:00
Richard Brooksby
07987ab579 Eliminating withreservoirpermit and all its variants.
Copied from Perforce
 Change: 190005
 ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Richard Brooksby
ca73a994c0 Simplifying segsetsummary by not requiring it to calculate the previous shield mode.
Copied from Perforce
 Change: 189963
 ServerID: perforce.ravenbrook.com
2016-03-13 14:09:38 +00:00
Richard Brooksby
47dbed0eee Tidying up naming of write barrier deferral.
Copied from Perforce
 Change: 189960
 ServerID: perforce.ravenbrook.com
2016-03-13 13:26:24 +00:00
Richard Brooksby
06af849502 Integrating write barrier deferral changes from branch/2014-08-18/non-incremental.
p4 integrate branch/2014-08-18/non-incremental/...@186975,186988 branch/2016-03-13/defer-write-barrier/...

Copied from Perforce
 Change: 189943
 ServerID: perforce.ravenbrook.com
2016-03-13 11:27:21 +00:00
Gareth Rees
1710a3bb97 Prefer avert(type, value) to aver(typecheck(value)).
Copied from Perforce
 Change: 188157
 ServerID: perforce.ravenbrook.com
2015-08-21 11:14:27 +01:00
Gareth Rees
f3cf67c792 New constant rankmin gives the minimum rank. use this (rather than 0 or rankambig) to better express the intention.
Copied from Perforce
 Change: 187156
 ServerID: perforce.ravenbrook.com
2014-10-07 22:31:12 +01:00
Gareth Rees
c968255f1e Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt>), so it's about time it was implemented.

Copied from Perforce
 Change: 187071
 ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
1f517274f3 Cast all arguments to the writef function to make it easy to check that none of the necessary casts have been omitted.
New macro WriteFYesNo makes it easy to describe a Boolean.
Describe more structure elements for ABQ, Arena, Buffer, Format, MFS, Root, Seg.

Copied from Perforce
 Change: 187063
 ServerID: perforce.ravenbrook.com
2014-09-27 12:49:30 +01:00
Gareth Rees
7c2e271e60 Rename segpref to locuspref -- this structure describes preferences for the placement of any kind of address, not just segments.
Add LocusPrefDescribe and use it in MVFFDescribe.

Copied from Perforce
 Change: 187061
 ServerID: perforce.ravenbrook.com
2014-09-27 11:27:00 +01:00
David Lovemore
b4460043e6 Added more control over write barrier. in particular separated scans after a hit.
Copied from Perforce
 Change: 186988
 ServerID: perforce.ravenbrook.com
2014-08-27 11:21:18 +01:00
David Lovemore
46d723c9dc Added experimental control over write barrier eagerness.
The write barrier is only raised after three unnecessary scans.

Copied from Perforce
 Change: 186975
 ServerID: perforce.ravenbrook.com
2014-08-21 15:53:57 +01:00
David Lovemore
8c9353fe34 Add mps_key_arena_incremental option.
Avoid read and write barrier in non-incremental mode.
Add --non-incremental option to gcbench

Copied from Perforce
 Change: 186969
 ServerID: perforce.ravenbrook.com
2014-08-20 13:03:20 +01:00
Gareth Rees
8b012960dc 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
Gareth Rees
a13a1aa1df Catch-up merge from master sources @186564 to branch/2014-06-11/grain.
Copied from Perforce
 Change: 186572
 ServerID: perforce.ravenbrook.com
2014-06-13 15:30:46 +01:00