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