Richard Brooksby
adc7935bb8
Catch-up merge from master to pick up "dj" benchmark.
...
Copied from Perforce
Change: 184110
ServerID: perforce.ravenbrook.com
2014-01-24 15:59:05 +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
Richard Brooksby
33a73ce392
Non-working preferential allocation within a block of the cbs.
...
This doesn't work because the splay tree can't cope with homing in on a node (that appears big enough) then being told that it isn't suitable (because it doesn't have space in the right zone). The splay tree summary condition must be precise, as stated in the design. The splay tree isn't suited to this kind of search.
Copied from Perforce
Change: 184073
ServerID: perforce.ravenbrook.com
2014-01-21 16:29:30 +00:00
Richard Brooksby
6d696d79be
Hacky clean-up of the cbs' mfs tracts so that the arena can shut down successfully.
...
Copied from Perforce
Change: 184072
ServerID: perforce.ravenbrook.com
2014-01-21 16:10:16 +00:00
Richard Brooksby
23d1a5423c
First draft of freeing into the arena's freecbs.
...
Copied from Perforce
Change: 184052
ServerID: perforce.ravenbrook.com
2014-01-18 18:24:07 +00:00
Richard Brooksby
3c52c769a1
Making the reservoir use arenaalloc and arenafree like a good citizen, rather than bypassing them, so that it correctly gets memory from the freecbs.
...
Copied from Perforce
Change: 184051
ServerID: perforce.ravenbrook.com
2014-01-18 17:45:56 +00:00
Richard Brooksby
cf8738fd9f
First draft of allocating using the freecbs. arenaalloc finds a free address range in the cbs and asks the arena class to mark it allocated, rather than the arena class doing the search. plenty still missing. no freeing.
...
Copied from Perforce
Change: 184050
ServerID: perforce.ravenbrook.com
2014-01-18 17:16:10 +00:00
Richard Brooksby
7b54fc9926
Creating and tearing down the arena freecbs that will hold free address ranges.
...
Copied from Perforce
Change: 184049
ServerID: perforce.ravenbrook.com
2014-01-18 16:25:08 +00:00
Richard Brooksby
d80284de46
Part of changelist 184047. oops.
...
Copied from Perforce
Change: 184048
ServerID: perforce.ravenbrook.com
2014-01-18 15:46:18 +00:00
Richard Brooksby
36245a938f
Poolmfs can take a zero extendby so that it never extends itself, and have memory added using mfsextend. this allows the mfs pool to be used to store blocks for the arena's cbs before the tract allocator exists.
...
Copied from Perforce
Change: 184047
ServerID: perforce.ravenbrook.com
2014-01-18 15:45:22 +00:00
Richard Brooksby
ad0d2c99df
Adding a free address space cbs to the arena, initialising and finishing it, but not using it yet.
...
Moved CBSStruct to mpmst.h so that it can be included inline in ArenaStruct without circularity problems.
Copied from Perforce
Change: 184044
ServerID: perforce.ravenbrook.com
2014-01-17 16:15:13 +00:00
Richard Brooksby
454ad555c3
Inlining the mfs block pool's structure into its parent mfs, to avoid allocating in the control pool when initialising a cbs. this will allow the cbs to be used before the control pool exists.
...
Copied from Perforce
Change: 184043
ServerID: perforce.ravenbrook.com
2014-01-17 15:48:12 +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
Gareth Rees
dfe11f4734
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
e5b2ee54cd
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
335edef764
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