Gareth Rees
4cb51f1bd3
Fix typo.
...
Copied from Perforce
Change: 186230
ServerID: perforce.ravenbrook.com
2014-05-21 12:14:29 +01:00
Gareth Rees
32cd7e343b
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
3a627e6bbb
The mps_args_add_field and mps_args_done now check that the number of arguments is in bounds.
...
Copied from Perforce
Change: 185938
ServerID: perforce.ravenbrook.com
2014-05-02 11:34:38 +01:00
Gareth Rees
fc7bdbd4dd
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
Richard Brooksby
098eb9e6d7
Catch-up merge from master.
...
Copied from Perforce
Change: 184732
ServerID: perforce.ravenbrook.com
2014-03-11 16:30:47 +00:00
Richard Brooksby
eb75944742
Adding a keyword to the arena to disable zoned allocation.
...
Copied from Perforce
Change: 184599
ServerID: perforce.ravenbrook.com
2014-02-28 13:20:06 +00:00
Gareth Rees
9980d54001
Fix the aver: need two slots in the array, not just one.
...
Copied from Perforce
Change: 184545
ServerID: perforce.ravenbrook.com
2014-02-26 12:51:30 +00:00
Gareth Rees
32d10cd02a
Make mps_args_done obsolete.
...
Copied from Perforce
Change: 184543
ServerID: perforce.ravenbrook.com
2014-02-26 12:47:27 +00:00
Richard Brooksby
6e46485dce
Catch-up merge from master, mainly to pick up gcbench fixes.
...
Copied from Perforce
Change: 184504
ServerID: perforce.ravenbrook.com
2014-02-25 01:29:12 +00:00
Richard Brooksby
ba1a4f78cb
Declaring result codes using a relational macro, so that tests can print more meaningful output, and to eliminate redundant code.
...
Copied from Perforce
Change: 184382
ServerID: perforce.ravenbrook.com
2014-02-19 11:55:43 +00:00
Richard Brooksby
46e7234676
Added a pool argument to cbs creation so that cbss can share a pool. in particular, per-zone allocation cbss for the arena can share a single special block pool.
...
Copied from Perforce
Change: 184469
ServerID: perforce.ravenbrook.com
2014-02-18 13:53:56 +00:00
Richard Brooksby
cd840766ca
Adding mps_key_gen generation keyword to pools that take a chain (except amc), so that you can specify which generation to allocate in by default. this allows some flexibility when the client can predict the lifetimes of objects.
...
The AWL and LO pools allocate into generation 1 of the arena default chain if neither MPS_KEY_CHAIN or MPS_KEY_GEN is specified, simulating the default setup before the chain-zones branch.
Copied from Perforce
Change: 184231
ServerID: perforce.ravenbrook.com
2014-01-30 14:27:09 +00: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
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
09d0dfc481
Document the intention behind mps_ld_isstale rather than the implementation: it captures the intention of testing whether a particular dependency is stale (even though the implementation in fact tests whether any dependency is stale). add new function mps_ls_isstale_any for expressing the intention of testing whether any dependencey is stale. the two functions have the same implementation at present, but the separation gives us the freedom to return a more precise result from mps_ld_isstale in future.
...
Copied from Perforce
Change: 182816
ServerID: perforce.ravenbrook.com
2013-06-20 16:25:08 +01:00
Richard Brooksby
f9724af3e0
Catch-up merge from custom/cet/main to master, to pick up arena extension callbacks.
...
Copied from Perforce
Change: 182701
ServerID: perforce.ravenbrook.com
2013-06-12 15:33:49 +01:00
Richard Brooksby
ac1e57c0ac
Merging branch/2013-05-17/emergency with major rework of mvt, mvff, and cbs.
...
Some parts of this are still ragged, and would not normally pass review, but this is a massive improvement to the existing code.
Copied from Perforce
Change: 182614
ServerID: perforce.ravenbrook.com
2013-06-08 10:57:57 +01:00
Gareth Rees
fa63d63b23
New public function mps_fmt_create_k creates an object format using the keyword argument interface.
...
Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed).
Copied from Perforce
Change: 182277
ServerID: perforce.ravenbrook.com
2013-05-28 16:10:08 +01:00
Gareth Rees
46ca22c648
Fix review comments from rb in < https://info.ravenbrook.com/mail/2013/05/23/18-17-17/0/ >
...
Copied from Perforce
Change: 182149
ServerID: perforce.ravenbrook.com
2013-05-24 00:48:19 +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
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
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
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
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
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
Richard Brooksby
82cf26a55d
Consolidating common pool keywords.
...
Copied from Perforce
Change: 181649
ServerID: perforce.ravenbrook.com
2013-05-09 00:06:07 +01:00
Richard Brooksby
3ab047467f
Macroizing keyword definitions and adding more keyword argument checking methods.
...
Copied from Perforce
Change: 181647
ServerID: perforce.ravenbrook.com
2013-05-08 23:40:40 +01:00
Richard Brooksby
e67939cabb
Pushing varargs decoding into a pool class method. much simpler.
...
Copied from Perforce
Change: 181642
ServerID: perforce.ravenbrook.com
2013-05-08 22:43:51 +01:00
Richard Brooksby
fcef8c8a63
Eliminating mps_key_varargs and instead decoding deprecated varargs in one place in mpsi.c, so that each pool or other class doesn't have to deal with them.
...
Copied from Perforce
Change: 181638
ServerID: perforce.ravenbrook.com
2013-05-08 17:24:11 +01:00
Richard Brooksby
a8afd8e6f4
Converting pools to use keyword arguments, mostly, and so far inconsistently, but at least it compiles.
...
Copied from Perforce
Change: 181635
ServerID: perforce.ravenbrook.com
2013-05-08 16:21:12 +01:00
Richard Brooksby
098bf44a5e
First draft of keyword arguments. mainly checking in in order to try working with git fusion on this branch.
...
Copied from Perforce
Change: 181538
ServerID: perforce.ravenbrook.com
2013-05-02 17:55:07 +01:00
Gareth Rees
8d6d8e7023
Remove "mps_alert_collection_set" from public interface and remove its implementation and test case. client programs should use the messages interface to find out what the mps is doing.
...
Copied from Perforce
Change: 181119
ServerID: perforce.ravenbrook.com
2013-03-12 14:33:27 +00:00
Gareth Rees
5500febc0d
Follow policy of not defining symbols from mpstd.h in the external interface, by removing the definition of mps_t_word from mps.h.
...
Copied from Perforce
Change: 181096
ServerID: perforce.ravenbrook.com
2013-03-08 14:03:10 +00:00
Gareth Rees
c602081e0a
Private symbols _mps_sac_s and _mps_sac_freelist_block_s now start with underscores, as per external interface policy.
...
Copied from Perforce
Change: 181092
ServerID: perforce.ravenbrook.com
2013-03-08 12:10:44 +00:00
Gareth Rees
bfb81e3e9c
New type mps_label_t for telemetry labels.
...
Deprecate "candy machine" interface to telemetry control.
Implement and document straightforward get/set/reset interface.
Put a TODO referencing job003387 and job003388.
Copied from Perforce
Change: 180495
ServerID: perforce.ravenbrook.com
2012-11-16 16:42:41 +00:00
Gareth Rees
2c221f5bcf
Integrate nb's clock changes. mps_clock_t now an alias for mps_word_t.
...
Copied from Perforce
Change: 180153
ServerID: perforce.ravenbrook.com
2012-10-30 11:12:38 +00:00
Nick Barnes
292d0108a5
change mps_clock_t to word.
...
Copied from Perforce
Change: 180151
ServerID: perforce.ravenbrook.com
2012-10-30 08:43:39 +00:00
Gareth Rees
ad69180746
Mps_shift_t is not used in the external interface, so following discussion with rb, remove it.
...
Copied from Perforce
Change: 179944
ServerID: perforce.ravenbrook.com
2012-10-18 16:23:59 +01:00
Richard Brooksby
9f3c6c49bb
Further elimination of type puns that violate the strict aliasing rule. this change eliminates puns on the format methods.
...
Copied from Perforce
Change: 179452
ServerID: perforce.ravenbrook.com
2012-09-12 19:45:27 +01:00
Richard Brooksby
1a103e0a5a
Further reduction of interface puns that violate the strict aliasing rule, this time in thread function types and the corresponding threadstruct.
...
Copied from Perforce
Change: 179451
ServerID: perforce.ravenbrook.com
2012-09-12 19:32:37 +01:00
Richard Brooksby
c2cd61b47c
Cleaning up obsolete references to mps_space_t.
...
Copied from Perforce
Change: 179446
ServerID: perforce.ravenbrook.com
2012-09-12 18:26:06 +01:00
Richard Brooksby
c88a95c2b9
Removing enternal/external type puns from segregated allocation caches.
...
Copied from Perforce
Change: 179383
ServerID: perforce.ravenbrook.com
2012-09-10 11:12:28 +01:00
Richard Brooksby
f748ad2b28
Eliminating type puns on scan states, location dependencies, and allocation points through the mps interface.
...
Now that we're recommending inlining with client code and optimising with -O2 or -O3, we can't afford any bug introduced by the strict aliasing rule.
Copied from Perforce
Change: 179322
ServerID: perforce.ravenbrook.com
2012-09-07 12:58:57 +01:00
Richard Brooksby
4c51d72b56
Partial merge of branch/2012-07-23/cet-transform, excluding cet-specific parts.
...
Copied from Perforce
Change: 179309
ServerID: perforce.ravenbrook.com
2012-09-06 17:17:18 +01:00
Richard Brooksby
0070b005a1
Removing product-specific configuration, including dylan- and scriptworks-specific targets and config_prod configurations. we should support any necessary requirements generically.
...
It's now possible to write "cc -c mps.c" and get a sensible result.
Copied from Perforce
Change: 179169
ServerID: perforce.ravenbrook.com
2012-09-02 10:39:42 +01:00
Richard Brooksby
0c75606e30
Fixing a "1ul" constant to "(mps_word_t)1" since 1ul isn't 64-bits wide on windows 64.
...
Copied from Perforce
Change: 178080
ServerID: perforce.ravenbrook.com
2012-05-01 17:24:01 +01:00
Richard Brooksby
bdf3d768e2
Adding minimal platform detection to determine mps_t_word in mps external interface.
...
Copied from Perforce
Change: 178076
ServerID: perforce.ravenbrook.com
2012-05-01 17:04:27 +01:00