1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 04:30:45 -08:00
Commit graph

1376 commits

Author SHA1 Message Date
Richard Brooksby
2b9719e4bd Catch-up merge from master.
Copied from Perforce
 Change: 184732
 ServerID: perforce.ravenbrook.com
2014-03-11 16:30:47 +00:00
Richard Brooksby
1e8eec530b Catch-up merge from branch/2014-02-22/splay-tune to pick up code review changes.
Copied from Perforce
 Change: 184727
 ServerID: perforce.ravenbrook.com
2014-03-11 16:07:19 +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
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
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
d1473656ee Resolving questions left behind in fixmes.
Copied from Perforce
 Change: 184609
 ServerID: perforce.ravenbrook.com
2014-02-28 14:42:44 +00:00
Richard Brooksby
a989f15b7f Adding more unzoned arena test cases back, now that there’s a keyword to the arena.
Copied from Perforce
 Change: 184608
 ServerID: perforce.ravenbrook.com
2014-02-28 14:42:18 +00:00
Richard Brooksby
d8362f2cad Merging branch/2014-02-22/splay-tune to pick up splay tree improvements.
Copied from Perforce
 Change: 184606
 ServerID: perforce.ravenbrook.com
2014-02-28 14:27:40 +00:00
Richard Brooksby
1956b0cee1 Restoring error path for arenaalloc.
Copied from Perforce
 Change: 184604
 ServerID: perforce.ravenbrook.com
2014-02-28 13:48:56 +00:00
Richard Brooksby
b15751c829 Removing redundant blacklisting event.
Copied from Perforce
 Change: 184603
 ServerID: perforce.ravenbrook.com
2014-02-28 13:46:51 +00:00
Richard Brooksby
fcd691aaa3 Adding unzoned arena tests back, now that there is a method of asking for them.
Copied from Perforce
 Change: 184602
 ServerID: perforce.ravenbrook.com
2014-02-28 13:46:36 +00:00
Richard Brooksby
53bdfaab23 More closely duplicating the allocation policy from the old vmarena, and documenting why.
Copied from Perforce
 Change: 184601
 ServerID: perforce.ravenbrook.com
2014-02-28 13:35:51 +00:00
Richard Brooksby
4eec2493b7 Adding a keyword to the arena to disable zoned allocation.
Copied from Perforce
 Change: 184599
 ServerID: perforce.ravenbrook.com
2014-02-28 13:20:06 +00:00
Richard Brooksby
a1a14a1683 Implementing allocation in the client arena class.
Copied from Perforce
 Change: 184596
 ServerID: perforce.ravenbrook.com
2014-02-28 11:23:59 +00:00
Richard Brooksby
0673536606 Fixing res/bool confusion found by “xc/debug/fbmtest 244032167”
Copied from Perforce
 Change: 184595
 ServerID: perforce.ravenbrook.com
2014-02-28 10:53:07 +00:00
Richard Brooksby
31b493236c Reinstating exhaustive splay tree search, since a tree or node may intersect a requested zone set, and be larger than a requested size, but still not satisfy a request.
Copied from Perforce
 Change: 184594
 ServerID: perforce.ravenbrook.com
2014-02-28 10:52:45 +00:00
Richard Brooksby
887c6e3845 Tidying up interfaces to cbsinit and cbsfindinzones.
Documenting assumptions about CBS block allocation used by the arena.

Copied from Perforce
 Change: 184593
 ServerID: perforce.ravenbrook.com
2014-02-28 10:30:32 +00:00
Richard Brooksby
14620f8c24 Simplifying the interface to cbsfindinzones.
Speeding up CBSFindInZones a bit.

Copied from Perforce
 Change: 184589
 ServerID: perforce.ravenbrook.com
2014-02-28 01:25:18 +00:00
Richard Brooksby
1ef160e7b1 Reverting exhaustive search in splayfindfirst and splayfindlast since zoned cbs will use an accurate test on the cbs block zones property, and this code will never be exercised.
Copied from Perforce
 Change: 184588
 ServerID: perforce.ravenbrook.com
2014-02-28 00:47:42 +00:00
Richard Brooksby
ddfec2c708 Eliminating complex zonedcbs adt and reintroducing a cbs with zone summaries. removing the default “high” segment preference, that caused the cbs trees to unbalance, and isn’t required outside of ep. considerable reduction in code and speed up, now at parity with master on test xc/release/gcbench -x 1234 amc
Copied from Perforce
 Change: 184587
 ServerID: perforce.ravenbrook.com
2014-02-28 00:35:05 +00:00
Richard Brooksby
7a33207595 Adding some missing headers revealed by separate compilation.
Copied from Perforce
 Change: 184584
 ServerID: perforce.ravenbrook.com
2014-02-27 18:01:05 +00:00
Richard Brooksby
2d685bee13 Adding check for unexpected case of zone barging.
Copied from Perforce
 Change: 184583
 ServerID: perforce.ravenbrook.com
2014-02-27 17:50:44 +00:00
Richard Brooksby
dee2b3438b Inserting small ranges into the zone cbss so that they can be reallocated quickly.
Copied from Perforce
 Change: 184579
 ServerID: perforce.ravenbrook.com
2014-02-27 17:01:29 +00:00
Richard Brooksby
6b17c88c69 Implementing splayfindlast to match splayfindfirst. oops.
Copied from Perforce
 Change: 184578
 ServerID: perforce.ravenbrook.com
2014-02-27 16:03:55 +00:00
Richard Brooksby
e6d1db24b6 Simplifying interface to high and low allocation in the zoned cbs.
Copied from Perforce
 Change: 184576
 ServerID: perforce.ravenbrook.com
2014-02-27 12:01:42 +00:00
Richard Brooksby
b160cf778a Separating arena cbs allocator into abstract zonedcbs adt. the number of chunks seems to blow up.
Copied from Perforce
 Change: 184575
 ServerID: perforce.ravenbrook.com
2014-02-27 04:50:52 +00:00
Richard Brooksby
3b3e01b10f Searching the freecbs now respects the “high” preference, though not yet within blocks.
Copied from Perforce
 Change: 184574
 ServerID: perforce.ravenbrook.com
2014-02-26 19:29:05 +00:00
Richard Brooksby
6b16beb0c6 Implemented “high” preference allocation for zone stripes.
Copied from Perforce
 Change: 184573
 ServerID: perforce.ravenbrook.com
2014-02-26 18:18:20 +00:00
Richard Brooksby
dc83b10c0d Fixing cbsfindfirstinzones to return a res, because it can fail when it can’t allocate a cbs block, unlike cbsfindfirst.
Fixing related corner case in arenaAllocFindInFreeCBS when it thought it couldn’t find a block when it was in fact running out of nodes.  This was revealed by “gcbench --npass 1 --arena-size 1M --seed 945632066 --niter 1 amc”.
Fixing draft ArenaFreeCBSDelete after exercising it.

Copied from Perforce
 Change: 184568
 ServerID: perforce.ravenbrook.com
2014-02-26 17:40:39 +00:00
Richard Brooksby
c76ae6e629 Removing unused fields from vmarenastruct.
Copied from Perforce
 Change: 184567
 ServerID: perforce.ravenbrook.com
2014-02-26 17:37:16 +00:00
Richard Brooksby
4a1eb8bae3 Adding clarifying bracket.
Copied from Perforce
 Change: 184566
 ServerID: perforce.ravenbrook.com
2014-02-26 17:36:27 +00:00
Richard Brooksby
f215460eb1 Adding checking of the freecbs and zonecbss to arenacheck.
Copied from Perforce
 Change: 184563
 ServerID: perforce.ravenbrook.com
2014-02-26 14:25:01 +00:00
Richard Brooksby
4fdddc36e0 Backing out zone set summary in the cbs. this isn't needed for speed now that there's a cbs per zone in the arena, and it will slow down all other cbss.
Copied from Perforce
 Change: 184561
 ServerID: perforce.ravenbrook.com
2014-02-26 14:24:34 +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
8f85caa56e Fixing bug where cbs overwrites its own blockpool pointer with garbage.
Copied from Perforce
 Change: 184532
 ServerID: perforce.ravenbrook.com
2014-02-25 19:19:37 +00:00
Richard Brooksby
3da21234fd Implementing arenafreecbsdelete that might work on chunks that have interesting patterns of zone allocation.
Further tidying up.

Copied from Perforce
 Change: 184531
 ServerID: perforce.ravenbrook.com
2014-02-25 19:19:09 +00:00
Richard Brooksby
d1b6ad25c7 Tidying up and wrapping arena cbs operations.
Copied from Perforce
 Change: 184530
 ServerID: perforce.ravenbrook.com
2014-02-25 16:58:23 +00:00
Richard Brooksby
460f988a46 Removing the freering allocation cache, which breaks the cbs abstraction and does not give any benefit once we’re allocating from zonecbss.
Copied from Perforce
 Change: 184529
 ServerID: perforce.ravenbrook.com
2014-02-25 11:35:18 +00:00