Gareth Rees
7ff6169818
Fix cross-references.
...
Copied from Perforce
Change: 187791
ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
04b5c3db4e
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187787
ServerID: perforce.ravenbrook.com
2015-03-18 20:49:59 +00:00
Gareth Rees
5f35b7f792
Use the method suffix only for methods in classes; use visitor or function for other kinds of functions.
...
New document guide.impl.c.naming sets out the rules for naming.
Copied from Perforce
Change: 187159
ServerID: perforce.ravenbrook.com
2014-10-07 23:48:55 +01:00
Gareth Rees
a6c1da3a83
Restore the chunk ring.
...
Copied from Perforce
Change: 186558
ServerID: perforce.ravenbrook.com
2014-06-13 12:31:47 +01:00
Gareth Rees
2fa5f5688d
New function arenachunktreetraverse ensures that calls to chunkofaddr are reliably detected.
...
Copied from Perforce
Change: 186550
ServerID: perforce.ravenbrook.com
2014-06-12 20:28:50 +01:00
Gareth Rees
ebfb9af464
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/06/05/14-58-24/0/ >.
...
Copied from Perforce
Change: 186451
ServerID: perforce.ravenbrook.com
2014-06-08 22:10:21 +01:00
Gareth Rees
8ec2d5f64b
Fix problems identified by dl in review < https://info.ravenbrook.com/mail/2014/06/05/14-49-13/0/ >.
...
Copied from Perforce
Change: 186445
ServerID: perforce.ravenbrook.com
2014-06-08 17:45:44 +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
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
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
Richard Brooksby
d945d664bf
Improving comments in response to code review suggestions < https://info.ravenbrook.com/mail/2014/03/11/14-47-33/0/ >.
...
Copied from Perforce
Change: 184725
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
0cb5069ea8
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/22-40-36/0/ >.
...
Using TREE_ELT where appropriate.
Using AVERT consistently on Tree, but see job003691.
Copied from Perforce
Change: 184724
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
4b0b5f32b3
Responding to code review < https://info.ravenbrook.com/mail/2014/03/07/18-03-14/0/ >.
...
Updating Splay Tree design document to be reasonably consistent with the current code.
Disabling tree functions not currently in use.
Copied from Perforce
Change: 184723
ServerID: perforce.ravenbrook.com
2014-03-11 15:46:51 +00:00
Richard Brooksby
45ddf38adc
Fixing freebsd build.
...
Copied from Perforce
Change: 184719
ServerID: perforce.ravenbrook.com
2014-03-11 14:46:47 +00:00
Richard Brooksby
7ae074e114
Minor documentation improvements to binary trees.
...
Copied from Perforce
Change: 184552
ServerID: perforce.ravenbrook.com
2014-02-26 13:23:31 +00:00
Richard Brooksby
30e05ec9be
Permitting tree traversals to abort early.
...
Copied from Perforce
Change: 184511
ServerID: perforce.ravenbrook.com
2014-02-23 15:36:27 +00:00
Richard Brooksby
ee50a7703d
Implementing pointer-reversing tree traversal that does not disturb the tree shape, unlike the splay tree traversal, which flattens the tree into a list. replacing cbsiterate with this, knocking about 25% off the runtime of the test case: xc/release/djbench -x 1234 --sshift 8 mvff
...
Copied from Perforce
Change: 184444
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
be51fa6829
Adding tree integrity check debugging function.
...
Copied from Perforce
Change: 184441
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
959bc6b460
Generalising pointer reversal of tree spines.
...
Copied from Perforce
Change: 184437
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
e7c3417c87
Generalising splayrotate operations into treerotates.
...
Copied from Perforce
Change: 184431
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
fbb0d3be44
Adding basic generic binary tree datatype.
...
Copied from Perforce
Change: 184423
ServerID: perforce.ravenbrook.com
2014-02-23 10:41:07 +00:00