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

80 commits

Author SHA1 Message Date
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