1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
Commit graph

1309 commits

Author SHA1 Message Date
Richard Brooksby
331be1205e Catch-up merge from masters.
Copied from Perforce
 Change: 184728
 ServerID: perforce.ravenbrook.com
2014-03-11 16:13:39 +00:00
Richard Brooksby
9d7b1ff29e 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
16e0798806 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
1f2cf6aa56 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
1a37468bca Fixing windows build.
Copied from Perforce
 Change: 184721
 ServerID: perforce.ravenbrook.com
2014-03-11 15:22:21 +00:00
Richard Brooksby
00420bfce5 Fixing freebsd build.
Copied from Perforce
 Change: 184719
 ServerID: perforce.ravenbrook.com
2014-03-11 14:46:47 +00:00
Gareth Rees
784bc484ca Poolfix is on the critical path, so use aver_critical rather than aver.
Copied from Perforce
 Change: 184693
 ServerID: perforce.ravenbrook.com
2014-03-08 10:23:09 +00:00
Gareth Rees
cf4d9b0596 Ensure that djbench and gcbench compile on freebsd:
Link fmtdy with gcbench.
RESERVE_ALLOC in djbench ignores the return values from mps_reserve and mps_commit.
Don't include alloca.h -- alloca is in stdlib.h.
Rename start, finish to begin, end to avoid "local variable shadows global" error from gcc.

Copied from Perforce
 Change: 184691
 ServerID: perforce.ravenbrook.com
2014-03-08 00:36:32 +00:00
Gareth Rees
d2b6956f6a Add locbwcss and locusss to the test suite on os x, freebsd and linux.
Add const qualifier so that locbwcss and locusss compile without warnings.
Build djbench and gcbench on FreeBSD and Linux.
Don't include <alloca.h> -- alloca is in stdlib.h.

Copied from Perforce
 Change: 184689
 ServerID: perforce.ravenbrook.com
2014-03-08 00:24:04 +00:00
Gareth Rees
690ddfdde4 Delete .gdbinit: it hasn't been necessary to "handle sigbus nostop" on os x since the we started using mach exceptions (change 183002).
Copied from Perforce
 Change: 184678
 ServerID: perforce.ravenbrook.com
2014-03-07 19:02:05 +00:00
Gareth Rees
f40425bef2 Ensure that the mps builds on windows by adding <sa> to mpmcommon.
Copied from Perforce
 Change: 184675
 ServerID: perforce.ravenbrook.com
2014-03-07 17:24:46 +00:00
Richard Brooksby
4e28809e4a Responding to code review. see <https://info.ravenbrook.com/mail/2014/03/04/12-02-27/0/>.
Copied from Perforce
 Change: 184669
 ServerID: perforce.ravenbrook.com
2014-03-07 15:00:54 +00:00
Richard Brooksby
65a00f5945 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
dc4652b271 Minor tweaks to comments.
Copied from Perforce
 Change: 184550
 ServerID: perforce.ravenbrook.com
2014-02-26 13:00:07 +00:00
Gareth Rees
00898bf2e9 Fix the aver: need two slots in the array, not just one.
Copied from Perforce
 Change: 184545
 ServerID: perforce.ravenbrook.com
2014-02-26 12:51:30 +00:00
Gareth Rees
6971bee496 Make mps_args_done obsolete.
Copied from Perforce
 Change: 184543
 ServerID: perforce.ravenbrook.com
2014-02-26 12:47:27 +00:00
Richard Brooksby
4ef9c96411 Moving and updating most of the usage documentation from the design document to the source code. design documentation should contain justification of design decisions, not a user manual.
Copied from Perforce
 Change: 184547
 ServerID: perforce.ravenbrook.com
2014-02-26 01:39:10 +00:00
Richard Brooksby
3dcb5c3ea1 Merging bug fix for gcbench exit from development branch.
Copied from Perforce
 Change: 184506
 ServerID: perforce.ravenbrook.com
2014-02-25 01:49:49 +00:00
Richard Brooksby
5ac2b0b14e Bug fix. gcbench attempted to delete a nonexistent chain by default.
Copied from Perforce
 Change: 184497
 ServerID: perforce.ravenbrook.com
2014-02-24 23:03:10 +00:00
Richard Brooksby
5f9e072412 Bug fix. nonsensical case in cbsfindlargest when size is passed as zero.
Added RangeCopy.

Copied from Perforce
 Change: 184496
 ServerID: perforce.ravenbrook.com
2014-02-24 23:02:42 +00:00
Richard Brooksby
7db856f7b8 Fixed a bug in cbsfindlargest where it always deleted the entire range found even when finddeletelow or finddeletehigh were passed.
Copied from Perforce
 Change: 184493
 ServerID: perforce.ravenbrook.com
2014-02-24 22:48:48 +00:00
Richard Brooksby
a28fda3fc5 Making assertions in cbsupdatenode critical, since this is extremely hot in any cbs with fast find.
Copied from Perforce
 Change: 184492
 ServerID: perforce.ravenbrook.com
2014-02-24 22:27:16 +00:00
Richard Brooksby
dc38189d5c Adding rangeisempty.
Copied from Perforce
 Change: 184491
 ServerID: perforce.ravenbrook.com
2014-02-24 22:26:22 +00:00
Richard Brooksby
018653d160 Fixing compiler warning.
Copied from Perforce
 Change: 184490
 ServerID: perforce.ravenbrook.com
2014-02-24 22:25:48 +00:00
Gareth Rees
c1ef37731a Refactor the computation of the chunk size into its own function, thus avoiding an "unreachable code" error from clang.
Copied from Perforce
 Change: 184482
 ServerID: perforce.ravenbrook.com
2014-02-24 21:32:22 +00:00
Richard Brooksby
4f73fc5afe Initial hack at replacing the arena control pool with mvff.
Copied from Perforce
 Change: 184489
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:41 +00:00
Richard Brooksby
b876c0ff82 Only finishing the cbs block pool when cbs created it. oops.
Copied from Perforce
 Change: 184488
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:40 +00:00
Richard Brooksby
57c9c5aac8 Finishing the mvff block pool. oops.
Copied from Perforce
 Change: 184487
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:40 +00:00
Richard Brooksby
5fc0d82d6a Initialising a shared inline mfs for the cbss in mvff so that mvff can be used as the arena’s bootstrap and control pool.
Copied from Perforce
 Change: 184486
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:40 +00:00
Richard Brooksby
bdd84a3a0f Bug fix. ensuring cbsfinddeleterange returns oldrangereturn even if it doesn’t delete a block.
Copied from Perforce
 Change: 184485
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:39 +00:00
Richard Brooksby
02fd3498d8 Catch-up merge from master, mainly to pick up gcbench fix.
Copied from Perforce
 Change: 184480
 ServerID: perforce.ravenbrook.com
2014-02-24 21:14:13 +00:00
Gareth Rees
09dd8e7027 Avoid use of unreachable code in protcatchthread on os x.
Copied from Perforce
 Change: 184478
 ServerID: perforce.ravenbrook.com
2014-02-24 18:07:14 +00:00
Richard Brooksby
05a2713826 Reforming mvff pool class to avoid using segments and to actually have a chance to return memory to the arena.
Copied from Perforce
 Change: 184467
 ServerID: perforce.ravenbrook.com
2014-02-23 21:00:53 +00:00
Richard Brooksby
a8720f2615 Adding cbssize and freelistsize functions to calculate the size of freelist contents.
Copied from Perforce
 Change: 184466
 ServerID: perforce.ravenbrook.com
2014-02-23 20:59:44 +00:00
Richard Brooksby
f47100fd09 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
59334b5e4f Updating copyright dates.
Copied from Perforce
 Change: 184510
 ServerID: perforce.ravenbrook.com
2014-02-23 13:54:07 +00:00
David Lovemore
c34562d0d4 Add pin-leaf option to gcbench.
Remove default chain from gcbench.

Copied from Perforce
 Change: 184454
 ServerID: perforce.ravenbrook.com
2014-02-23 13:44:54 +00:00
Richard Brooksby
8eb1c7b647 Making splaysplit and splayassemble general so that they can be used easily.
Copied from Perforce
 Change: 184452
 ServerID: perforce.ravenbrook.com
2014-02-23 12:18:18 +00:00
Richard Brooksby
bcdce5b35d Returning the results of splitting in a structure so that it’s easier to pass them on to assemble.
Copied from Perforce
 Change: 184451
 ServerID: perforce.ravenbrook.com
2014-02-23 12:10:52 +00:00
Richard Brooksby
42a8ffbe6a Removing unnecessary case of splaying empty trees.
Copied from Perforce
 Change: 184450
 ServerID: perforce.ravenbrook.com
2014-02-23 11:52:21 +00:00
Richard Brooksby
1ac9877082 Adding a signature to splay tree structure. miscellaneous documentation and naming clean-up.
Copied from Perforce
 Change: 184448
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
29cba255f2 Pointer-reversing splay and assemble to avoid double traversal of side tree spines in the update case.
Copied from Perforce
 Change: 184447
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
96be04cb42 Lifting zig and zag cases into common prefix to shorten splaysplit. a few percent faster.
Copied from Perforce
 Change: 184446
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
660c0821d6 Moving downward splay updates to after side tree linkage, allowing the optimiser to do a better job. produces about 10% speedup: xc/release/djbench -x 1234 --sshift 8 mvff
Copied from Perforce
 Change: 184445
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
a52bb1d3ea 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
4e1d9e6a96 Optimising splaytreeneighbours by observing that once one neighbour is found, the other neighbour is already in our hand in one of the side trees. this reduces the number of splays when coalescing.
Copied from Perforce
 Change: 184443
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
d48028902e Specialising left and right splay tree searches where no comparisons are necessary.
Copied from Perforce
 Change: 184442
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
17b72c3052 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
fee5ac310e Eliminating redundant passing of tree keys by adding a method to extract the key from a tree node.
Copied from Perforce
 Change: 184440
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00
Richard Brooksby
2bb859f62b Avoid dropping children of found node in non-update case. oops.
Copied from Perforce
 Change: 184439
 ServerID: perforce.ravenbrook.com
2014-02-23 10:41:15 +00:00