Gareth Rees
75e502fc7b
Catch-up merge from master sources @186352 to branch/2014-04-15/mvffnoseg.
...
Copied from Perforce
Change: 186355
ServerID: perforce.ravenbrook.com
2014-05-29 16:03:34 +01:00
Gareth Rees
6a71a7c730
Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186354
ServerID: perforce.ravenbrook.com
2014-05-29 15:38:42 +01:00
Gareth Rees
b8c39883ea
Pass and check special closure values unused_pointer, unused_size instead of null, 0.
...
Copied from Perforce
Change: 186352
ServerID: perforce.ravenbrook.com
2014-05-29 15:28:33 +01:00
Gareth Rees
22ded996d3
Merge branch/2014-03-30/addrset into the master sources.
...
Copied from Perforce
Change: 186350
ServerID: perforce.ravenbrook.com
2014-05-29 15:08:19 +01:00
Gareth Rees
d98336d308
Catch-up merge from master sources @186335 to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 186348
ServerID: perforce.ravenbrook.com
2014-05-29 14:58:50 +01:00
Gareth Rees
4a59d4e9b7
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/05/29/13-01-02/0/ >.
...
Copied from Perforce
Change: 186347
ServerID: perforce.ravenbrook.com
2014-05-29 14:50:36 +01:00
Gareth Rees
224afa61a8
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/05/29/13-01-02/0/ >.
...
Copied from Perforce
Change: 186347
ServerID: perforce.ravenbrook.com
2014-05-29 14:50:36 +01:00
Richard Brooksby
4f3f12c3db
Fixing unbracketed macro parameter.
...
Copied from Perforce
Change: 186345
ServerID: perforce.ravenbrook.com
2014-05-29 14:07:24 +01:00
Richard Brooksby
e0c1ed0734
Clarifying a couple of comments most likely messed up by search-and-replace edits.
...
Copied from Perforce
Change: 186344
ServerID: perforce.ravenbrook.com
2014-05-28 17:42:11 +01:00
Gareth Rees
d1c5dfc2d2
Add comment explaining purpose of attribute_unused.
...
Copied from Perforce
Change: 186335
ServerID: perforce.ravenbrook.com
2014-05-28 17:24:46 +01:00
Gareth Rees
16ba7af3cb
Failoverfindinzones is untested.
...
Copied from Perforce
Change: 186327
ServerID: perforce.ravenbrook.com
2014-05-28 11:09:14 +01:00
Gareth Rees
e35f3b1b6c
Fix problems identified by dl in review < https://info.ravenbrook.com/mail/2014/05/23/12-44-54/0/ >.
...
Copied from Perforce
Change: 186300
ServerID: perforce.ravenbrook.com
2014-05-25 20:49:22 +01:00
Gareth Rees
5f848d0404
Split land iteration into two functions, one which deletes ranges, the other which does not.
...
Copied from Perforce
Change: 186298
ServerID: perforce.ravenbrook.com
2014-05-25 19:26:48 +01:00
Gareth Rees
f25bd5b496
Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
...
Copied from Perforce
Change: 186263
ServerID: perforce.ravenbrook.com
2014-05-23 14:13:44 +01:00
Gareth Rees
aae21e0353
Fix bug in poollo: forgot to change losegbits to loseggrains in one place.
...
Copied from Perforce
Change: 186262
ServerID: perforce.ravenbrook.com
2014-05-23 14:06:26 +01:00
Gareth Rees
4cb51f1bd3
Fix typo.
...
Copied from Perforce
Change: 186230
ServerID: perforce.ravenbrook.com
2014-05-21 12:14:29 +01:00
Gareth Rees
1e773a75fe
Tree_traverse_and_delete is a better name than tree_destroy.
...
Generalize this macro so it can be used in all three cases.
Copied from Perforce
Change: 186228
ServerID: perforce.ravenbrook.com
2014-05-21 11:38:59 +01:00
Gareth Rees
f5e11efb38
Improvements following review.
...
Copied from Perforce
Change: 186227
ServerID: perforce.ravenbrook.com
2014-05-21 00:43:06 +01:00
Gareth Rees
c639055f7b
In light of performance findings, boost the default arena size to 256 mb. add a -m option to djbench so that we can test the effect of setting the initial arena size on the manual pool classes.
...
Copied from Perforce
Change: 186224
ServerID: perforce.ravenbrook.com
2014-05-20 23:25:03 +01:00
Gareth Rees
a466852953
Catch-up merge from master sources @186217 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186218
ServerID: perforce.ravenbrook.com
2014-05-20 19:36:53 +01:00
Gareth Rees
38670ee8fc
Fix the build on w3i6mv.
...
Copied from Perforce
Change: 186217
ServerID: perforce.ravenbrook.com
2014-05-20 19:36:04 +01:00
Gareth Rees
5ea427ae6e
Fix compilation on windows.
...
Fix bug in ArenaDescribeTracts (only described the first tract).
Copied from Perforce
Change: 186215
ServerID: perforce.ravenbrook.com
2014-05-20 19:19:14 +01:00
Gareth Rees
6aae3bfb23
Catch-up merge from master sources @186213 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186214
ServerID: perforce.ravenbrook.com
2014-05-20 19:11:50 +01:00
Gareth Rees
f4f23676ce
Fix the build on windows.
...
Copied from Perforce
Change: 186213
ServerID: perforce.ravenbrook.com
2014-05-20 19:01:26 +01:00
Gareth Rees
5f84d4c3db
Clarify tracefix logic by unwinding the nested conditions.
...
Change the arena's chunk tree from a splay tree to an ordinary tree (so that it's not possible to accidentally splay it and leave it unbalanced).
New function TreeFindNext allows us to implement TractFirst and TractNext without having to splay the tree.
Make sure all operations on the chunk tree leave it balanced. But don't balance the tree directly in ChunkFinish() because this is only ever called in a loop where multiple chunks are being deleted from the tre. Instead use the sequence TreeToVine -- iterate and delete -- TreeBalance. The new macro TREE_DESTROY assists with this.
No need any more for ArenaIsReservedAddr, CHUNK_OF_ADDR, TRACT_OF_ADDR.
Update design documentation.
Copied from Perforce
Change: 186212
ServerID: perforce.ravenbrook.com
2014-05-20 18:12:37 +01:00
Gareth Rees
68f9a3cd5c
Fix assertion in bootblockcheck.
...
Copied from Perforce
Change: 186204
ServerID: perforce.ravenbrook.com
2014-05-20 12:44:36 +01:00
Gareth Rees
fb1299178b
Segfindaboveaddr is no longer used.
...
Copied from Perforce
Change: 186200
ServerID: perforce.ravenbrook.com
2014-05-19 20:20:09 +01:00
Gareth Rees
463139ecc4
Use treefind instead of splaytreefind to search the chunk tree.
...
Balance the chunk tree after insertion and deletion.
Avoid calling TractFirst and TractNext in ArenaDescribeTracts and PoolOfRange.
Copied from Perforce
Change: 186199
ServerID: perforce.ravenbrook.com
2014-05-19 20:19:50 +01:00
Gareth Rees
dcf84a3755
Merge branch/2014-04-30/poolgen into the master sources.
...
Copied from Perforce
Change: 186190
ServerID: perforce.ravenbrook.com
2014-05-19 15:56:49 +01:00
Gareth Rees
3836fffed0
Gcbench now reports the number of chunks.
...
Copied from Perforce
Change: 186188
ServerID: perforce.ravenbrook.com
2014-05-19 15:41:20 +01:00
Gareth Rees
43d30e9ca3
Gcbench now reports the number of chunks.
...
Copied from Perforce
Change: 186188
ServerID: perforce.ravenbrook.com
2014-05-19 15:41:20 +01:00
Gareth Rees
c381033485
Add test suite support to xcode project.
...
Copied from Perforce
Change: 186186
ServerID: perforce.ravenbrook.com
2014-05-19 15:39:18 +01:00
Gareth Rees
b2f8c11ebb
Catch-up merge from master sources @186174 to branch/2014-04-30/poolgen.
...
Copied from Perforce
Change: 186185
ServerID: perforce.ravenbrook.com
2014-05-19 14:59:19 +01:00
Gareth Rees
6c668c0c02
New function splaydebugcount counts the number of items in a splay tree (while checking its consistency).
...
Copied from Perforce
Change: 186182
ServerID: perforce.ravenbrook.com
2014-05-19 13:47:56 +01:00
Gareth Rees
5dbf068b5e
Restore "avoid" mechanism in arenaallocpage.
...
Make sure that we can tear down the arena if ArenaCreate fails:
1. Don't set hasFreeCBS until the block pool has some pages.
2. Finish the CBS block pool in ArenaFinish, not ArenaDestroy.
3. Delete the chunk from the arena's free CBS before destroying the chunk, just in case the chunk contains pages from the CBS's block pool.
Copied from Perforce
Change: 186177
ServerID: perforce.ravenbrook.com
2014-05-19 12:24:11 +01:00
Gareth Rees
ec58ae421f
Catch-up merge from master sources @186174 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186175
ServerID: perforce.ravenbrook.com
2014-05-19 11:40:57 +01:00
Gareth Rees
f5547fb738
Don't include pooln.c in mps.c -- only used by test case poolncv.
...
Include dependencies in all varieties, not just in COOL.
Copied from Perforce
Change: 186174
ServerID: perforce.ravenbrook.com
2014-05-19 11:39:05 +01:00
Gareth Rees
c80b685950
Catch-up merge from master sources @186171 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186173
ServerID: perforce.ravenbrook.com
2014-05-19 11:19:18 +01:00
Gareth Rees
6dec3e4cec
Correct dependencies for benchmarks and event tools.
...
Copied from Perforce
Change: 186171
ServerID: perforce.ravenbrook.com
2014-05-19 10:55:48 +01:00
Gareth Rees
ac89be6519
Ignore or use the result of landiterate.
...
Copied from Perforce
Change: 186166
ServerID: perforce.ravenbrook.com
2014-05-18 22:50:22 +01:00
Gareth Rees
9c3eb68f97
Landiterate now returns a bool indicating whether all visitor calls returned true.
...
Copied from Perforce
Change: 186165
ServerID: perforce.ravenbrook.com
2014-05-18 22:46:16 +01:00
Gareth Rees
2c54df97c5
No need to store primary chunk in the closure: can get it via the arena.
...
Copied from Perforce
Change: 186164
ServerID: perforce.ravenbrook.com
2014-05-18 22:27:07 +01:00
Gareth Rees
d947fe9ff5
Replace the chunk ring with a chunk tree.
...
Fix bug in SplayFindNext (LESS and GREATER the wrong way round).
Copied from Perforce
Change: 186157
ServerID: perforce.ravenbrook.com
2014-05-17 17:05:42 +01:00
Gareth Rees
b5fa39ff39
Check meaning of extend_by and remove fixme.
...
Copied from Perforce
Change: 186148
ServerID: perforce.ravenbrook.com
2014-05-17 00:26:34 +01:00
Gareth Rees
0bbc3befd8
Remove unused macros ("unless" and "when").
...
Copied from Perforce
Change: 186120
ServerID: perforce.ravenbrook.com
2014-05-15 17:35:27 +01:00
Gareth Rees
906d03f581
Add missing aver.
...
Copied from Perforce
Change: 186119
ServerID: perforce.ravenbrook.com
2014-05-15 17:25:27 +01:00
Gareth Rees
16ccef5e2d
New public functions mps_pool_total_size and mps_pool_free_size.
...
Old (undocumented) functions mps_{mv,mvff,mvt}_size and mps_{mv,mvff,mvt}_free_size are now macros for the new public functions.
New pool methods PoolTotalSize and PoolFreeSize, with implementations for public pool classes except SNC.
Coverage of the new functions in apss and mpmss for the manual pool classes, and in finaltest for the automatic pool classes.
Copied from Perforce
Change: 186118
ServerID: perforce.ravenbrook.com
2014-05-15 17:01:59 +01:00
Gareth Rees
7e22bed98f
Merge branch/2014-04-08/align into branch/2014-05-15/size.
...
Copied from Perforce
Change: 186116
ServerID: perforce.ravenbrook.com
2014-05-15 14:54:36 +01:00
Gareth Rees
d3c8f52840
Fumbled the merge.
...
Copied from Perforce
Change: 186113
ServerID: perforce.ravenbrook.com
2014-05-15 10:22:57 +01:00
Gareth Rees
f33cb90063
Merge branches 2014-04-15/mvffnoseg and 2014-04-23/awl into 2014-05-15/size.
...
Copied from Perforce
Change: 186112
ServerID: perforce.ravenbrook.com
2014-05-15 10:21:02 +01:00