1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-25 15:00:45 -08:00
Commit graph

66 commits

Author SHA1 Message Date
Gareth Rees
4c5bca4bd0 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
30ffeaec27 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
8acbc5780b 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
56b78ef7b9 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
cce6ee29c8 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
d0a8ac6e14 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
688b5bf73d 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
af44d1241f 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
c851eaf157 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
80e84d09a5 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
3189ccfc9b Consolidating common pool keywords.
Copied from Perforce
 Change: 181649
 ServerID: perforce.ravenbrook.com
2013-05-09 00:06:07 +01:00
Richard Brooksby
03c7de38b6 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
71b7e4f70a 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
8504a81cf3 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
07f446a450 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
1bc62b27ef 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
db733f3932 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
2dd7d8f599 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
8232da8480 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
0dd9586930 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
fb1601827a 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
271b4f6e0a 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
373f8a9b54 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
513aabb046 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
9248316fb6 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
1518dc1e13 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
1c9b8d7eb3 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
78d5f049f0 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
858e4ac0ac 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
fa0bfed44e 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
280386e6ac 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
9da9a20cb4 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
ac6b3c9aeb 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
e2598917f4 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
0110292e21 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
a563a76204 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
62fb0f32ae 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
f5c3940658 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
859507ba63 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
0c1a9c3dc7 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
451c247ba6 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
7cb185f2b2 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
cb0defd646 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
e3210cc1b4 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
9e1db84c62 Mps: implementing mps_arena_expose
Copied from Perforce
 Change: 62949
 ServerID: perforce.ravenbrook.com
2003-11-04 12:34:54 +00:00
David Jones
091cf2833d 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
da6044a59a 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
ca4af46f1d Second cut at opportunism.
Copied from Perforce
 Change: 37580
 ServerID: perforce.ravenbrook.com
2003-01-03 14:22:35 +00:00
Nick Barnes
bddcae1d08 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
ae3c248878 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