Gareth Rees
ef4c41df55
Ensure the emergency branch compiles and runs on lii6gc:
...
No need for <string.h> in mpsi.c (this defines a function "index" on Linux).
Need more headers in range.c so that it will compile on its own.
Need UNUSED() declarations for some variables in cbstest.c.
Copied from Perforce
Change: 182113
ServerID: perforce.ravenbrook.com
2013-05-23 13:42:08 +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
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
b323278e18
Implementing configurable maximum argument list length.
...
Copied from Perforce
Change: 181648
ServerID: perforce.ravenbrook.com
2013-05-08 23:47:38 +01:00
Richard Brooksby
d512863efb
Moving arena varags parsing into arena class method, similar to pools. much simpler. all tests pass.
...
Copied from Perforce
Change: 181643
ServerID: perforce.ravenbrook.com
2013-05-08 23:00:00 +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
d396431c25
Adding decoding of vararg debug options to debug pool classes.
...
Copied from Perforce
Change: 181639
ServerID: perforce.ravenbrook.com
2013-05-08 17:43:01 +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
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
6c6d7a00d6
No need to include "mpsavm.h". the comment justifying it was bogus: "only for mps_space_create".
...
Copied from Perforce
Change: 180093
ServerID: perforce.ravenbrook.com
2012-10-26 09:51:12 +01:00
Gareth Rees
3bada6378b
Based on discussion with rb, reverse the sense of the comments on mps_ap_fill and mps_ap_trip.
...
Copied from Perforce
Change: 179971
ServerID: perforce.ravenbrook.com
2012-10-19 16:47:49 +01:00
Richard Brooksby
50c50c895b
Eliminating interface puns that break the strict aliasing rule. the last of the structure puns and casts, i think.
...
Copied from Perforce
Change: 179453
ServerID: perforce.ravenbrook.com
2012-09-12 20:00:04 +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
75837d8376
Fixing type puns around arenapeek and arenapoke by allowing them to take a ref * to get a ref, rather than an addr.
...
Copied from Perforce
Change: 179382
ServerID: perforce.ravenbrook.com
2012-09-10 10:33:22 +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
27c6706791
Merging branch/2012-08-21/diagnostic-telemetry.
...
Copied from Perforce
Change: 179289
ServerID: perforce.ravenbrook.com
2012-09-05 23:45:31 +01:00
Richard Brooksby
be2a97a673
Checking and suppressing warnings revealed by higher level of optimisation and building from mps.c on freebsd.
...
Copied from Perforce
Change: 179195
ServerID: perforce.ravenbrook.com
2012-09-03 13:42:08 +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
89a685f164
Renaming some check* macros with more accurate names, making remaining check* macros similar in function.
...
Copied from Perforce
Change: 179155
ServerID: perforce.ravenbrook.com
2012-09-01 10:18:08 +01:00
Richard Brooksby
7047e27cd1
Writing events into separate buffers by kind.
...
Always recording events into buffers, but only writing them to the telemetry stream if they're enabled.
Copied from Perforce
Change: 179136
ServerID: perforce.ravenbrook.com
2012-08-31 16:09:07 +01:00
Richard Kistruck
640b8b5cb8
Mps br/padding (fix w3i3m9 build) mpsi.c: help compiler see format is never uninitialised
...
Copied from Perforce
Change: 169862
ServerID: perforce.ravenbrook.com
2010-02-26 16:56:05 +00: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
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
38d28de534
Mps br/timing: new type "clock", internal equivalent of mps_clock_t.
...
Used for a field in messages. (More uses to follow).
Copied from Perforce
Change: 166697
ServerID: perforce.ravenbrook.com
2008-11-11 16:57:30 +00:00
Richard Kistruck
32031684e2
Mps br/timing: mpsi_check(): check that external and internal messsage types match.
...
Copied from Perforce
Change: 166696
ServerID: perforce.ravenbrook.com
2008-11-11 16:22:26 +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
81a735e690
mps br/timing: back out broken message.c & mpsi.c
...
Copied from Perforce
Change: 166586
ServerID: perforce.ravenbrook.com
2008-10-31 10:16:57 +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
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
Richard Kistruck
02a7a9bc52
Mps gcgenmsg: 2006 copyrights
...
Copied from Perforce
Change: 161202
ServerID: perforce.ravenbrook.com
2006-12-12 08:47:10 +00:00
Richard Kistruck
62770e1f4a
Mps _gc_start: make tracestartmessage reasons specific trigger names, not broad categories.
...
Make _why text more explanatory.
Copied from Perforce
Change: 161196
ServerID: perforce.ravenbrook.com
2006-12-11 16:17:31 +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
35130274eb
Mps: implementing remember / restore protection for real.
...
Copied from Perforce
Change: 64140
ServerID: perforce.ravenbrook.com
2003-11-13 17:07:13 +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
05af441d05
Mps: can now call mps_arena_has_addr during
...
mps_arena_formatted_objects_walk. test walkt0 is witness
Copied from Perforce
Change: 50108
ServerID: perforce.ravenbrook.com
2003-07-09 16:42:29 +01: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
David Jones
944e84b5f2
Mps: minor style edits
...
Copied from Perforce
Change: 39662
ServerID: perforce.ravenbrook.com
2003-02-17 11:04:57 +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