Gareth Rees
9f031d9c5c
Not safe to call segsetsummary from gcsegfinish.
...
Copied from Perforce
Change: 194277
2018-06-28 14:34:58 +01:00
Gareth Rees
7a10a50136
New event segsetsummary allows the monitor to track the sizes of segments referencing particular zones.
...
Copied from Perforce
Change: 194259
2018-06-28 13:14:12 +01:00
Gareth Rees
91551170b1
Remove return statements that have no effect.
...
Copied from Perforce
Change: 192529
ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
331ec20beb
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 192187
ServerID: perforce.ravenbrook.com
2016-09-05 16:01:17 +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
Gareth Rees
baf2277b30
Catch-up merge from the master sources.
...
Copied from Perforce
Change: 192170
ServerID: perforce.ravenbrook.com
2016-09-05 15:21:33 +01:00
Gareth Rees
55adbe705d
Fix assertion text in the manual.
...
Place a cross-reference by each assertion the appears in the manual, to assist in keeping the manual up to date.
Copied from Perforce
Change: 192097
ServerID: perforce.ravenbrook.com
2016-09-02 14:11:08 +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
a6dbb075df
Making init a method on inst and using it as next-method in segments.
...
Copied from Perforce
Change: 191603
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
Richard Brooksby
9a38cd69db
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
056a298003
Turning segment describe methods the right way in, so that they call next-method. deleting duplicate implementation of basic segment describe!
...
Copied from Perforce
Change: 191588
ServerID: perforce.ravenbrook.com
2016-04-23 00:48:48 +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
6d0dccb644
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 191512
ServerID: perforce.ravenbrook.com
2016-04-21 18:03:23 +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
aba1c55487
Catch-up merge from master sources to branch/2016-04-12/job004000.
...
Copied from Perforce
Change: 191429
ServerID: perforce.ravenbrook.com
2016-04-21 10:52:18 +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
Richard Brooksby
06ef28892a
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
942bee5823
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
Gareth Rees
c97f77e5ab
Catch-up merge from master sources to branch/2014-10-11/snc.
...
Copied from Perforce
Change: 191065
ServerID: perforce.ravenbrook.com
2016-04-13 13:07:19 +01:00
Gareth Rees
16605da59c
It's up to the segment class to implement the accounting for segment splitting and merging, so there's nothing to do in segmerge. document this in the design.
...
Copied from Perforce
Change: 191043
ServerID: perforce.ravenbrook.com
2016-04-12 21:56:25 +01:00
Gareth Rees
2b4b4816b4
Keep a ring of segments for each generation.
...
Copied from Perforce
Change: 191031
ServerID: perforce.ravenbrook.com
2016-04-12 19:16:19 +01:00
Richard Brooksby
22c2cf0161
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
b9a917033c
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
b75de04efc
Reducing boilerplate code using mustbea.
...
Copied from Perforce
Change: 190970
ServerID: perforce.ravenbrook.com
2016-04-12 00:58:04 +01:00
Richard Brooksby
d31995246d
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
a724e16626
Removing various fixed fixmes.
...
Copied from Perforce
Change: 190957
ServerID: perforce.ravenbrook.com
2016-04-11 18:58:36 +01:00
Richard Brooksby
12d4dfda16
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
62533b8c71
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
5307650059
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
a38d6e7178
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
78ad983c55
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
5627213751
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
d5f2a9f2d7
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
3dd201bf47
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
111136891e
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
3154cbed7d
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
d462d4b36d
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
5a0c818945
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
43b3f1a5cb
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
1d28eaff07
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
2e191a810e
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
09e73dd1da
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
e041841a88
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
dcc027082e
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
49534e914f
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
fffb906f11
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
ff35af0f15
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