Gareth Rees
7e8d63a21c
Merge branch/2016-04-11/job003998.
...
Copied from Perforce
Change: 191388
ServerID: perforce.ravenbrook.com
2016-04-20 17:56:59 +01:00
Gareth Rees
f53a73cf02
Pass the -p (posix output) option to /usr/bin/time so that the results are portable between os x and linux.
...
Copied from Perforce
Change: 191378
ServerID: perforce.ravenbrook.com
2016-04-20 16:19:38 +01:00
Gareth Rees
5581b66e91
Merge branch/2016-04-19/job004011.
...
Copied from Perforce
Change: 191374
ServerID: perforce.ravenbrook.com
2016-04-20 16:00:43 +01:00
Gareth Rees
bbeb6af490
Merge branch/2016-04-19/job004007.
...
Copied from Perforce
Change: 191371
ServerID: perforce.ravenbrook.com
2016-04-20 15:56:32 +01:00
Gareth Rees
10be1ec77f
Initialize arena->zoneshift to zoneshiftunset (which is not a valid shift) and modify the arena checking to spot this value. previously a default shift value (namely 20) was used, but this value was bogus as the zone shift is not determined until the class initialization runs.
...
Copied from Perforce
Change: 191370
ServerID: perforce.ravenbrook.com
2016-04-20 15:51:16 +01:00
Gareth Rees
077926ceec
Performance ratio test uses cpu time (not real time). use awk instead of dc to avoid having to install a package.
...
Copied from Perforce
Change: 191365
ServerID: perforce.ravenbrook.com
2016-04-20 15:07:22 +01:00
Richard Brooksby
fe91fa9480
Squelching bogus type pun warnings from gcc 4.7 to get a clean build in travis ci.
...
Adding platform XCI6GC to allow faster debugging of CI builds on Mac OS X with MacPorts GCC 4.7 installed. Not otherwise supported.
Copied from Perforce
Change: 191357
ServerID: perforce.ravenbrook.com
2016-04-20 13:59:23 +01:00
Gareth Rees
14d975c6a4
Add a test checking that the hot variety is not too much slower than the rash variety. turn this on for continuous integration testing via "make test".
...
Copied from Perforce
Change: 191339
ServerID: perforce.ravenbrook.com
2016-04-20 13:15:18 +01:00
Gareth Rees
7680839e18
Discard all messages retrieved from the queue.
...
Copied from Perforce
Change: 191317
ServerID: perforce.ravenbrook.com
2016-04-20 09:35:27 +01:00
Richard Brooksby
c02ab56cee
Eliminating poolpoolmfs in favour of mustbea.
...
Copied from Perforce
Change: 191312
ServerID: perforce.ravenbrook.com
2016-04-19 23:30:18 +01:00
Richard Brooksby
1723b05f5b
Eliminating seg2linkseg, linkseg2seg, seg2refseg, refseg2seg, poolmrg, and mrgpool in favour of mustbea.
...
Copied from Perforce
Change: 191311
ServerID: perforce.ravenbrook.com
2016-04-19 23:29:46 +01:00
Richard Brooksby
af570f18f9
Eliminating vmarena2arena and arena2vmarena in favour of mustbea.
...
Copied from Perforce
Change: 191306
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
f1af541a95
Removing a note about initialization order that no longer applies.
...
Copied from Perforce
Change: 191305
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +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
Gareth Rees
f9bf430678
Address comments made by rb in review:
...
* Clearer name for the amcseg->buffered flag.
* Better explanation of the meaning of this flag.
* Explain how an AMC segment can be buffered but not accounted as buffered.
Copied from Perforce
Change: 191298
ServerID: perforce.ravenbrook.com
2016-04-19 20:38:33 +01:00
Gareth Rees
6b580943b2
Make it clear where tags are defined and where they are referenced, as suggested by rb in review.
...
Copied from Perforce
Change: 191288
ServerID: perforce.ravenbrook.com
2016-04-19 19:24:46 +01:00
Gareth Rees
04e129be5c
Ensure that at most one collection of the world can be started in a call to arenapoll. this avoids a loop if the live set is large enough to provoke the "dynamic criterion".
...
Copied from Perforce
Change: 191274
ServerID: perforce.ravenbrook.com
2016-04-19 18:17:09 +01:00
Gareth Rees
883700699e
Infinity was new in c99 so use huge_val instead.
...
Copied from Perforce
Change: 191254
ServerID: perforce.ravenbrook.com
2016-04-19 16:38:20 +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
68e5c36216
Give buffers their own account in the pool generation accounting system. this ensures that buffers don't contribute to the "new size" of a generation, and so don't provoke collections of that generation.
...
Copied from Perforce
Change: 191243
ServerID: perforce.ravenbrook.com
2016-04-19 16:02:16 +01:00
Richard Brooksby
c708f93154
Eliminating classdef.h by defining the class level when declaring a class.
...
Copied from Perforce
Change: 191235
ServerID: perforce.ravenbrook.com
2016-04-19 14:59:30 +01:00
Richard Brooksby
bb5a36b27e
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
f21d24ee6c
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
939263f130
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
612a45423d
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
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
79478e8310
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
c004e5a674
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
eb0991b6b6
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
08060a3b05
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
9c475dcfbc
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
09420d6863
Add missing macro discard_exp.
...
Copied from Perforce
Change: 191110
ServerID: perforce.ravenbrook.com
2016-04-14 12:07:51 +01:00
Gareth Rees
c95108a508
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
518597977a
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
d6b028081f
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
3f8661740b
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
fe5704c834
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
3174eba71e
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
1055db1561
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
905b334c65
Removing extraenous blank line.
...
Copied from Perforce
Change: 191074
ServerID: perforce.ravenbrook.com
2016-04-13 13:34:18 +01:00
Gareth Rees
6527b51a02
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
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
22f58e9e08
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
200e1525d3
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
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
4d1e8f06fe
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
ab5d377fc1
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
7eeb2e8b78
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
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