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