1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
Commit graph

1831 commits

Author SHA1 Message Date
Gareth Rees
27ef3e0e9e 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
916a40c8f2 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
3aba0f32d9 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
d7a8949891 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
5107ea0a53 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
65243ddfdf 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
bcbaa67af9 Macros for vmbase etc.
Copied from Perforce
 Change: 186626
 ServerID: perforce.ravenbrook.com
2014-06-14 15:50:13 +01:00
Gareth Rees
0eb6c63a05 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
b1b8c84c0a 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
0447fc9337 Fix compilation on "ansi" platform.
Copied from Perforce
 Change: 186623
 ServerID: perforce.ravenbrook.com
2014-06-14 15:11:01 +01:00
Gareth Rees
33b3eec69d 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
f6fa1811ac 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
5268331bdd 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
2018a0e2f8 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
fb8a86c973 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
3a2f360df7 Remove obsolete comment.
Copied from Perforce
 Change: 186607
 ServerID: perforce.ravenbrook.com
2014-06-13 23:56:25 +01:00
Gareth Rees
cdee105f58 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
1f8345de6d Fix compilation on windows.
Copied from Perforce
 Change: 186594
 ServerID: perforce.ravenbrook.com
2014-06-13 18:18:06 +01:00
Gareth Rees
c975f64296 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
831f551eec 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
88c85abc0e 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
392e6a056a 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
8ecf6264f4 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
8b012960dc 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
a7c6cd3600 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
a13a1aa1df 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
c02416850b 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
0f5c639e59 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
adbb265043 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
e2f9ead969 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
0379d5bf52 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
1dd8a0fa26 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
100405cac2 Restore the chunk ring.
Copied from Perforce
 Change: 186558
 ServerID: perforce.ravenbrook.com
2014-06-13 12:31:47 +01:00
David Lovemore
4731440031 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
4dcd8cacaa 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
Gareth Rees
8c9de5f775 New function arenachunktreetraverse ensures that calls to chunkofaddr are reliably detected.
Copied from Perforce
 Change: 186550
 ServerID: perforce.ravenbrook.com
2014-06-12 20:28:50 +01:00
Gareth Rees
4538221eb1 Remove obsolete macro arenachunkring.
Copied from Perforce
 Change: 186549
 ServerID: perforce.ravenbrook.com
2014-06-12 19:52:43 +01:00
Gareth Rees
b240945cb9 Tract iteration interface is only used by the arena coverage test, so move it out of tract.c and into arenacv.c.
Copied from Perforce
 Change: 186548
 ServerID: perforce.ravenbrook.com
2014-06-12 19:06:10 +01:00
Gareth Rees
1d9afa915f Fix arenadescribetracts:
* Return value from TreeVisitor is Bool, not Res, so pass Res back via a closure.
* Can't use TRACT_TRACT_FOR while iterating over the chunk tree, because that macro uses ChunkOfAddr. (A plain loop is simpler.)
* Mustn't try to describe unallocated tracts -- they might not even be mapped into memory. So consult the allocTable.
Make tract functions more robust:
* TractCheck must only check the pool if there is one (otherwise it segfaults for unallocated tracts)
* TractLimit can't look up the arena via TractPool, because the tract might not have a pool. So pass in the arena as an argument.

Copied from Perforce
 Change: 186547
 ServerID: perforce.ravenbrook.com
2014-06-12 18:46:49 +01:00
Gareth Rees
08f341fcc9 Catch-up merge from master sources @186540 to branch/2014-05-17/chunk-tree.
Copied from Perforce
 Change: 186546
 ServerID: perforce.ravenbrook.com
2014-06-12 17:55:16 +01:00
Gareth Rees
5806105a17 Fix the build on windows.
Copied from Perforce
 Change: 186544
 ServerID: perforce.ravenbrook.com
2014-06-12 17:27:38 +01:00
Gareth Rees
5aba28db8d Rename vmgrainsize to vmpagesize (because it is in fact the operating system page size) and to avoid confusion with the arena grain size.
Copied from Perforce
 Change: 186543
 ServerID: perforce.ravenbrook.com
2014-06-12 17:18:50 +01:00
Gareth Rees
e50888e0c5 Fix problems identified by dl in review <https://info.ravenbrook.com/mail/2014/06/12/15-04-02/0/>.
Copied from Perforce
 Change: 186542
 ServerID: perforce.ravenbrook.com
2014-06-12 17:11:09 +01:00
Gareth Rees
12e55f7b05 Merged branch/2014-05-15/size into the master sources.
Copied from Perforce
 Change: 186540
 ServerID: perforce.ravenbrook.com
2014-06-12 16:51:34 +01:00
Gareth Rees
5e11b7034a Catch-up merge from master sources @186536 to branch/2014-05-15/size.
Copied from Perforce
 Change: 186539
 ServerID: perforce.ravenbrook.com
2014-06-12 16:46:36 +01:00
Gareth Rees
00a5b8e436 Fix problems noted by rb in review <https://info.ravenbrook.com/mail/2014/06/11/15-16-51/0/>.
Copied from Perforce
 Change: 186537
 ServerID: perforce.ravenbrook.com
2014-06-12 16:24:39 +01:00
Gareth Rees
bb917243ac Merge branch/2014-04-15/mvffnoseg into the master sources.
Copied from Perforce
 Change: 186536
 ServerID: perforce.ravenbrook.com
2014-06-12 16:20:20 +01:00
Gareth Rees
9268a0adc8 Catch-up merge from master sources @186528 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186534
 ServerID: perforce.ravenbrook.com
2014-06-12 15:59:39 +01:00
Gareth Rees
36fe212dba Fix problems noted by nb in review <https://info.ravenbrook.com/mail/2014/06/11/20-47-37/0/>
Copied from Perforce
 Change: 186533
 ServerID: perforce.ravenbrook.com
2014-06-12 15:53:55 +01:00
Gareth Rees
15df9bb6de Use xyzpool macros systematically as suggested by nb in <https://info.ravenbrook.com/mail/2014/06/11/20-47-37/0/>
Copied from Perforce
 Change: 186529
 ServerID: perforce.ravenbrook.com
2014-06-12 14:25:00 +01:00