1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 08:41:47 -07:00
Commit graph

1163 commits

Author SHA1 Message Date
Richard Brooksby
89acdbe044 The ams pool no longer requires a chain argument, but defaults to the arena default chain.
Chains passed to the AMS pool are no longer required to contain a single generation, though the AMS will only use the first generation by default.

Copied from Perforce
 Change: 184229
 ServerID: perforce.ravenbrook.com
2014-01-30 13:21:45 +00:00
Richard Brooksby
870c36adca Converting ams stress test to use keyword arguments.
Copied from Perforce
 Change: 184228
 ServerID: perforce.ravenbrook.com
2014-01-30 13:18:35 +00:00
Richard Brooksby
e0c8a8f1c0 The chain parameter to amc is now optional, defaulting to the arena’s default chain.
AWL and LO accept a chain parameter, and also default to the arena’s default chain, rather than creating their own dummy chains.

Copied from Perforce
 Change: 184227
 ServerID: perforce.ravenbrook.com
2014-01-30 13:00:46 +00:00
Richard Brooksby
4b865369fc Adding a default chain to the arena. not used anywhere yet.
Copied from Perforce
 Change: 184224
 ServerID: perforce.ravenbrook.com
2014-01-29 18:07:43 +00:00
Richard Brooksby
4a4ba7d343 The awl and lo pools were allocating their segments along with other pool’s generation 1, while accounting sizes into generation 0. in fact, this “generation 1” was really a kind of placement “clump” and the segments really lived in generation 0. however, this confused the new chainalloc because there are no longer any “clumps” maintained by the arena, causing awlut to fail. fixed awl and lo to be truthful about the generation they’re allocating in. placement concerns have been removed.
Copied from Perforce
 Change: 184220
 ServerID: perforce.ravenbrook.com
2014-01-29 17:15:31 +00:00
Richard Brooksby
9cdb3dd03b Bringing strategy design up to date with changes to zone allocation.
Adding design documents to Xcode project for easier editing and source control.

Copied from Perforce
 Change: 184218
 ServerID: perforce.ravenbrook.com
2014-01-29 15:26:04 +00:00
Richard Brooksby
02962f64ca Eliminating dodgy use of *segprefdefault() which could lead to implicit calls to memcpy.
Copied from Perforce
 Change: 184217
 ServerID: perforce.ravenbrook.com
2014-01-29 15:13:22 +00:00
Richard Brooksby
6b4100e1b1 Since the dynamic generation is shared between chains (for some reason) using its unified zone set, rather than keeping a special zone set per chain, which would’ve used up more zones.
Using arena->topGen->mortality for the dynamic generation’s mortality, rather than a global variable.

Copied from Perforce
 Change: 184216
 ServerID: perforce.ravenbrook.com
2014-01-29 13:49:42 +00:00
Richard Brooksby
d8e81ae3c3 Abolishing the redundant generation to zone map in the vm arena, and replacing it with chainalloc, which allocates segments within a generation.
Generations from different chains will no longer share the same zone sets, and will not be collected together.  To get this behaviour, use the same chain, as documented.

Copied from Perforce
 Change: 184213
 ServerID: perforce.ravenbrook.com
2014-01-29 12:54:05 +00:00
Richard Brooksby
9e197b6a79 Fix broken hysteresis in tract mapping. only purge spare pages if it’s possible to free a chunk, rather than speculatively every reclaim. see <https://info.ravenbrook.com/mail/2014/01/25/17-37-52/0/>.
Copied from Perforce
 Change: 184125
 ServerID: perforce.ravenbrook.com
2014-01-25 18:00:51 +00:00
Richard Brooksby
f906187add iterating over segments using the pool and segment rings, rather than scanning the tract table, which may be full of irrelevant tracts, especially when non-gc pools are large. see <https://info.ravenbrook.com/mail/2014/01/25/12-16-09/0/>.
Copied from Perforce
 Change: 184120
 ServerID: perforce.ravenbrook.com
2014-01-25 15:33:10 +00:00
Richard Brooksby
76b66a7083 Adding a rash configuration to xcode builds.
Copied from Perforce
 Change: 184117
 ServerID: perforce.ravenbrook.com
2014-01-25 15:25:52 +00:00
Richard Brooksby
6e8d189002 Ignoring a.out (default output from cc).
Copied from Perforce
 Change: 184116
 ServerID: perforce.ravenbrook.com
2014-01-25 15:24:28 +00:00
Richard Brooksby
728ea5e066 Inclusion order mysteriously prevents profiling under xcode.
Copied from Perforce
 Change: 184111
 ServerID: perforce.ravenbrook.com
2014-01-24 16:00:49 +00:00
Richard Brooksby
8086cc7cad Merging the "dj" benchmark from the benchmarking development branch.
Copied from Perforce
 Change: 184106
 ServerID: perforce.ravenbrook.com
2014-01-24 15:29:28 +00:00
Richard Brooksby
e37946b6f9 Catch-up merge from master.
Copied from Perforce
 Change: 184103
 ServerID: perforce.ravenbrook.com
2014-01-24 14:22:27 +00:00
Gareth Rees
f1c066dab4 Remove obsolete file osxc.h.
Copied from Perforce
 Change: 183954
 ServerID: perforce.ravenbrook.com
2014-01-12 21:57:54 +00:00
Gareth Rees
158e4ea974 Test case libcbt.c is obsolete: mpslibcb mechanism was removed in change 179279.
Copied from Perforce
 Change: 183952
 ServerID: perforce.ravenbrook.com
2014-01-12 21:29:53 +00:00
Gareth Rees
b8f0a9195c Clarify decision to preserve/reclaim in amcreclaimnailed, avoiding ternary operator inside the if condition.
Copied from Perforce
 Change: 183948
 ServerID: perforce.ravenbrook.com
2014-01-12 11:21:21 +00:00
Gareth Rees
75e5c45a53 Remove unused (and unusable) macros arenarootring() and arenatracering().
Copied from Perforce
 Change: 183947
 ServerID: perforce.ravenbrook.com
2014-01-12 11:19:35 +00:00
Gareth Rees
7a2a16aa73 Ignore build products for new platform lii6ll.
Ignore telemetry database mpiso*.sql.

Copied from Perforce
 Change: 183942
 ServerID: perforce.ravenbrook.com
2014-01-11 21:37:19 +00:00
Gareth Rees
e184ad8938 Rename spi3.c to spw3i3mv.c as it is windows- and microsoft- specific.
Copied from Perforce
 Change: 183939
 ServerID: perforce.ravenbrook.com
2014-01-10 20:51:13 +00:00
Gareth Rees
902c10954b Merge branch/2013-05-17/emergency into the master sources.
This change refactors MVTBufferFill and makes related improvements to improve the clarity of the code.

Copied from Perforce
 Change: 183935
 ServerID: perforce.ravenbrook.com
2014-01-10 18:52:08 +00:00
Gareth Rees
ff2ff70345 Change result type of abqpush, abqpop and abqpeek to bool.
Copied from Perforce
 Change: 183934
 ServerID: perforce.ravenbrook.com
2014-01-10 18:44:46 +00:00
Gareth Rees
1049386b6f Make improvements (mostly to comments) based on reviews:
https://info.ravenbrook.com/mail/2014/01/10/15-57-50/0/
https://info.ravenbrook.com/mail/2014/01/10/15-40-47/0/

Copied from Perforce
 Change: 183932
 ServerID: perforce.ravenbrook.com
2014-01-10 18:18:06 +00:00
Gareth Rees
bcfad58d3c Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
Copied from Perforce
 Change: 183926
 ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
ba3aaeb575 Clarify comment above bufferisreset: by "all pointers into the region" it actually means "the base, init, alloc, and limit pointers".
Copied from Perforce
 Change: 183637
 ServerID: perforce.ravenbrook.com
2013-11-04 15:31:58 +00:00
Gareth Rees
e82e3c4a21 Improve documentation of thread- and exception-safety precautions.
Copied from Perforce
 Change: 183635
 ServerID: perforce.ravenbrook.com
2013-11-04 15:14:47 +00:00
Gareth Rees
b45fc17861 Put testsetsize back to its original value of 200, so that randomsizealigned does not invoke undefined behaviour by right-shifting by more than the word width.
Copied from Perforce
 Change: 183617
 ServerID: perforce.ravenbrook.com
2013-10-31 09:39:09 +00:00
Gareth Rees
535f7e6bdc Add comments and assertions to make it clearer how btfindresrange and btfindresrangehigh work. in particular, explain why the possible unsigned integer underflow in btfindresrangehigh is safe.
Copied from Perforce
 Change: 183613
 ServerID: perforce.ravenbrook.com
2013-10-30 15:53:19 +00:00
Gareth Rees
d943faa62b Don't call mvtsegfree from mvtfinish: we don't know whether or not there was any fragmented (unavailable) space in this segment, and so we can't keep the accounting correct. add assertion in mvtsegfree that detects incorrect accounting.
Copied from Perforce
 Change: 183610
 ServerID: perforce.ravenbrook.com
2013-10-30 13:15:09 +00:00
Gareth Rees
c59ff51131 The next release of the mps will be 1.112.0, so update version.c.
Update the version creating procedure: version.c is now the only file containing the release number.

Copied from Perforce
 Change: 183548
 ServerID: perforce.ravenbrook.com
2013-10-10 14:29:31 +01:00
Gareth Rees
5b19a26400 Improve wording of comment.
Copied from Perforce
 Change: 183526
 ServerID: perforce.ravenbrook.com
2013-10-04 11:50:19 +01:00
Gareth Rees
1289bde3ed Fix broken mps_key_pool_debug_options keyword argument.
Copied from Perforce
 Change: 183524
 ServerID: perforce.ravenbrook.com
2013-10-04 11:05:56 +01:00
Gareth Rees
6971ab5691 Document that you can specify mps_key_rank when creating an allocation point on an ams pool. make mps_key_rank default to mps_rank_exact().
Copied from Perforce
 Change: 183515
 ServerID: perforce.ravenbrook.com
2013-10-02 15:44:34 +01:00
Gareth Rees
b5004beb4b Make keyword mps_key_ams_support_ambiguous optional, with default value false. update documentation accordingly.
Copied from Perforce
 Change: 183513
 ServerID: perforce.ravenbrook.com
2013-10-02 15:14:57 +01:00
Gareth Rees
7b16ae5a45 Use macro nonnegative so that we can keep asserting that values are >= 0 without provoking "unsigned comparison >= 0 is always true" warnings from gcc.
Copied from Perforce
 Change: 183505
 ServerID: perforce.ravenbrook.com
2013-10-01 14:27:52 +01:00
Gareth Rees
bb857594bd Merge branch/2013-08-21/lii6ll/... into the master sources, adding new supported platform lii6ll (linux, x86-64, clang/llvm).
Copied from Perforce
 Change: 183503
 ServerID: perforce.ravenbrook.com
2013-10-01 14:04:36 +01:00
Gareth Rees
68f5280528 Avoid comparison of unsigned >= 0 so that we can compile without warnings under gcc -wextra.
Copied from Perforce
 Change: 183501
 ServerID: perforce.ravenbrook.com
2013-10-01 11:10:59 +01:00
Gareth Rees
73989d332e Raise an error if variety is something other than rash, hot, or cool.
Copied from Perforce
 Change: 183499
 ServerID: perforce.ravenbrook.com
2013-10-01 10:53:09 +01:00
Gareth Rees
4950182f38 Avoid warnings when compiling with -wwrite-strings:
* Use const char * in places where we want to assign string constants.
Avoid warnings when compiling with -Wextra:
* Avoid if statement with empty body in amcsshe.c
* Avoid comparison of unsigned >= 0.

Copied from Perforce
 Change: 183498
 ServerID: perforce.ravenbrook.com
2013-10-01 10:52:45 +01:00
Gareth Rees
1e97a6a193 Turn on -wextra -wwrite-strings when compiling with gcc or clang.
Add missing initializer to mps_args_none.
Change "char *" to "const char *" where necessary.

Copied from Perforce
 Change: 183494
 ServerID: perforce.ravenbrook.com
2013-09-30 17:18:52 +01:00
Gareth Rees
55ef6fce3c New supported platform lii6ll (linux, x86-64, clang/llvm).
Copied from Perforce
 Change: 183414
 ServerID: perforce.ravenbrook.com
2013-09-11 10:27:22 +01:00
Gareth Rees
98306c0095 Make the mps compilable under clang/llvm 3.0 with the -ansi -pedantic options:
Avoid if with empty body by adding NOOP.
Avoid extended offsetof in expansion of PageOfTract, linkOfMessage, linkOfRing, and Pool2AMST macros.

Copied from Perforce
 Change: 183413
 ServerID: perforce.ravenbrook.com
2013-09-11 10:21:12 +01:00
Gareth Rees
6fcc24771d Don't detect the compiler as gcc when it's actually clang. emit an error instead.
Copied from Perforce
 Change: 183334
 ServerID: perforce.ravenbrook.com
2013-08-20 17:10:36 +01:00
Richard Brooksby
55906e2b58 Fixing up build for test platform xci3gc, broken by os x threads development.
Enabling amcssth and awlutth tests for all platforms, since I believe these were fixed by OS X threads development.

Copied from Perforce
 Change: 183118
 ServerID: perforce.ravenbrook.com
2013-07-17 16:49:31 +01:00
Richard Brooksby
e913eba60e Removing false comment about multiple thread registration, but see job003559.
Copied from Perforce
 Change: 183114
 ServerID: perforce.ravenbrook.com
2013-07-17 14:38:05 +01:00
Gareth Rees
eed91aa94e Fix typo: "ldisstaleany" for "ldisstale".
Copied from Perforce
 Change: 183102
 ServerID: perforce.ravenbrook.com
2013-07-17 10:11:28 +01:00
Gareth Rees
4c14792217 Prot_siginfo_good and prot_signal are no longer needed on os x.
Copied from Perforce
 Change: 183101
 ServerID: perforce.ravenbrook.com
2013-07-17 10:10:57 +01:00
Richard Brooksby
4732a1bca7 Fixing sacss failure introduced in changelist 183045. alignments are unpacked from varargs as promoted to size_t, but mps_pf_align is a naked number literal, and so was passed as int, causing a corrupt alignemnt failure in sacss.
Copied from Perforce
 Change: 183048
 ServerID: perforce.ravenbrook.com
2013-07-15 17:24:55 +01:00