Gareth Rees
a344ce6284
Guard the calls to mps_io_flush so that it can only be called after mps_io_create.
...
Copied from Perforce
Change: 182322
ServerID: perforce.ravenbrook.com
2013-05-30 15:24:41 +01:00
Gareth Rees
24117edcd8
Assert instead of crashing in mps_arena_destroy when the client has failed to destroy some data structures.
...
Also, don't forget to finish the chainRing.
Copied from Perforce
Change: 182258
ServerID: perforce.ravenbrook.com
2013-05-27 12:58:05 +01:00
Gareth Rees
d4adc57d0c
Mfs now rounds unitsize up to unit_min instead of asserting.
...
Copied from Perforce
Change: 182257
ServerID: perforce.ravenbrook.com
2013-05-27 10:19:35 +01:00
Gareth Rees
8774e59227
Snc requires a format, so it needs a varargs decoder.
...
Copied from Perforce
Change: 182256
ServerID: perforce.ravenbrook.com
2013-05-27 10:14:38 +01:00
Richard Brooksby
8a9d451ff8
Catch-up merge from custom/cet/main to master.
...
Includes installable assertion handler, events in circular memory buffers, LARGEADDRESSAWARE, etc.
Copied from Perforce
Change: 182176
ServerID: perforce.ravenbrook.com
2013-05-24 19:42:46 +01:00
Gareth Rees
82da980c32
Always run all the testcases, noting failures instead of stopping.
...
Copied from Perforce
Change: 182153
ServerID: perforce.ravenbrook.com
2013-05-24 11:25:15 +01:00
Gareth Rees
aab4d37ce5
Ensure that the random seed is not lost in case of failure.
...
Copied from Perforce
Change: 182131
ServerID: perforce.ravenbrook.com
2013-05-23 20:10:36 +01:00
Gareth Rees
a2db9c9770
Amcssth need to be added "all" as well as testcases.
...
Copied from Perforce
Change: 182129
ServerID: perforce.ravenbrook.com
2013-05-23 20:06:45 +01:00
Gareth Rees
61743c36b4
On platform lii6gc, the mps needs a bunch of symbols which are not defined if the -ansi option is given to gcc. these can be enabled by defining features like _gnu_source, but all headers share a common set of features (via <feature.h>) and so all sources in the same compilation unit must turn on the same set of features. make sure this happens by turning on the features in config.h (not mpstd.h).
...
Remove <string.h> from mpsi.h (not needed).
Copied from Perforce
Change: 182124
ServerID: perforce.ravenbrook.com
2013-05-23 19:35:47 +01:00
Gareth Rees
870bea6e2d
Avoid undefined behaviour in ring_elt by using parent (and thus offsetof) instead of deferencing a null pointer. add missing typedef for rememberedsummaryblockstruct. update ring design accordingly.
...
Copied from Perforce
Change: 182084
ServerID: perforce.ravenbrook.com
2013-05-22 16:45:45 +01:00
Richard Brooksby
4b22229ef5
Adding missing check on return value found by xcode analyzer.
...
Copied from Perforce
Change: 182071
ServerID: perforce.ravenbrook.com
2013-05-22 12:29:10 +01:00
Gareth Rees
93f329f7ef
Show the output of the test case that failed. (on linux.)
...
Copied from Perforce
Change: 182044
ServerID: perforce.ravenbrook.com
2013-05-21 17:34:35 +01:00
Gareth Rees
ae5e9a15ca
If a test case fails, show the output of the test case that failed, so that it isn't lost if the test suite is running on a build server such as travis ci. (works on os x.)
...
Copied from Perforce
Change: 182040
ServerID: perforce.ravenbrook.com
2013-05-21 17:25:13 +01:00
Richard Brooksby
9f7a30bfbc
Preventing failure if there is an assertion before event buffers are initialized.
...
Copied from Perforce
Change: 182012
ServerID: perforce.ravenbrook.com
2013-05-20 19:37:59 +01:00
Richard Brooksby
8f4f17e745
Renaming some local variables from "index" to "indx" to avoid shadowing the function "index".
...
Only certain versions of GCC seem to warn about this, but they include 4.6.3 being used by Tracis CI causing this failure <https://travis-ci.org/Ravenbrook/mps-temporary/builds/7322161 >.
Copied from Perforce
Change: 182011
ServerID: perforce.ravenbrook.com
2013-05-20 19:37:18 +01:00
Richard Brooksby
67c9cd6c4f
Gcc 4.7.3 on ubuntu 13 has stricter alias checking. disabling for now.
...
Copied from Perforce
Change: 182001
ServerID: perforce.ravenbrook.com
2013-05-20 16:33:28 +01:00
Richard Brooksby
1f883a6097
Arg.c was never added to comm.gmk, breaking the linux build.
...
Copied from Perforce
Change: 182000
ServerID: perforce.ravenbrook.com
2013-05-20 16:32:24 +01:00
Richard Brooksby
234e6c0226
Removing dependency on standard c library memcpy. oops.
...
Copied from Perforce
Change: 181999
ServerID: perforce.ravenbrook.com
2013-05-20 16:31:34 +01:00
Richard Brooksby
a7d9cfdbfe
Fixing bogus comparison in assertion found by gcc warnings on linux.
...
Copied from Perforce
Change: 181998
ServerID: perforce.ravenbrook.com
2013-05-20 16:30:59 +01:00
Richard Brooksby
60f7df4335
Adjusting the default extend_by of the mv pool to be more sensible and match the other pools, but overriding it in the case of the arena control pool, where the default originated.
...
Copied from Perforce
Change: 181946
ServerID: perforce.ravenbrook.com
2013-05-19 20:01:52 +01:00
Richard Brooksby
690db0f51d
Catch up merge from mps master to keyword arguments development branch.
...
Copied from Perforce
Change: 181890
ServerID: perforce.ravenbrook.com
2013-05-17 14:37:48 +01:00
Richard Brooksby
e8eb1a1462
Fixing the mvff documentation to say that the keyword arguments are optional, and documenting their default values.
...
Attaching the note about some keywords not affecting allocation points to those keywords with a footnote reference.
Fixing the default alignment setting to MVFF pool to MPS_PF_ALIGN.
Copied from Perforce
Change: 181874
ServerID: perforce.ravenbrook.com
2013-05-16 18:12:54 +01:00
Richard Brooksby
2d960f2adc
Correcting the documentation of the restrictions on the keyword arguments to the mvff pool class.
...
Copied from Perforce
Change: 181872
ServerID: perforce.ravenbrook.com
2013-05-16 17:40:14 +01:00
Richard Brooksby
4a37063561
The fragmentation limit argument to the mvt pool class is now passed as a floating point fraction, not a percentage, in the keyword interface.
...
Copied from Perforce
Change: 181862
ServerID: perforce.ravenbrook.com
2013-05-16 13:54:06 +01:00
Gareth Rees
76ed0b8fcb
Use __builtin_readcyclecounter for event_clock if it's available.
...
Copied from Perforce
Change: 181858
ServerID: perforce.ravenbrook.com
2013-05-16 13:37:31 +01:00
Gareth Rees
1697e0ec52
Eventclock has enough entropy on all the platforms we support that we can use it to choose the random number seed.
...
Copied from Perforce
Change: 181855
ServerID: perforce.ravenbrook.com
2013-05-16 13:17:42 +01:00
Richard Brooksby
c46a9623ce
Adding mps_arg_s fields for float and double, to complete the set of basic types.
...
Copied from Perforce
Change: 181853
ServerID: perforce.ravenbrook.com
2013-05-16 13:13:51 +01:00
Richard Brooksby
6d81499f35
Replacing duplicate *trivvarargs methods with a single implementation in args.c.
...
Copied from Perforce
Change: 181851
ServerID: perforce.ravenbrook.com
2013-05-16 13:10:01 +01:00
Richard Brooksby
a2c89c2c40
Making clear the size of the array of args passed to varargs conversion methods.
...
Copied from Perforce
Change: 181845
ServerID: perforce.ravenbrook.com
2013-05-16 03:12:11 +01:00
Richard Brooksby
d28c3acbea
Quietly eliminating varargs to mps_alloc. they were never documented.
...
Copied from Perforce
Change: 181843
ServerID: perforce.ravenbrook.com
2013-05-16 03:07:50 +01:00
Richard Brooksby
1ab2cfe210
Eliminating unnecessary use of varargs in segment split and merge functions.
...
Copied from Perforce
Change: 181842
ServerID: perforce.ravenbrook.com
2013-05-16 03:02:20 +01:00
Gareth Rees
8322d3cc83
Test coverage report on os x.
...
Copied from Perforce
Change: 181822
ServerID: perforce.ravenbrook.com
2013-05-15 19:25:16 +01:00
Gareth Rees
e76d53158f
Make forward declarations of various functions consistent with their actual declarations.
...
Copied from Perforce
Change: 181788
ServerID: perforce.ravenbrook.com
2013-05-15 14:18:28 +01:00
Gareth Rees
9e9c0e3990
Remove mps_arg from mps.h.
...
Use MPS_ARGS_BEGIN etc in the Scheme example and in the manual.
Use MPS_BEGIN and MPS_END instead of BEGIN and END.
The _FIELD macros don't need to be function-like macros.
Restore TODO comments in mps.h.
Scheme example compiles with -std=c89.
Copied from Perforce
Change: 181749
ServerID: perforce.ravenbrook.com
2013-05-13 21:01:38 +01:00
Richard Brooksby
9e4248ad49
Catch-up merge from master sources.
...
Copied from Perforce
Change: 181746
ServerID: perforce.ravenbrook.com
2013-05-13 19:06:08 +01:00
Gareth Rees
162a396899
Rename mps_key_arena_cl_addr to mps_key_arena_cl_base.
...
Copied from Perforce
Change: 181739
ServerID: perforce.ravenbrook.com
2013-05-12 18:12:47 +01:00
Gareth Rees
10c13b2a54
New macro mps_arg and revised macro mps_args_add mean that client programs no longer need to know which keyword argument goes in which field. revise documentation accordingly.
...
Copied from Perforce
Change: 181736
ServerID: perforce.ravenbrook.com
2013-05-12 17:21:03 +01:00
Gareth Rees
025845b4a7
Rename mps_arena_create_args to mps_arena_create_k to match the documentation, and for consistency with mps_pool_create_k and mps_ap_create_k.
...
Copied from Perforce
Change: 181722
ServerID: perforce.ravenbrook.com
2013-05-11 19:17:06 +01:00
Gareth Rees
09ce7184e7
Untabify.
...
Copied from Perforce
Change: 181720
ServerID: perforce.ravenbrook.com
2013-05-11 19:10:56 +01:00
Gareth Rees
6d66c398b6
Fix typo: "parmeters" for "parameters".
...
Copied from Perforce
Change: 181719
ServerID: perforce.ravenbrook.com
2013-05-11 19:10:14 +01:00
Richard Brooksby
847614be04
Converting design.mps.config to restructuredtext. rewriting, correcting, clarifying, and generally bringing it up-to-date.
...
Removing misplaced obsolete design text from mpstd.h.
Tidying up the format of a couple of other docs.
Copied from Perforce
Change: 181717
ServerID: perforce.ravenbrook.com
2013-05-11 17:53:40 +01:00
Richard Brooksby
e5c5652fca
Adding leader comment to .p4ignore files and setting keyword expansion.
...
Copied from Perforce
Change: 181684
ServerID: perforce.ravenbrook.com
2013-05-10 03:52:36 +01:00
Richard Brooksby
820390a662
Fixing up .p4ignore files to ignore .p4configs and visual studio build results.
...
Copied from Perforce
Change: 181683
ServerID: perforce.ravenbrook.com
2013-05-10 03:48:40 +01:00
Richard Brooksby
a9ed62e39a
Converting varags on buffer and ap creation into keyword argument lists.
...
Copied from Perforce
Change: 181680
ServerID: perforce.ravenbrook.com
2013-05-09 18:25:53 +01:00
Richard Brooksby
8b430778b6
Replacing varargs passed to seginit with keyword argument list.
...
Copied from Perforce
Change: 181679
ServerID: perforce.ravenbrook.com
2013-05-09 17:34:01 +01:00
Richard Brooksby
b4e1f173db
Changing required keyword arguments to cause an assertion rather than return a status code, and removing repetition in how this is expressed.
...
Copied from Perforce
Change: 181674
ServerID: perforce.ravenbrook.com
2013-05-09 15:15:40 +01:00
Richard Brooksby
1c14b64665
Adding arg to windows makefiles. adding trivial params implementation to vman.c.
...
Copied from Perforce
Change: 181672
ServerID: perforce.ravenbrook.com
2013-05-09 15:00:30 +01:00
Richard Brooksby
09dba7b95a
Converting a fixme to a todo because it's a longer term change.
...
Copied from Perforce
Change: 181670
ServerID: perforce.ravenbrook.com
2013-05-09 14:58:32 +01:00
Richard Brooksby
85a0aee8a9
Moving mps_key_vmw3_top_down definition to arena.c so that it's present on all platforms.
...
Copied from Perforce
Change: 181669
ServerID: perforce.ravenbrook.com
2013-05-09 14:57:38 +01:00
Richard Brooksby
b18ec007a9
Adding macros to make keyword argument list formation more convenient and robust.
...
Copied from Perforce
Change: 181666
ServerID: perforce.ravenbrook.com
2013-05-09 14:04:23 +01:00