Gareth Rees
ffcd3f0b7b
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
68fd97647f
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
0d0eb93f01
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
a5973e98f8
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
8a19bd5e8c
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
c5456223c1
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
Gareth Rees
655e358db4
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
3f41c3fba4
Discard all messages retrieved from the queue.
...
Copied from Perforce
Change: 191317
ServerID: perforce.ravenbrook.com
2016-04-20 09:35:27 +01:00
Gareth Rees
21bb1c84b1
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
2df530bb62
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
c1aeb1f67a
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
e8a7c408be
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
Gareth Rees
99303979de
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
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
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
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
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
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
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
Gareth Rees
d16b1f6fff
Remove printf -- we should use telemetry instead.
...
Copied from Perforce
Change: 190947
ServerID: perforce.ravenbrook.com
2016-04-11 19:46:21 +01:00
Gareth Rees
6ee4c8534d
In change 188204 we avoided creating and progressing traces with nothing condemned. but traces had one other effect: they called arenacompact via tracereclaim. restore the arenacompact for traces that failed to condemn anything.
...
Copied from Perforce
Change: 190931
ServerID: perforce.ravenbrook.com
2016-04-11 18:08:08 +01:00
Gareth Rees
86c96d8455
Assert that the range passed to landinsert is not empty.
...
Assert that the range passed to ArenaFreeLandInsert is not empty.
Assert that there's address space left over in a chunk after the overheads have been accounted for.
Copied from Perforce
Change: 190920
ServerID: perforce.ravenbrook.com
2016-04-11 16:09:51 +01:00
Gareth Rees
b8ea44a99f
Catch-up merge from master sources to branch/2015-08-11/compact.
...
Copied from Perforce
Change: 190901
ServerID: perforce.ravenbrook.com
2016-04-11 14:40:44 +01:00
Richard Brooksby
003e4ee580
Updating copyright date to current year.
...
Copied from Perforce
Change: 190707
ServerID: perforce.ravenbrook.com
2016-04-05 11:30:42 +01:00
Richard Brooksby
7fd416c8b0
Updating .p4ignore files with miscellaneous entries collected from work with git.
...
Copied from Perforce
Change: 190702
ServerID: perforce.ravenbrook.com
2016-04-05 11:27:30 +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
a2931bfddb
Linking .p4ignore to .gitignore to share configuration between perforce and git.
...
Copied from Perforce
Change: 190667
ServerID: perforce.ravenbrook.com
2016-04-04 19:20:26 +01:00
Richard Brooksby
19a55b06d8
Adding new build directories to .p4ignore.
...
Copied from Perforce
Change: 190643
ServerID: perforce.ravenbrook.com
2016-04-02 15:54:24 +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
ba9d203b1d
Don't attempt to merge a non-white segment with a white one.
...
Copied from Perforce
Change: 190634
ServerID: perforce.ravenbrook.com
2016-04-02 12:07:46 +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
27e38efbda
Don't allow pools to whiten segments without condemning objects, so that a condemned size of zero implies no white segments, allowing quick trace destruction.
...
Copied from Perforce
Change: 190607
ServerID: perforce.ravenbrook.com
2016-03-31 23:41:46 +01:00
Richard Brooksby
b9f6d7d1c7
Cherry-picking low-risk fix for job003880. see < https://info.ravenbrook.com/mail/2016/03/29/20-23-20/0/ >.
...
Copied from Perforce
Change: 190579
ServerID: perforce.ravenbrook.com
2016-03-31 12:30:00 +01:00
Richard Brooksby
956f09bc2d
Reducing over-ambitious random alignment increases in apss test.
...
Copied from Perforce
Change: 190575
ServerID: perforce.ravenbrook.com
2016-03-31 09:28:41 +01:00
Richard Brooksby
e67a9934f1
Cross-referencing comment about non-working debugging aps to job003995.
...
Copied from Perforce
Change: 190477
ServerID: perforce.ravenbrook.com
2016-03-27 21:17:53 +01:00
Richard Brooksby
bcc567710b
Documenting and checking constraints on mps_key_align on manual pools.
...
Copied from Perforce
Change: 190472
ServerID: perforce.ravenbrook.com
2016-03-27 20:48:38 +01:00
Richard Brooksby
36beebd440
Correcting return type of zonesetofrange to a zoneset.
...
Copied from Perforce
Change: 190395
ServerID: perforce.ravenbrook.com
2016-03-24 21:59:39 +00: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
247396690d
Catch-up merge from master sources to branch/2016-03-11/shield-coalesce.
...
Copied from Perforce
Change: 190373
ServerID: perforce.ravenbrook.com
2016-03-24 11:08:24 +00:00
Richard Brooksby
428e8bae92
Fixing build errors on windows (w3i6mv).
...
tagtest was missing from makefiles.
Implicit conversion warning from Clock to double.
Copied from Perforce
Change: 190372
ServerID: perforce.ravenbrook.com
2016-03-24 11:04:58 +00:00
Richard Brooksby
eb1d39c425
Improving shieldflushentries to allow for delayed protection changes on shieldlower.
...
Copied from Perforce
Change: 190363
ServerID: perforce.ravenbrook.com
2016-03-23 19:03:00 +00:00
Richard Brooksby
f3b8479322
Improving commentary: the mutator is suspended, not the arena.
...
Copied from Perforce
Change: 190352
ServerID: perforce.ravenbrook.com
2016-03-23 17:55:22 +00:00