Richard Brooksby
8e4e0f066e
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
f719851f50
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
f1abe0e30f
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
10e9a638e4
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
56d48bbd1d
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
893ac1da13
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
a788a9efdd
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
f91a987e32
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
8ef0ecb155
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
199ef9ca11
Catch-up merge from master.
...
Copied from Perforce
Change: 184103
ServerID: perforce.ravenbrook.com
2014-01-24 14:22:27 +00:00
Gareth Rees
1ccc6908a6
Remove obsolete file osxc.h.
...
Copied from Perforce
Change: 183954
ServerID: perforce.ravenbrook.com
2014-01-12 21:57:54 +00:00
Gareth Rees
f6160d9720
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
997f5a914e
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
5ddfd0dbcd
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
f316e646b3
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
3afb84b7b5
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
d917eb1d0c
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
c5bce746b1
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
b14f5a51d7
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
ea9df0b2b7
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
2044d82a77
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
73fa242bb1
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
ba0e8c1b8b
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
8f9423a8c3
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
b87ce7680f
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
73350475ed
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
5824d8a73f
Improve wording of comment.
...
Copied from Perforce
Change: 183526
ServerID: perforce.ravenbrook.com
2013-10-04 11:50:19 +01:00
Gareth Rees
d2c28e7deb
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
e522a0b273
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
692489dd2b
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
fab773659d
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
544a160559
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
51a97f1c37
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
af06b04a77
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
949578bac4
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
a3c7ed0cab
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
b59ba75674
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
1d39ec5b87
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
7bc31bced8
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
35dd801372
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
086ad82475
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
7bfa2a3cac
Fix typo: "ldisstaleany" for "ldisstale".
...
Copied from Perforce
Change: 183102
ServerID: perforce.ravenbrook.com
2013-07-17 10:11:28 +01:00
Gareth Rees
91c2d03744
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
c012d80766
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
Gareth Rees
6cedb9d2dc
Correct pass_count to fail_count in testrun.bat.
...
locbwcss shouldn't fail if there are non-contiguous allocations. Those are perfectly legitimate (MVFF uses CBS, which needs to allocate nodes in its splay tree).
Copied from Perforce
Change: 183047
ServerID: perforce.ravenbrook.com
2013-07-15 17:09:39 +01:00
Gareth Rees
f58f428605
Three test cases assumed that mps_pf_align is always equal to sizeof(void *), but this isn't true on platform w3i3mv where sizeof(void *) is 4 and mps_pf_align is 8. remove the assumption from these test cases.
...
Copied from Perforce
Change: 183045
ServerID: perforce.ravenbrook.com
2013-07-15 16:54:10 +01:00
Gareth Rees
0a7c50fdfa
Avoid calling abort() on windows when running the test suite, so that the test suite doesn't get suspended waiting for someone to press a button.
...
Copied from Perforce
Change: 183041
ServerID: perforce.ravenbrook.com
2013-07-15 15:37:22 +01:00
Richard Brooksby
b873e52ac0
Added note about why we don't check that we're the only exception port before sending a reply.
...
Copied from Perforce
Change: 183006
ServerID: perforce.ravenbrook.com
2013-07-11 16:22:52 +01:00
Richard Brooksby
08c7ce947c
Adding missing #endif caused by merge error. oops.
...
Copied from Perforce
Change: 183004
ServerID: perforce.ravenbrook.com
2013-07-11 16:08:42 +01:00
Richard Brooksby
1cd1480122
Merging branch/2013-06-18/macosx-threads back to master.
...
Copied from Perforce
Change: 183002
ServerID: perforce.ravenbrook.com
2013-07-11 15:55:58 +01:00