1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

5605 commits

Author SHA1 Message Date
Gareth Rees
2087688964 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
220e23a758 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
299bfb2992 Scheme-boehm also processes multiple files.
Copied from Perforce
 Change: 186245
 ServerID: perforce.ravenbrook.com
2014-05-22 15:38:02 +01:00
Gareth Rees
4dc70cba7c All versions of the scheme interpreter now take multiple files on the command line.
Integrate change 186243 to scheme-{advanced,malloc,boehm}.c.

Copied from Perforce
 Change: 186244
 ServerID: perforce.ravenbrook.com
2014-05-22 13:16:29 +01:00
Gareth Rees
a066764cc8 Add -m command-line option to the scheme example so that we can test it with different initial arena sizes.
Copied from Perforce
 Change: 186243
 ServerID: perforce.ravenbrook.com
2014-05-22 13:05:40 +01:00
Gareth Rees
58f35172c7 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
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
f2c4505d22 Add gendesc and poolgen to the list of types.
Copied from Perforce
 Change: 186197
 ServerID: perforce.ravenbrook.com
2014-05-19 17:12:03 +01:00
Gareth Rees
d7af72c591 Update design.mps.strategy to describe the current relationship between chains, generations and pool generations; bring the description of the condemn logic up to date.
Copied from Perforce
 Change: 186196
 ServerID: perforce.ravenbrook.com
2014-05-19 17:11:36 +01:00
Gareth Rees
5d00b5719f Fix status-handling defect noted by nb in review.
Make indentation consistent with rest of MPS code.
Fix copyright date.

Copied from Perforce
 Change: 186193
 ServerID: perforce.ravenbrook.com
2014-05-19 16:23:42 +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
a380fe94f0 New tool noaslr disables address space layout randomization on os x.
Copied from Perforce
 Change: 186187
 ServerID: perforce.ravenbrook.com
2014-05-19 15:40:31 +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
ec9a315e34 Branching master to branch/2014-05-17/chunk-tree.
Copied from Perforce
 Change: 186152
 ServerID: perforce.ravenbrook.com
2014-05-17 10:02:47 +01:00
Gareth Rees
cc2dc227db Documentation improvements suggests by bruce mitchener:
* Fix cross-references to mps_pool_debug_option_s
* Link pool classes in the header of the table of pool class properties 

Copied from Perforce
 Change: 186150
 ServerID: perforce.ravenbrook.com
2014-05-17 09:30:45 +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
df99129b9e Reverse integration from version/1.113 to master sources.
Also, much improvement in wording of release notes.

Copied from Perforce
 Change: 186146
 ServerID: perforce.ravenbrook.com
2014-05-16 23:40:09 +01:00
Gareth Rees
3d9f137e77 Be more forceful about the requirement to update the fixed reference.
Copied from Perforce
 Change: 186136
 ServerID: perforce.ravenbrook.com
2014-05-16 13:36:52 +01:00
Gareth Rees
e6a9f19c6d Add note about consequences of running frequent collections.
Copied from Perforce
 Change: 186134
 ServerID: perforce.ravenbrook.com
2014-05-16 12:31:47 +01:00
Gareth Rees
86b334b7da Check for performance regressions before making a release.
Copied from Perforce
 Change: 186127
 ServerID: perforce.ravenbrook.com
2014-05-16 11:17:29 +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
19fb3a41dc Strength the tear-down advice: you "should" park the arena (not just "good practice").
Copied from Perforce
 Change: 186066
 ServerID: perforce.ravenbrook.com
2014-05-13 10:57:35 +01:00
Gareth Rees
4251c1e1db Fix typo: the general root scanning function type is mps_root_scan_t, not mps_reg_scan_t.
Copied from Perforce
 Change: 186065
 ServerID: perforce.ravenbrook.com
2014-05-13 10:48:51 +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