1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-24 06:20:43 -08:00
Commit graph

1622 commits

Author SHA1 Message Date
Gareth Rees
a0e076be57 Improvements following review.
Copied from Perforce
 Change: 186227
 ServerID: perforce.ravenbrook.com
2014-05-21 00:43:06 +01:00
Gareth Rees
8acf4952a4 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
cd5eb9694f Fix the build on w3i6mv.
Copied from Perforce
 Change: 186217
 ServerID: perforce.ravenbrook.com
2014-05-20 19:36:04 +01:00
Gareth Rees
dbfe3ca425 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
144d1aea03 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
9021a20b4b Fix the build on windows.
Copied from Perforce
 Change: 186213
 ServerID: perforce.ravenbrook.com
2014-05-20 19:01:26 +01:00
Gareth Rees
2f0ef9355d 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
0274929d35 Fix assertion in bootblockcheck.
Copied from Perforce
 Change: 186204
 ServerID: perforce.ravenbrook.com
2014-05-20 12:44:36 +01:00
Gareth Rees
47befaa46b 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
f747a15399 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
5e702b6819 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
0fee26dff8 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
af35c2c3ac 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
04a44878f3 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
15b35c6e1c 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
632ac692a5 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
a156a73f4a 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
06288300bf 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
c6ea5bda3c 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
2cf1859759 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
e2d346aa67 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
0b0a465674 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
6e7852e9a5 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
4638be32ad 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
113a2fa79d Avoid looping over the tracts of a span in mvspancheck in production varieties. (merged from change 184499.)
Copied from Perforce
 Change: 186077
 ServerID: perforce.ravenbrook.com
2014-05-13 14:30:52 +01:00
Gareth Rees
8e72725b5b Assert that size > 0 in cbsfindlargest. (merged from change 184496.)
Copied from Perforce
 Change: 186075
 ServerID: perforce.ravenbrook.com
2014-05-13 13:44:42 +01:00
Gareth Rees
7985175687 Fixed a bug in cbsfindlargest where it always deleted the entire range found even when finddeletelow or finddeletehigh were passed. (merged from change 184493.)
Copied from Perforce
 Change: 186074
 ServerID: perforce.ravenbrook.com
2014-05-13 13:33:46 +01:00
Gareth Rees
58b2d71836 Bug fix. ensuring cbsfinddeleterange returns oldrangereturn even if it doesn’t delete a block. (merged from change 184485.)
Copied from Perforce
 Change: 186070
 ServerID: perforce.ravenbrook.com
2014-05-13 12:30:23 +01:00
Gareth Rees
d44862dcf7 Ansi platform compiles and passes tests on windows. in detail:
* Move Windows-specific modules like vmw3.c out of commpre.nmk and into the platform-specific Nmake files.
* Set StackProbeDEPTH to 0 on the ANSI platform.
* New Nmake file ananmv.nmk builds the MPS for the ANSI platform using Microsoft Visual C/C++.

Copied from Perforce
 Change: 186063
 ServerID: perforce.ravenbrook.com
2014-05-13 10:12:56 +01:00
Gareth Rees
2514a8eb3d Compile testthrw3.c on all windows build configurations.
Copied from Perforce
 Change: 186061
 ServerID: perforce.ravenbrook.com
2014-05-13 09:33:26 +01:00
Gareth Rees
fce7564024 Windows doesn't have setenv, so use _putenv_s.
Copied from Perforce
 Change: 186060
 ServerID: perforce.ravenbrook.com
2014-05-13 09:32:06 +01:00
Gareth Rees
278dcb605b Need -lpthread so that we can compile the threading test cases, even though we aren't going to be able to run them.
Copied from Perforce
 Change: 186057
 ServerID: perforce.ravenbrook.com
2014-05-12 22:18:09 +01:00
Gareth Rees
e332f18190 Only link the testthr* module with test cases that use it.
Copied from Perforce
 Change: 186055
 ServerID: perforce.ravenbrook.com
2014-05-12 21:54:52 +01:00
Gareth Rees
6d3321d525 Increase the commit limit for exposet0 so that the test always passes.
Copied from Perforce
 Change: 186051
 ServerID: perforce.ravenbrook.com
2014-05-12 19:51:54 +01:00
Gareth Rees
0d99d9fcff Segsmss needs to park the arena (because otherwise there might be a collection running on the amst pool's chain).
Copied from Perforce
 Change: 186050
 ServerID: perforce.ravenbrook.com
2014-05-12 19:48:39 +01:00
Gareth Rees
691195da96 Setenv requires _gnu_source, so get the headers in the right order so that the feature macros are set up in config.h before any system header is included.
Don't update _XOPEN_SOURCE if it's already set to a high enough value.

Copied from Perforce
 Change: 186049
 ServerID: perforce.ravenbrook.com
2014-05-12 19:48:01 +01:00
Gareth Rees
7b5411c4f7 Catch-up merge from master sources @186035 to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 186040
 ServerID: perforce.ravenbrook.com
2014-05-12 18:42:33 +01:00
Gareth Rees
5250959005 Fix problems identified in nb's review <https://info.ravenbrook.com/mail/2014/05/12/15-10-13/0/>.
Copied from Perforce
 Change: 186038
 ServerID: perforce.ravenbrook.com
2014-05-12 18:22:40 +01:00
Gareth Rees
7d539cd4bc Improve the assertion output so that it is less suggestive of a bug in the mps and more suggestive of a problem that needs investigation.
Copied from Perforce
 Change: 186032
 ServerID: perforce.ravenbrook.com
2014-05-12 15:59:21 +01:00
Gareth Rees
4c7106cd6f Check the trace argument to tracequantum.
Copied from Perforce
 Change: 186027
 ServerID: perforce.ravenbrook.com
2014-05-12 13:35:21 +01:00
Gareth Rees
367ae76614 Park the arena before calling mps_chain_destroy.
Speed up mpsicv by reducing number of objects and by only running the test once (there's no inlined mps_tramp any more).

Copied from Perforce
 Change: 186024
 ServerID: perforce.ravenbrook.com
2014-05-12 12:53:46 +01:00
Gareth Rees
a80d297099 Mpseventtxt must not itself output telemetry, otherwise it is likely to overwrite the telemetry it is converting.
Copied from Perforce
 Change: 186023
 ServerID: perforce.ravenbrook.com
2014-05-12 12:30:46 +01:00
Gareth Rees
e13fc954ce Park the arena before destroying the default chain, to ensure that there are no traces using that chain.
Fix test cases that used automatic collection, but destroyed data structures without parking the arena.
Document the requirement on mps_chain_destroy and add the assertion to "common assertions and their causes".

Copied from Perforce
 Change: 186021
 ServerID: perforce.ravenbrook.com
2014-05-12 11:19:57 +01:00
Gareth Rees
93d01e3ca8 It is an error to destroy a chain if there is an active trace using the chain.
Copied from Perforce
 Change: 186013
 ServerID: perforce.ravenbrook.com
2014-05-11 21:47:20 +01:00
Gareth Rees
e25bb01799 Check the argument using argcheck.
Copied from Perforce
 Change: 186007
 ServerID: perforce.ravenbrook.com
2014-05-11 19:18:54 +01:00
Gareth Rees
3a1ce9493f Remove mps_key_cbs_extend_by and mfsextendself keyword arguments to cbsinit. these were unused and obsoleted by cbsblockpool.
Copied from Perforce
 Change: 186006
 ServerID: perforce.ravenbrook.com
2014-05-11 19:09:44 +01:00
Gareth Rees
358a76bf00 Remove unused function mfsgetinfo and unused type mfsinfo.
Copied from Perforce
 Change: 186004
 ServerID: perforce.ravenbrook.com
2014-05-11 18:52:53 +01:00
Gareth Rees
d60451c8ad Check keyword arguments after picking them.
Copied from Perforce
 Change: 185999
 ServerID: perforce.ravenbrook.com
2014-05-11 18:17:40 +01:00
Gareth Rees
9166015cf7 Remove some unused headers.
Copied from Perforce
 Change: 185994
 ServerID: perforce.ravenbrook.com
2014-05-10 09:47:58 +01:00
Gareth Rees
be87b190ed Defined(aver_and_check_all) is a better condition for invalidating the colour tables.
Copied from Perforce
 Change: 185993
 ServerID: perforce.ravenbrook.com
2014-05-10 09:45:26 +01:00