Gareth Rees
f154b62bf4
Catch-up merge from master sources to mps/branch/2013-05-17/emergency
...
Copied from Perforce
Change: 182417
ServerID: perforce.ravenbrook.com
2013-06-03 12:25:18 +01:00
Richard Brooksby
5c6785b815
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
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
Gareth Rees
3c48eff730
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
Richard Brooksby
b19ac90ba0
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
f876b80dff
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
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
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
c0a8608bf7
Basically working keyword arguments, though vmparam is unsatisfactory.
...
Copied from Perforce
Change: 181545
ServerID: perforce.ravenbrook.com
2013-05-03 17:20:35 +01:00
Richard Brooksby
789066596d
Configuring awl pool to give give up and scan an entire segment after 200 single access hits, after observing open dylan bootstrap on ubuntu 12 hammering the table and making no progress.
...
AWL pool no longer tries a single access if the trace band has reached rank WEAK, since it doesn't need to.
Copied from Perforce
Change: 179434
ServerID: perforce.ravenbrook.com
2012-09-11 21:21:26 +01:00
Richard Brooksby
383335816d
Merging recent review changes from variety-reform branch.
...
Copied from Perforce
Change: 179306
ServerID: perforce.ravenbrook.com
2012-09-06 16:59:31 +01:00
Richard Brooksby
d8a499b473
Responding to nb's review of variety-reform.
...
https://info.ravenbrook.com/mail/2012/09/06/15-42-57/0/
Copied from Perforce
Change: 179302
ServerID: perforce.ravenbrook.com
2012-09-06 16:47:44 +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
3944685a40
Making hot the default variety, so that "cc -c mps.c" comes out hot.
...
Copied from Perforce
Change: 179287
ServerID: perforce.ravenbrook.com
2012-09-05 23:04:12 +01:00
Richard Brooksby
f4c593479a
Downgrading recommended optimisation from -o3 to -o2.
...
DL is uneasy that we're safe against aliasing problems. Will look more carefully later.
Copied from Perforce
Change: 179282
ServerID: perforce.ravenbrook.com
2012-09-05 19:04:04 +01:00
Richard Brooksby
915c01ef3e
Merging branch/2012-08-15/variety-reform.
...
Copied from Perforce
Change: 179279
ServerID: perforce.ravenbrook.com
2012-09-05 18:44:44 +01:00
Richard Brooksby
e4313d264e
Providing config_plinth_none so that open dylan can build using mps.c without depending on the c library.
...
Copied from Perforce
Change: 179248
ServerID: perforce.ravenbrook.com
2012-09-05 09:45:24 +01:00
Richard Brooksby
a3b6b012d7
Resolving fixmes.
...
Correcting untruths in <design/config>.
Copied from Perforce
Change: 179200
ServerID: perforce.ravenbrook.com
2012-09-03 14:46:09 +01:00
Richard Brooksby
3ec3f57262
Renaming varieties we to rash and di to diag. leaving ti alone as it will be deleted shortly in merge with diagnostic-telemetry branch.
...
Copied from Perforce
Change: 179193
ServerID: perforce.ravenbrook.com
2012-09-03 13:32:11 +01:00
Richard Brooksby
ee4106393a
Renaming "he" variety to "hot" and "ci" variety to "cool". like the old days.
...
Copied from Perforce
Change: 179170
ServerID: perforce.ravenbrook.com
2012-09-02 11:04:53 +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
4fde4e10b2
Compiling with a static checking level by default, doubling the speed of the cool variety.
...
Copied from Perforce
Change: 179157
ServerID: perforce.ravenbrook.com
2012-09-01 11:40:43 +01:00
Richard Brooksby
82bc137464
Abolishing a bunch of varieties and reforming the hot variety to run about as fast as white-hot.
...
See <http://info.ravenbrook.com/mail/2012/08/15/17-43-37/0/ >.
Copied from Perforce
Change: 179153
ServerID: perforce.ravenbrook.com
2012-09-01 00:01:03 +01:00
Richard Brooksby
fef6957117
Cool varieties now log events on the critical path too, whereas hot varieties only log elsewhere.
...
Copied from Perforce
Change: 179140
ServerID: perforce.ravenbrook.com
2012-08-31 17:26:48 +01:00
Richard Brooksby
c4c3595fb8
Now there is no measurable performance penalty for events, they're on in all varieties (except we).
...
Copied from Perforce
Change: 179137
ServerID: perforce.ravenbrook.com
2012-08-31 16:42:17 +01:00
Richard Brooksby
7d28876904
Expanded event parameters into separate macros annotated with parameter names, simplifying event definition macros.
...
Copied from Perforce
Change: 179122
ServerID: perforce.ravenbrook.com
2012-08-31 04:25:18 +01:00
Richard Brooksby
71d487d995
Fixing further pedantic compilation issues on xci3gc.
...
Copied from Perforce
Change: 179057
ServerID: perforce.ravenbrook.com
2012-08-26 17:07:32 +01:00
Richard Brooksby
7fe52ea4bd
Fixing compilation of event_clock on pedantic gcc, specifically xci3gc.
...
Copied from Perforce
Change: 179056
ServerID: perforce.ravenbrook.com
2012-08-26 16:44:17 +01:00
Richard Brooksby
8875cbfba9
Removing references to obsolete platforms.
...
Copied from Perforce
Change: 178909
ServerID: perforce.ravenbrook.com
2012-08-12 23:29:49 +01:00
Richard Brooksby
215ef086cb
Removed support for old or dead platforms: osf/1, irix, mac system 7, sunos, windows nt on alpha, windows nt on powerpc.
...
See <https://github.com/datafueled/memory-pool-system/pull/3 > for the origin of this change.
Copied from Perforce
Change: 178872
ServerID: perforce.ravenbrook.com
2012-08-08 19:02:57 +01:00
Richard Brooksby
a612d07713
Adding w3i3mv to mps.c, allowing simple builds. this now works:
...
cl /Feamcss.exe /DCONFIG_PROD_MPS /DCONFIG_VAR_CI amcss.c fmtdy.c fmtdytst.c fmtno.c mps.c testlib.c
Copied from Perforce
Change: 178777
ServerID: perforce.ravenbrook.com
2012-07-30 16:48:02 +01:00
Richard Brooksby
cd5fa21f07
Fixing signal handling for freebsd 7. freebsd now signals sigsegv with code segv_accerr for memory protection faults. updated config.h.
...
Copied from Perforce
Change: 178775
ServerID: perforce.ravenbrook.com
2012-07-30 14:39:40 +01:00
David Lovemore
9bf482ea08
Fixed up long constants and shifts that needed to be cast to correct type.
...
Copied from Perforce
Change: 178095
ServerID: perforce.ravenbrook.com
2012-05-03 16:38:47 +01:00
Richard Kistruck
b7de7f621a
Mps br/padding amc lsp: rename pagespersegmediumlimit as amclargesegpages, and make it a define in config.h. corrections in des/poolamc.
...
Copied from Perforce
Change: 168704
ServerID: perforce.ravenbrook.com
2009-09-18 16:15:50 +01:00
Richard Kistruck
7c06dd2ad6
Mps br/padding:
...
poolamc.c tidy up:
neater implementation of obj1pip (amcReclaimNailed)
neater implementation of amcResetTraceIdStats -- no need for a function any more
delete lots of obsolete temporary diagnostic (superseded by AMCTraceEnd_pageret)
a few more avers (especially on buffer empty)
also revert temporary diagnostic changes in arena.c, config.h, diag.c, global.c
diag.c: fix diag-buffer at 100 screenfuls (200000 chars).
zcoll.c: reinstate Make 50000 with occasional big objs.
Copied from Perforce
Change: 168688
ServerID: perforce.ravenbrook.com
2009-09-17 16:59:39 +01:00
Richard Kistruck
e3d6c443ad
Mps br/padding: diagnostics that show large-segment-padding in action.
...
zcoll.c: BigSmall() command -- creates small, then big, then small object.
poolamc.c: AMCDescribe(): output AMC Seg maps, showing single big object -- a pad -- at end of large-segment.
arena/config/diag: allow output of AMC Seg maps.
Copied from Perforce
Change: 167763
ServerID: perforce.ravenbrook.com
2009-04-09 16:01:21 +01:00
Richard Kistruck
f5e8b732ad
mps br/timing traceanc: (tidying only) improve comments and variable
...
names.
Copied from Perforce
Change: 166915
ServerID: perforce.ravenbrook.com
2008-12-10 10:32:29 +00:00
Richard Kistruck
557026a790
Mps br/diagtag: diag_prefix_ in config.h, instead of hard-wired.
...
Note .filter-disable.
Copied from Perforce
Change: 163119
ServerID: perforce.ravenbrook.com
2007-08-14 13:31:46 +01:00
Richard Kistruck
2cbc8e1232
Mps br/diagtag: determine diag_buffer_size in config.h; space for
...
20000 chars (10 screenfuls) in diag varieties, 1 char in others.
Handle diag->buf overflow (in fact was already handled; now tested;
in the always-on safety tests, use a condition that is verbatim
the same as the corresponding AVER).
Diag type: DiagSig, and AVERT(Diag, diag). Neater .rules.debug.
Copied from Perforce
Change: 163114
ServerID: perforce.ravenbrook.com
2007-08-13 18:07:30 +01:00
Richard Kistruck
35dc5cd940
Mps master: diag_with_stream_and_writef.
...
trace.c: traceFindGrey_diag: wrap calls in DIAG(), prevent report
overflow, reduce report array to 20 chars, and use WriteF.
Copied from Perforce
Change: 162937
ServerID: perforce.ravenbrook.com
2007-07-19 14:38:57 +01:00
Richard Kistruck
6aad947351
Mps br/diag: config.h: translate config_debug to config_stats,
...
because that's what it means. It's got nothing to do with debugging!
Note: this affects MPS_VARIETY_STRING, and version.c#MPSVersionString.
Copied from Perforce
Change: 162693
ServerID: perforce.ravenbrook.com
2007-06-29 14:26:50 +01:00
Richard Kistruck
4df14dcbf8
Mps br/diag: rename #def "diagnostics" as "statistics", as all the
...
macros it controls are called "STATISTIC_blah", and same replacement
in comments. The term "diagnostic" means something else now: see
design/diag/.
Copied from Perforce
Change: 162692
ServerID: perforce.ravenbrook.com
2007-06-29 14:08:00 +01:00
Richard Kistruck
45038f2c52
Mps br/diag: back to diag_with_printf again.
...
Copied from Perforce
Change: 162397
ServerID: perforce.ravenbrook.com
2007-05-23 16:39:26 +01:00
Richard Kistruck
4f9f9477e8
Mps br/diag: release exp-162395:
...
Switch from DIAG_WITH_PRINTF to _WITH_STREAM_WRITEF.
(Still just from TraceStart).
Copied from Perforce
Change: 162395
ServerID: perforce.ravenbrook.com
2007-05-23 15:45:32 +01:00
Richard Kistruck
6749f30dc0
Mps br/diag: diag-out with writef and diag_stream does not work in cet.
...
Hope to fix in time, but for now I need DIAG-out to work, so switch
to printf (yes, really, I know, sorry).
Also, only do DIAG-out in variety.di, to avoid damage to .ci.
So for now, remove DIAG_WRITEF and DIAG from arenavm and trace.
To test, add DIAG_PRINTF in trace.
Copied from Perforce
Change: 162387
ServerID: perforce.ravenbrook.com
2007-05-21 16:28:50 +01:00
Richard Kistruck
bd09ac3c18
Mps br/diag: new variety.di: hot+diagnostics
...
Copied from Perforce
Change: 162222
ServerID: perforce.ravenbrook.com
2007-04-27 16:46:51 +01:00
Richard Kistruck
d09f09f787
Mps br/diag: backout change to variety.ii:
...
(was now has DIAGNOSTICS, and no logging;
now: back to CONFIG_LOG, and no diag)
Copied from Perforce
Change: 162221
ServerID: perforce.ravenbrook.com
2007-04-27 16:33:38 +01:00