Richard Brooksby
033aeda023
Using the address of the class as its id as a step to eliminating classdef.h.
...
Copied from Perforce
Change: 191234
ServerID: perforce.ravenbrook.com
2016-04-19 14:21:29 +01:00
Richard Brooksby
4028e56921
Improving documentation in response to review by gdr.
...
See <https://info.ravenbrook.com/mail/2016/04/14/10-02-00/0/ > and <https://info.ravenbrook.com/mail/2016/04/14/11-21-48/0/ >.
Copied from Perforce
Change: 191229
ServerID: perforce.ravenbrook.com
2016-04-19 13:28:00 +01:00
Gareth Rees
94234f7ce9
No need to declare or set vmem1 if we are not going to use it. this avoids "variable ‘vmem1’ set but not used" warning from gcc.
...
Copied from Perforce
Change: 191199
ServerID: perforce.ravenbrook.com
2016-04-16 14:14:31 +01:00
Gareth Rees
b6f2ae3d67
Remove tracestatcondemn event -- contains no information not already emitted by the tracestart event.
...
Copied from Perforce
Change: 191185
ServerID: perforce.ravenbrook.com
2016-04-16 12:41:38 +01:00
Gareth Rees
aabe4992eb
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
0f44970f70
Snc contains formatted objects and so must get its alignment from the format.
...
Copied from Perforce
Change: 191142
ServerID: perforce.ravenbrook.com
2016-04-14 15:45:41 +01:00
Gareth Rees
aea3930a48
Add missing test target sncss.exe.
...
Copied from Perforce
Change: 191139
ServerID: perforce.ravenbrook.com
2016-04-14 15:35:12 +01:00
Gareth Rees
a69a06ee56
Avoid "warning c4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)" from microsoft visual c.
...
Copied from Perforce
Change: 191138
ServerID: perforce.ravenbrook.com
2016-04-14 15:33:33 +01:00
Gareth Rees
729a0e6331
Avoid unused variable class in landabsdescribe.
...
Copied from Perforce
Change: 191117
ServerID: perforce.ravenbrook.com
2016-04-14 13:24:10 +01:00
Gareth Rees
dd8f8c0906
Merge branch/2015-08-11/compact into the master sources.
...
Copied from Perforce
Change: 191113
ServerID: perforce.ravenbrook.com
2016-04-14 12:49:13 +01:00
Gareth Rees
ccbeb529f9
Add missing macro discard_exp.
...
Copied from Perforce
Change: 191110
ServerID: perforce.ravenbrook.com
2016-04-14 12:07:51 +01:00
Gareth Rees
034d378148
Merge branch/2014-10-11/snc into the master sources.
...
Copied from Perforce
Change: 191102
ServerID: perforce.ravenbrook.com
2016-04-13 17:52:34 +01:00
Gareth Rees
91966bc13d
When a buffer is detached from an amc segment, a padding object is created that needs to be accounted as condemned.
...
Copied from Perforce
Change: 191101
ServerID: perforce.ravenbrook.com
2016-04-13 17:46:13 +01:00
Richard Brooksby
eb308da308
Eliminating poolpoollo, lopool, segloseg, losegseg in favour of mustbea etc.
...
Copied from Perforce
Change: 191094
ServerID: perforce.ravenbrook.com
2016-04-13 15:52:33 +01:00
Gareth Rees
7b1f72a679
Top generation mortality estimate is no longer unjustifiable: it will now converge on the correct value.
...
No need to check topGen.mortality -- this is checked by LocusCheck.
Copied from Perforce
Change: 191085
ServerID: perforce.ravenbrook.com
2016-04-13 15:52:08 +01:00
Gareth Rees
74314dd273
Record the forwarded size in the amc segment.
...
Copied from Perforce
Change: 191084
ServerID: perforce.ravenbrook.com
2016-04-13 15:51:00 +01:00
Gareth Rees
d40145c046
Maintain a moving average of the mortality of each generation.
...
Copied from Perforce
Change: 191081
ServerID: perforce.ravenbrook.com
2016-04-13 15:19:50 +01:00
Richard Brooksby
8fe47c986c
Eliminating seg2amcseg and amcseg2seg in favour of mustbea.
...
Copied from Perforce
Change: 191093
ServerID: perforce.ravenbrook.com
2016-04-13 15:11:15 +01:00
Richard Brooksby
0363bd0989
Removing extraenous blank line.
...
Copied from Perforce
Change: 191074
ServerID: perforce.ravenbrook.com
2016-04-13 13:34:18 +01:00
Gareth Rees
63b2875a62
Fix call broken by catch-up merge.
...
Copied from Perforce
Change: 191066
ServerID: perforce.ravenbrook.com
2016-04-13 13:13:41 +01:00
Gareth Rees
77b12d3ee7
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
13f8353d6e
A lightweight pop is not safe for automatically managed pools, so check attrgc first.
...
Copied from Perforce
Change: 191055
ServerID: perforce.ravenbrook.com
2016-04-13 11:55:35 +01:00
Gareth Rees
35d2ae678f
Ams->segring is redundant: we can use pool->segring instead.
...
Copied from Perforce
Change: 191044
ServerID: perforce.ravenbrook.com
2016-04-12 21:58:13 +01:00
Gareth Rees
9b819498d3
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
749226e23a
Handle failed traceaddwhite in policycondemnchain and arenarootswalk.
...
Copied from Perforce
Change: 191040
ServerID: perforce.ravenbrook.com
2016-04-12 20:58:33 +01:00
Richard Brooksby
e0faea0c13
Adding instdescribe as the ultimate base describe method.
...
Copied from Perforce
Change: 191073
ServerID: perforce.ravenbrook.com
2016-04-12 20:53:42 +01:00
Gareth Rees
c33b1f49e8
Condemn only the segments in the selected generations (not segments that happen to share a zone with any segment ever allocated in the generation).
...
Copied from Perforce
Change: 191034
ServerID: perforce.ravenbrook.com
2016-04-12 19:42:03 +01:00
Gareth Rees
b36632f54d
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
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
217642758d
Interning strings for all classes to the event system, not just the hacky one for pool classes.
...
Copied from Perforce
Change: 191071
ServerID: perforce.ravenbrook.com
2016-04-12 18:44:05 +01:00
Richard Brooksby
b4982a104f
Catch-up merge from master sources to branch/2016-04-08/protidying.
...
Copied from Perforce
Change: 191019
ServerID: perforce.ravenbrook.com
2016-04-12 18:17:05 +01:00
Richard Brooksby
f650061dab
Guarding eventinit with the global lock, and removing the enforcement of the reference count, so that the event system can be used from classes, which get called before any arena.
...
Copied from Perforce
Change: 191018
ServerID: perforce.ravenbrook.com
2016-04-12 18:16:06 +01:00
Richard Brooksby
8f56466017
Converting a low priority fixme into a todo for later.
...
Copied from Perforce
Change: 191013
ServerID: perforce.ravenbrook.com
2016-04-12 17:48:29 +01:00
Richard Brooksby
967b964863
Adding comment about how a fixme will be resolved by a later branch merge.
...
Copied from Perforce
Change: 191012
ServerID: perforce.ravenbrook.com
2016-04-12 15:44:28 +01:00
Richard Brooksby
a8483f5163
Moving pool format argument picking into abstract pool initialization, so that code is shared.
...
Copied from Perforce
Change: 191004
ServerID: perforce.ravenbrook.com
2016-04-12 15:07:26 +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
1d3a35c6ec
Moving setclassofpoly to after initializion in ams, and fixing pgen initialization to be consistent during init.
...
Copied from Perforce
Change: 190993
ServerID: perforce.ravenbrook.com
2016-04-12 13:16:43 +01:00
Richard Brooksby
a57965d825
Moving setclassofpoly to after initialization, to be more like signature setting. partially complete.
...
Copied from Perforce
Change: 190992
ServerID: perforce.ravenbrook.com
2016-04-12 13:15:54 +01:00
Richard Brooksby
25c4029619
Undo mistaken check-in of local alias of gcc. oops.
...
Copied from Perforce
Change: 190987
ServerID: perforce.ravenbrook.com
2016-04-12 13:00:02 +01:00
Richard Brooksby
30cd64730a
Automatically setting pool->fix on first fix, to avoid tricky initialization.
...
Copied from Perforce
Change: 190986
ServerID: perforce.ravenbrook.com
2016-04-12 12:44:54 +01:00
Richard Brooksby
21c319cd3b
Prevent race and then infinite regress when initializing the root classes.
...
Copied from Perforce
Change: 190981
ServerID: perforce.ravenbrook.com
2016-04-12 12:22:58 +01:00
Richard Brooksby
87aed22778
Clearing up various fixmes by making the type naming inconsistency clearly visible and intentional.
...
Copied from Perforce
Change: 190980
ServerID: perforce.ravenbrook.com
2016-04-12 10:51:41 +01:00
Richard Brooksby
a0d8de9fbf
Discard_exp does not avoid warnings in hot builds, so removing if for now.
...
Copied from Perforce
Change: 190975
ServerID: perforce.ravenbrook.com
2016-04-12 10:12:27 +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
c38a6a6d12
Removing a fixed fixme.
...
Copied from Perforce
Change: 190969
ServerID: perforce.ravenbrook.com
2016-04-12 00:57:49 +01:00
Richard Brooksby
c3068a987b
Fixing instclass initialisation of its own class.
...
Properly bracketing cast expression in CouldBeA.
Copied from Perforce
Change: 190968
ServerID: perforce.ravenbrook.com
2016-04-12 00:57:00 +01:00
Richard Brooksby
9719646f07
Commentary and design document improvements.
...
Copied from Perforce
Change: 190967
ServerID: perforce.ravenbrook.com
2016-04-12 00:09:17 +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
Gareth Rees
13ec8a0e2c
When growing an arena: (i) don't create a chunk that's too small for the allocation that's going to follow; (ii) don't create a chunk that's larger than necessary.
...
Copied from Perforce
Change: 190952
ServerID: perforce.ravenbrook.com
2016-04-11 20:33:38 +01:00
Gareth Rees
470b157620
Fix mistake (need trace->arena here).
...
Copied from Perforce
Change: 190948
ServerID: perforce.ravenbrook.com
2016-04-11 19:47:11 +01:00