Gareth Rees
72f4effa67
Large grain sizes are more wasteful, so we need more space.
...
Copied from Perforce
Change: 186696
ServerID: perforce.ravenbrook.com
2014-06-19 15:12:25 +01:00
Gareth Rees
9436cada6d
Round up the grain size in the client arena to arena_client_grain_size (otherwise the grain might be so small that the page table uses up all the space in the chunk).
...
Copied from Perforce
Change: 186689
ServerID: perforce.ravenbrook.com
2014-06-19 14:10:30 +01:00
Gareth Rees
987e935326
Missing #include "vm.h".
...
Copied from Perforce
Change: 186684
ServerID: perforce.ravenbrook.com
2014-06-19 10:21:48 +01:00
Gareth Rees
f823d84543
Fix assertion in vmunmap: comparison was wrong way round.
...
Copied from Perforce
Change: 186683
ServerID: perforce.ravenbrook.com
2014-06-19 10:05:09 +01:00
Gareth Rees
2ca249915e
Log2 defined in c99 (not c90), not available on windows.
...
Copied from Perforce
Change: 186680
ServerID: perforce.ravenbrook.com
2014-06-18 17:43:28 +01:00
Gareth Rees
36fe333499
Fix build on windows.
...
Copied from Perforce
Change: 186679
ServerID: perforce.ravenbrook.com
2014-06-18 17:43:07 +01:00
Gareth Rees
d03c616307
Fix bug in nailboardtest: need to reset the bit table before using it.
...
Copied from Perforce
Change: 186677
ServerID: perforce.ravenbrook.com
2014-06-18 17:25:14 +01:00
Gareth Rees
56f4bfc0d7
Fix typo.
...
Copied from Perforce
Change: 186676
ServerID: perforce.ravenbrook.com
2014-06-18 17:13:45 +01:00
Gareth Rees
7640a14b87
Catch-up merge from master sources @186673 to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186675
ServerID: perforce.ravenbrook.com
2014-06-18 17:10:50 +01:00
Gareth Rees
6215109145
Fix problems noted by rb in review < https://info.ravenbrook.com/mail/2014/06/18/14-40-10/0/ >
...
Copied from Perforce
Change: 186669
ServerID: perforce.ravenbrook.com
2014-06-18 16:24:38 +01:00
Gareth Rees
61a58b9b50
Fix problems noted by rb in review < https://info.ravenbrook.com/mail/2014/06/18/14-06-43/0/ >
...
Copied from Perforce
Change: 186667
ServerID: perforce.ravenbrook.com
2014-06-18 15:36:35 +01:00
Gareth Rees
ef7bb2c997
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186664
ServerID: perforce.ravenbrook.com
2014-06-17 15:52:16 +01:00
Gareth Rees
e4bfb6844f
Simplify diffs.
...
Copied from Perforce
Change: 186663
ServerID: perforce.ravenbrook.com
2014-06-17 15:19:33 +01:00
Gareth Rees
5fb05e31b6
Fix problems noted by dl in review < https://info.ravenbrook.com/mail/2014/06/17/13-35-38/0/ >.
...
Copied from Perforce
Change: 186662
ServerID: perforce.ravenbrook.com
2014-06-17 15:15:32 +01:00
Gareth Rees
687b0f0fe7
Add new files to xcode project.
...
Copied from Perforce
Change: 186634
ServerID: perforce.ravenbrook.com
2014-06-14 16:25:09 +01:00
Gareth Rees
4316347668
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186633
ServerID: perforce.ravenbrook.com
2014-06-14 16:20:04 +01:00
Gareth Rees
230d7cf721
Avoid warnings from xcode for string literals that exceed the portable limit.
...
Copied from Perforce
Change: 186632
ServerID: perforce.ravenbrook.com
2014-06-14 16:18:50 +01:00
Gareth Rees
aadc2f2da6
Catch-up merge from master sources @186573 to branch/2014-05-28/align.
...
Copied from Perforce
Change: 186631
ServerID: perforce.ravenbrook.com
2014-06-14 16:11:20 +01:00
Gareth Rees
513bc73827
Put the portable part of the vm interface in its own module.
...
Copied from Perforce
Change: 186630
ServerID: perforce.ravenbrook.com
2014-06-14 16:09:06 +01:00
Gareth Rees
864270a6f3
Bring xcode project up to date.
...
Fix signed/unsigned integer comparison warning in Scheme example.
Copied from Perforce
Change: 186629
ServerID: perforce.ravenbrook.com
2014-06-14 16:08:31 +01:00
Gareth Rees
de16f0deeb
There's nothing special about version.c that requires it to be linked separately.
...
Copied from Perforce
Change: 186627
ServerID: perforce.ravenbrook.com
2014-06-14 15:55:21 +01:00
Gareth Rees
22ff6914e2
Macros for vmbase etc.
...
Copied from Perforce
Change: 186626
ServerID: perforce.ravenbrook.com
2014-06-14 15:50:13 +01:00
Gareth Rees
b600b78372
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186625
ServerID: perforce.ravenbrook.com
2014-06-14 15:14:54 +01:00
Gareth Rees
e95af3fb0e
Store the vm descriptor in the vmarena and vmchunk structures.
...
Copied from Perforce
Change: 186624
ServerID: perforce.ravenbrook.com
2014-06-14 15:12:26 +01:00
Gareth Rees
2f156547b0
Fix compilation on "ansi" platform.
...
Copied from Perforce
Change: 186623
ServerID: perforce.ravenbrook.com
2014-06-14 15:11:01 +01:00
Gareth Rees
341617adf0
More modular to assign the primary chunk in arenachunkinsert.
...
Copied from Perforce
Change: 186621
ServerID: perforce.ravenbrook.com
2014-06-14 14:34:10 +01:00
Gareth Rees
d7f438d382
Catch-up merge from branch/2014-05-28/align to branch/2014-06-14/vm.
...
Copied from Perforce
Change: 186620
ServerID: perforce.ravenbrook.com
2014-06-14 13:17:58 +01:00
Gareth Rees
e6cf907567
Add landiterateanddelete method for the cbs land classes.
...
Use this to check that all memory has been returned to the arena in MVFFFinish.
Copied from Perforce
Change: 186616
ServerID: perforce.ravenbrook.com
2014-06-14 12:44:11 +01:00
Gareth Rees
e8672cfed6
Add casts to (void*) for the benefit of gcc.
...
Copied from Perforce
Change: 186614
ServerID: perforce.ravenbrook.com
2014-06-14 12:07:44 +01:00
Gareth Rees
6b2eeb5e19
Fix bug in landtest: block needs to be aligned.
...
Copied from Perforce
Change: 186611
ServerID: perforce.ravenbrook.com
2014-06-14 11:21:57 +01:00
Gareth Rees
dd2986db96
Remove obsolete comment.
...
Copied from Perforce
Change: 186607
ServerID: perforce.ravenbrook.com
2014-06-13 23:56:25 +01:00
Gareth Rees
e40740db1c
Fix defects found by coverity < https://info.ravenbrook.com/mail/2014/06/13/18-12-37/0/ >
...
Copied from Perforce
Change: 186604
ServerID: perforce.ravenbrook.com
2014-06-13 21:45:46 +01:00
Gareth Rees
060cf69bfb
Fix compilation on windows.
...
Copied from Perforce
Change: 186594
ServerID: perforce.ravenbrook.com
2014-06-13 18:18:06 +01:00
Gareth Rees
8d9b6c0884
Improve the diff and make the vm implementations more closely parallel.
...
Copied from Perforce
Change: 186591
ServerID: perforce.ravenbrook.com
2014-06-13 17:59:37 +01:00
Gareth Rees
f39706c2be
Now that we can call vmpagesize without having a vm to hand, the implementation of vmcreate can be simpler: in particular, the grain size can already be correctly rounded up.
...
Copied from Perforce
Change: 186590
ServerID: perforce.ravenbrook.com
2014-06-13 17:39:58 +01:00
Gareth Rees
8c3e5886b4
Vmpagesize now takes no arguments -- this avoids suggesting (incorrectly) that it might return a different value for each vm.
...
New function ProtGranularity returns the protection granularity of the operating system. (On all currently supported operating systems this is the same as the granularity of memory mapping returned by VMPageSuze, but it's important to separate these concepts.) MPMCheck asserts that the granularity of memory mapping is a multiple of the granularity of protection.
Client arena supports MPS_KEY_ARENA_GRAIN_SIZE.
Some of the test cases set the arena grain size.
Copied from Perforce
Change: 186588
ServerID: perforce.ravenbrook.com
2014-06-13 17:19:23 +01:00
David Lovemore
3b97cae580
Catch up merge from master/...@186577
...
Copied from Perforce
Change: 186582
ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
8acd14d9dd
Configurable grain size for client arenas.
...
Copied from Perforce
Change: 186579
ServerID: perforce.ravenbrook.com
2014-06-13 16:24:55 +01:00
Gareth Rees
1b7de24015
Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
...
Copied from Perforce
Change: 186577
ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Gareth Rees
76b164e48c
Catch-up merge from master sources @186573 to branch/2014-05-28/align.
...
Copied from Perforce
Change: 186574
ServerID: perforce.ravenbrook.com
2014-06-13 15:37:20 +01:00
Gareth Rees
bf97a59af1
Catch-up merge from master sources @186564 to branch/2014-06-11/grain.
...
Copied from Perforce
Change: 186572
ServerID: perforce.ravenbrook.com
2014-06-13 15:30:46 +01:00
Gareth Rees
72c680ccce
User size should be aligned up to the platform alignment (for convenience).
...
Add test cases.
Copied from Perforce
Change: 186571
ServerID: perforce.ravenbrook.com
2014-06-13 15:18:28 +01:00
Gareth Rees
16fa4aa36c
Fix problems identified by rb in review < https://info.ravenbrook.com/mail/2014/06/13/13-52-14/0/ >.
...
Copied from Perforce
Change: 186570
ServerID: perforce.ravenbrook.com
2014-06-13 15:16:02 +01:00
David Lovemore
bd05f7d321
Updated due to gdr's review comments in mail < https://info.ravenbrook.com/mail/2014/06/13/12-46-29/0/ >
...
Copied from Perforce
Change: 186569
ServerID: perforce.ravenbrook.com
2014-06-13 15:09:49 +01:00
Gareth Rees
f577b62a5e
Merge branch/2014-05-17/chunk-tree into the master sources.
...
Copied from Perforce
Change: 186564
ServerID: perforce.ravenbrook.com
2014-06-13 14:31:31 +01:00
Gareth Rees
66f3338574
Catch-up merge from master sources @186554 to branch/2014-05-17/chunk-tree.
...
Copied from Perforce
Change: 186563
ServerID: perforce.ravenbrook.com
2014-06-13 14:25:09 +01:00
Gareth Rees
cd291a5f7a
Merge branch/2014-06-11/grain into branch/2014-05-28/align.
...
Copied from Perforce
Change: 186561
ServerID: perforce.ravenbrook.com
2014-06-13 13:35:14 +01:00
Gareth Rees
a6c1da3a83
Restore the chunk ring.
...
Copied from Perforce
Change: 186558
ServerID: perforce.ravenbrook.com
2014-06-13 12:31:47 +01:00
David Lovemore
be87f69167
Remove requirement that mps_key_extend_by argument to amc is aligned to arena alignment.
...
Copied from Perforce
Change: 186557
ServerID: perforce.ravenbrook.com
2014-06-13 12:19:26 +01:00
Gareth Rees
6d2f4a640a
Avoid local variable "free" shadowing standard c function free().
...
Copied from Perforce
Change: 186554
ServerID: perforce.ravenbrook.com
2014-06-13 11:17:28 +01:00