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
6f196185a1
Make shield assertions robust against deep checking -- when shieldcover is called from shieldraise there is one unsynced segment that has not yet been queued. record this fact in a new queuepending flag in the shield structure.
...
Remove incorrect shield assertion "shield->depth == 0 || shield->suspended" -- depth may be increased without suspending the mutator if the segment did not need protecting.
Copied from Perforce
Change: 191812
ServerID: perforce.ravenbrook.com
2016-05-03 17:25:27 +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
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
139c44155b
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
66f9fe6841
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
ff10c03351
Converting land describe methods to specialize instdescribe.
...
Copied from Perforce
Change: 191607
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
a953a293e7
Converting land finish methods to specialize instfinish.
...
Copied from Perforce
Change: 191606
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +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
1f8eb75895
Converting pool describe methods to specialise instdescribe.
...
Copied from Perforce
Change: 191604
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
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
Richard Brooksby
c42fc6c016
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
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
930b6a315b
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
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
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
c4ef464d0e
Using superclass init and finish in the arena bootstrap and teardown.
...
Copied from Perforce
Change: 190895
ServerID: perforce.ravenbrook.com
2016-04-11 13:35:16 +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
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
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
a5ea15c8ff
Eliminating issubclasspoly and replacing with compile-time constant test.
...
Copied from Perforce
Change: 190829
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +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
32de0701e0
Removing always-zero offset from pool class structure.
...
Copied from Perforce
Change: 190819
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
ed1782a479
Removing unused offset field in arena classes.
...
Copied from Perforce
Change: 190818
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +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
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
Richard Brooksby
8bfd101b34
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
e711121e82
Moving quicksort's workspace off the stack to limit mps stack usage.
...
Copied from Perforce
Change: 190332
ServerID: perforce.ravenbrook.com
2016-03-23 13:47:55 +00:00
Richard Brooksby
541ca77662
Counting shield holds and releases, to ensure they are nested correctly.
...
Counting the number of unsynced segments in order to check consistency.
Moving the extra shield hold for request.dylan.160098 around actual whitening, and adding a matching shield release.
Copied from Perforce
Change: 190321
ServerID: perforce.ravenbrook.com
2016-03-23 11:59:57 +00:00
Richard Brooksby
b66267ec5c
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
f3bde6fd39
Promoting shield to first class structure.
...
Copied from Perforce
Change: 190219
ServerID: perforce.ravenbrook.com
2016-03-20 00:32:43 +00:00
Richard Brooksby
1f361c4fc7
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
7ee20c87a6
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
bd9ef4dcf2
Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
...
Copied from Perforce
Change: 190150
ServerID: perforce.ravenbrook.com
2016-03-17 13:53:40 +00:00
Richard Brooksby
d7923e66ff
Allocate the shield cache. also improve commentary quite a bit.
...
Copied from Perforce
Change: 190147
ServerID: perforce.ravenbrook.com
2016-03-17 13:37:40 +00:00
Richard Brooksby
44f80af1ec
Merging branch mps/branch/2016-03-13/without-reservation into master sources.
...
Copied from Perforce
Change: 190106
ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
339445436b
Catch-up merge from master sources to branch/2014-10-13/format.
...
Copied from Perforce
Change: 190060
ServerID: perforce.ravenbrook.com
2016-03-15 10:02:21 +00:00
Richard Brooksby
d54be414d9
Merging branch/2016-03-12/pause into the master sources.
...
Copied from Perforce
Change: 190053
ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Gareth Rees
2a3c4e0590
Address points made by rb in review < https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/ >
...
Copied from Perforce
Change: 190031
ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +00:00
Richard Brooksby
cc6262ae66
Basic removal of the reservoir pool from code and design.
...
Copied from Perforce
Change: 190000
ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Richard Brooksby
30ca32e763
Can't use count as a bitfield.
...
Copied from Perforce
Change: 189965
ServerID: perforce.ravenbrook.com
2016-03-13 14:23:41 +00:00
Richard Brooksby
83fc7866c9
Tidying up naming of write barrier deferral.
...
Copied from Perforce
Change: 189960
ServerID: perforce.ravenbrook.com
2016-03-13 13:26:24 +00:00