1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-27 01:01:52 -07:00
Commit graph

66 commits

Author SHA1 Message Date
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
Richard Brooksby
acbc270f66 Adding indirection between mps_word_t and unsigned long that will get more elaborate when we merge the w3i6mv port.
Copied from Perforce
 Change: 177848
 ServerID: perforce.ravenbrook.com
2012-03-29 14:52:45 +01:00
Richard Kistruck
6a7bc18e83 mps br/padding: mps_addr_pool(), mps_addr_fmt() -- new mps functions
mps.h, mpsicv.c: implementation
 mpsicv.c: new addr_pool_test(), to test them
 w3gen.def: export them
 walkt0.c: test them within mps_arena_formatted_objects_walk().  (Also checks against values passed to stepper function, and against what we expect).
 tool/test-runner.py: add walkt0

Copied from Perforce
 Change: 169861
 ServerID: perforce.ravenbrook.com
2010-02-26 16:33:49 +00:00
Richard Kistruck
920390c31a Mps br/timing: rename mps_alert_collection_*. the correct term for when a new mps operation begins is "begin", and when it ends is "end". (whereas several starts/stops may happen during a single mps operation).
Copied from Perforce
 Change: 167386
 ServerID: perforce.ravenbrook.com
2009-02-16 17:11:05 +00:00
Richard Kistruck
cd17a5f411 Mps br/timing: mps_alert_collection_set() -- client sets a callback
function; MPS calls it synchronously on collection start/stop 
(immediately after posting start/stop message).  The callback 
receives two ints: alertcode (start|stop; see mps.h), and whycode 
(trace->why).  Note: callback is also called for heap walk 
start/stop.
amcss.c: show start/stop alerts.

Copied from Perforce
 Change: 166703
 ServerID: perforce.ravenbrook.com
2008-11-12 15:07:04 +00:00
Richard Kistruck
63d30f9160 Mps br/timing: hack in mps_clock_t
(Should go via new Clock type in mpmtypes, mpsi_check(), etc).

Copied from Perforce
 Change: 166591
 ServerID: perforce.ravenbrook.com
2008-10-31 17:14:37 +00:00
Richard Kistruck
49d7318def Mps br/timing: (re-order file contents) arrange message functions
into a consistent order: 
 - internal (MPM) interface -- functions for message originator;
 - delivery (client) interface -- functions for recipient;
 - message methods.

Copied from Perforce
 Change: 166589
 ServerID: perforce.ravenbrook.com
2008-10-31 12:23:24 +00:00
Richard Kistruck
cb1a2bf60a Mps br/timing: back out mps.h too: i want to rearrange
message functions into a consistent order first

Copied from Perforce
 Change: 166587
 ServerID: perforce.ravenbrook.com
2008-10-31 11:52:44 +00:00
Richard Kistruck
d1a3bc7f29 Mps br/timing: (broken) snapshot; i want to back these out and rearrange
functions into a consistent order first

Copied from Perforce
 Change: 166585
 ServerID: perforce.ravenbrook.com
2008-10-31 10:10:19 +00:00
Richard Kistruck
ea037aa6de Mps mps.h: (comment-only) clarify that format class a and b are alive and well. it's only the _typename_ "mps_fmt_[ab]_t" that is deprecated, and mps_fmt_[ab]_s* should be used instead. (the old terse "deprecated" mislead me every time i saw it).
Copied from Perforce
 Change: 161253
 ServerID: perforce.ravenbrook.com
2006-12-15 18:11:19 +00:00
Richard Kistruck
6e7b73614b Mps integrate gcgenmsg into master:
- new mps_message_type_gc_start() explains what triggered a collection;
  - design/message: add guide.

Copied from Perforce
 Change: 161204
 ServerID: perforce.ravenbrook.com
2006-12-12 09:56:09 +00:00
David Jones
4ddc4af6d4 Mps: adjusting list of exported functions.
Copied from Perforce
 Change: 134028
 ServerID: perforce.ravenbrook.com
2004-12-16 16:58:49 +00:00
David Jones
cd9c9d8fc7 Mps: adding (null) interface to remember protection state.
Copied from Perforce
 Change: 63867
 ServerID: perforce.ravenbrook.com
2003-11-11 16:22:12 +00:00
David Jones
66ecd911b0 Mps: implementing mps_arena_expose
Copied from Perforce
 Change: 62949
 ServerID: perforce.ravenbrook.com
2003-11-04 12:34:54 +00:00
David Jones
1da7d11307 Mps: added mps_message_type_gc_start()
Copied from Perforce
 Change: 39781
 ServerID: perforce.ravenbrook.com
2003-02-19 16:34:08 +00:00
David Jones
eb7fb7e384 Mps: added (untested) internals for messagetypegcstart
Copied from Perforce
 Change: 39768
 ServerID: perforce.ravenbrook.com
2003-02-19 13:27:16 +00:00
Nick Barnes
ac1d6879d3 Second cut at opportunism.
Copied from Perforce
 Change: 37580
 ServerID: perforce.ravenbrook.com
2003-01-03 14:22:35 +00:00
Nick Barnes
da1ece1504 Add mps_arena_start_collect(): starting an incremental world collection.
Copied from Perforce
 Change: 37576
 ServerID: perforce.ravenbrook.com
2003-01-03 12:58:12 +00:00
Richard Brooksby
667f82dbc4 Changing global graphics copyright notice to say "portions copyright" to avoid confusion.
Copied from Perforce
 Change: 30258
 ServerID: perforce.ravenbrook.com
2002-06-18 16:28:41 +01:00