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

164 commits

Author SHA1 Message Date
Richard Brooksby
c015827c36 Catch-up merge from master sources.
Copied from Perforce
 Change: 189265
 ServerID: perforce.ravenbrook.com
2016-02-17 11:04:51 +00:00
Gareth Rees
b43a56f9b5 Move arenadefaultzoneset to be adjacent to its todo.
Add comments for ArenaDefaultZONESET and LocusPrefDEFAULT.

Copied from Perforce
 Change: 188237
 ServerID: perforce.ravenbrook.com
2015-09-04 15:24:14 +01:00
Gareth Rees
d506458eea New function policycollectiontime estimates the time needed to collect the arena. mysterious constants are given names and moved to config.h.
Copied from Perforce
 Change: 188160
 ServerID: perforce.ravenbrook.com
2015-08-21 15:27:14 +01:00
Gareth Rees
703c1ee5f5 New function mps_arena_configure provides keyword argument interface to changing the properties of an arena.
New keyword arguments MPS_KEY_ARENA_COMMIT_LIMIT and MPS_KEY_SPARE_ARENA_COMMIT_LIMIT can be passed to mps_arena_create_k or mps_arena_configure.
Deprecate mps_arena_commit_limit_set and mps_arena_spare_commit_limit_set.

Copied from Perforce
 Change: 188085
 ServerID: perforce.ravenbrook.com
2015-08-06 17:02:51 +01:00
Gareth Rees
a960f642f1 Analysis justifying the value of stackprobedepth.
Copied from Perforce
 Change: 187380
 ServerID: perforce.ravenbrook.com
2014-10-24 10:16:28 +01:00
Gareth Rees
655e78f3be Bring ring design up to date (excepting figures).
Add links from design documents to mail messages imported from Harlequin.

Copied from Perforce
 Change: 187067
 ServerID: perforce.ravenbrook.com
2014-09-27 16:11:21 +01:00
Gareth Rees
7c2e271e60 Rename segpref to locuspref -- this structure describes preferences for the placement of any kind of address, not just segments.
Add LocusPrefDescribe and use it in MVFFDescribe.

Copied from Perforce
 Change: 187061
 ServerID: perforce.ravenbrook.com
2014-09-27 11:27:00 +01:00
David Lovemore
6abe840d06 set control_extend_by to 32768.
The CONTROL_EXTEND_BY value for the extend by on the control pool was set really small (4096) on the assumption that the control pool was not heavily used. However, since we allocate Seg's in the control pool and recycle them frequently, this assumption is no longer true.

Copied from Perforce
 Change: 186832
 ServerID: perforce.ravenbrook.com
2014-07-04 15:27:48 +01:00
Gareth Rees
37a15e8f3e Don't repeat generation sizes in the comments (they could get out of sync).
Copied from Perforce
 Change: 186827
 ServerID: perforce.ravenbrook.com
2014-07-04 13:58:34 +01:00
David Lovemore
358a3c5fc6 Adjust generation sizes for the default chain.
Add release note recommending retuning of generation sizes.

Copied from Perforce
 Change: 186824
 ServerID: perforce.ravenbrook.com
2014-07-04 13:32:45 +01:00
Gareth Rees
9d1cec7942 Ensure that the amcss test case uses a wide range of arena grain sizes (by scaling up the whole allocation).
Remove hack from rnd_grain -- this was covering up a bug.
Base the AMC "large" segment determination on the requested object size, not the (rounded up) segment size.
Assert in the case where largeSize < extendBy: this has bad space performance.

Copied from Perforce
 Change: 186755
 ServerID: perforce.ravenbrook.com
2014-06-30 16:07:09 +01:00
Gareth Rees
414719db23 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
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
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
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
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
a74d906fc5 Need a definition of vman_grain_size.
Copied from Perforce
 Change: 186509
 ServerID: perforce.ravenbrook.com
2014-06-11 17:39:57 +01:00
Gareth Rees
bfb0b771dd Rename "arena alignment" to "arena grain size" to avoid confusion with ordinary structure alignment.
Copied from Perforce
 Change: 186503
 ServerID: perforce.ravenbrook.com
2014-06-11 17:13:03 +01:00
Gareth Rees
a08139899f Catch-up merge from master sources @186481 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186484
 ServerID: perforce.ravenbrook.com
2014-06-11 12:42:58 +01:00
David Lovemore
84ddecde2f Amc now respects mps_key_extend_by keyword argument.
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.

Copied from Perforce
 Change: 186480
 ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
317cad785d Catch-up merge from master sources @186436 to branch/2014-04-08/align.
Copied from Perforce
 Change: 186439
 ServerID: perforce.ravenbrook.com
2014-06-08 16:30:53 +01:00
Gareth Rees
3704522c58 Catch-up merge from master sources @186352 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186355
 ServerID: perforce.ravenbrook.com
2014-05-29 16:03:34 +01:00
Gareth Rees
13ba0ef139 Add comment explaining purpose of attribute_unused.
Copied from Perforce
 Change: 186335
 ServerID: perforce.ravenbrook.com
2014-05-28 17:24:46 +01:00
Gareth Rees
383d510d31 In light of performance findings, boost the default arena size to 256 mb. add a -m option to djbench so that we can test the effect of setting the initial arena size on the manual pool classes.
Copied from Perforce
 Change: 186224
 ServerID: perforce.ravenbrook.com
2014-05-20 23:25:03 +01:00
Gareth Rees
7cd4759316 Catch-up merge from branch/2014-03-30/addrset to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186082
 ServerID: perforce.ravenbrook.com
2014-05-13 16:27:17 +01:00
Gareth Rees
f4a4f1e250 Merge branch/2014-02-23/mvff-tune into branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186079
 ServerID: perforce.ravenbrook.com
2014-05-13 16:10: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
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
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
ef779449b4 Default value for mps_key_ams_support_ambiguous is now the safer value true.
Copied from Perforce
 Change: 185927
 ServerID: perforce.ravenbrook.com
2014-05-01 18:02:53 +01:00
Gareth Rees
7620c6fcd1 Fix rash build on os x by adding the unused attribute to functions declared static that are not called in the rash variety.
Copied from Perforce
 Change: 185915
 ServerID: perforce.ravenbrook.com
2014-05-01 12:18:00 +01:00
Gareth Rees
2f4d1c8cd4 Catch-up merge from master sources to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 185907
 ServerID: perforce.ravenbrook.com
2014-04-30 16:51:30 +01:00
Gareth Rees
f5212b5129 Update comment to match design.
Copied from Perforce
 Change: 185902
 ServerID: perforce.ravenbrook.com
2014-04-30 16:30:01 +01:00
Gareth Rees
7754224b53 No need for prod_checklevel_initial (was unused).
Copied from Perforce
 Change: 185876
 ServerID: perforce.ravenbrook.com
2014-04-30 11:08:23 +01:00
Gareth Rees
63b095ce4d Oops: sense of test was wrong way round.
Copied from Perforce
 Change: 185581
 ServerID: perforce.ravenbrook.com
2014-04-16 10:55:39 +01:00
Gareth Rees
b512c97d84 Use x and x_none for x ∈ {lock, plinth, remembered_set, shield} to match the other settings (aver_and_check, event, statistics).
Copied from Perforce
 Change: 185580
 ServerID: perforce.ravenbrook.com
2014-04-16 10:48:21 +01:00
Gareth Rees
2ef0e22c55 Default value for mps_key_arena_size makes it easier to create arenas.
Copied from Perforce
 Change: 185472
 ServerID: perforce.ravenbrook.com
2014-04-11 21:15:09 +01:00
Gareth Rees
3a36920e40 Fix the build for gcc on os x: gcc warns about the missing return in protcatchthread, but we don't want to add one because that would be unreachable code. so use __attribute__((__noreturn__)) instead.
Copied from Perforce
 Change: 185461
 ServerID: perforce.ravenbrook.com
2014-04-11 12:42:26 +01:00
Gareth Rees
4c9426514c Alignment is now configurable for mv pools using mps_key_align.
MVFF and MVT support alignments down to FreelistMinimumAlignment.
For MVFF and MVT, alignments that are too small are rounded up automatically, to make it easier to write portable programs.

Copied from Perforce
 Change: 185369
 ServerID: perforce.ravenbrook.com
2014-04-08 21:32:19 +01:00
Gareth Rees
a76ab7ce6b Catch-up merge from master sources to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 185305
 ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
84cd92ab89 Improve clarity of product configuration so that names more explicitly indicate what they do:
* CONFIG_POLL_NONE (because the user-visible consequence is that polling is no longer supported; was CONFIG_PROTECTION_NONE).
* DISABLE_LOCKS (was THREAD_SINGLE).
* DISABLE_SHIELD (was THREAD_SINGLE && PROTECTION_NONE)
* DISABLE_REMEMBERED_SET (was PROTECTION_NONE)
When the shield is disabled, ArenaLeave asserts that there are no busy traces, and ArenaPoll is a no-op.
By having functions implemented using the corresponding macro, we can avoid duplicated code, and avoid testing DISABLE_SHIELD in global.c.
Remove all remaining references to MPS_PROD_EPCORE.

Copied from Perforce
 Change: 185176
 ServerID: perforce.ravenbrook.com
2014-04-02 15:48:57 +01:00
Gareth Rees
1fc2bbe52b Fixed dl's review comments <https://info.ravenbrook.com/mail/2014/04/01/13-28-17/0/>.
Copied from Perforce
 Change: 185127
 ServerID: perforce.ravenbrook.com
2014-04-01 17:02:00 +01:00
Gareth Rees
9a523d0ccb Fix compilation on lii6gc:
* Don't test __has_feature unless we know we are on MPS_BUILD_LL.
* Fix type-punned pointer aliasing in expt825.c.

Copied from Perforce
 Change: 185104
 ServerID: perforce.ravenbrook.com
2014-03-31 13:01:40 +01:00
Gareth Rees
b2ec897e6b Support the clang address sanitizer.
Copied from Perforce
 Change: 185096
 ServerID: perforce.ravenbrook.com
2014-03-30 18:51:53 +01:00
Gareth Rees
d934afafc5 Catch-up merge from master sources to branch/2014-03-21/pellesc.
Copied from Perforce
 Change: 185074
 ServerID: perforce.ravenbrook.com
2014-03-28 13:54:30 +00:00
Gareth Rees
68edf84c3b Remove #pragma warning(disable: ...) for microsoft visual c/c++ warnings that are no longer generated by the code, so that we get the maximum checking from this compiler.
Copied from Perforce
 Change: 185072
 ServerID: perforce.ravenbrook.com
2014-03-28 13:09:14 +00:00
Gareth Rees
a683ecf9f3 Add and document new configuration options config_thread_single and config_protection_none.
Copied from Perforce
 Change: 185037
 ServerID: perforce.ravenbrook.com
2014-03-26 23:19:04 +00:00
Gareth Rees
bfc3de38fa Symbols starting config_ must be confined to config.h (see design.mps.config.impl.dep).
Copied from Perforce
 Change: 185027
 ServerID: perforce.ravenbrook.com
2014-03-26 16:25:14 +00:00
Gareth Rees
fe68bfac83 Avoid expanding __file__ in aver in pelles c -- the compiler somehow loses its definition for __file__ in deeply nested macro expansions.
Copied from Perforce
 Change: 185025
 ServerID: perforce.ravenbrook.com
2014-03-26 13:44:02 +00:00