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

68 commits

Author SHA1 Message Date
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
Richard Kistruck
b261b142fd Mps br/diag: variety.ii: now has diagnostics, and no logging (pro tem);
mpm.h: DIAG() et al under control of DIAGNOSTICS;
diag.c: under control of DIAGNOSTICS, plus add header and copyright.

Copied from Perforce
 Change: 162214
 ServerID: perforce.ravenbrook.com
2007-04-27 15:37:16 +01:00
David Jones
8ac9a23ede Mps: typo in config.h was breaking freebsd builds.
Copied from Perforce
 Change: 161905
 ServerID: perforce.ravenbrook.com
2007-03-09 09:35:31 +00:00
David Jones
76e9f4ae06 Mps: protection for intel darwin. hopefully cross-platform.
Copied from Perforce
 Change: 161902
 ServerID: perforce.ravenbrook.com
2007-03-08 21:50:28 +00:00
Richard Kistruck
f63f95fb4c Mps make hot varieties do avers and checks, and *not* gather statistics.
job001545 & job001546

Copied from Perforce
 Change: 161213
 ServerID: perforce.ravenbrook.com
2006-12-13 16:01:46 +00:00
Richard Kistruck
a5fb67c1e9 Mps config.h: make it easy to see which variety turns on which features.
The logic is now clear, but wrong.  See job001545.
(Source-only change).

Copied from Perforce
 Change: 161211
 ServerID: perforce.ravenbrook.com
2006-12-13 15:41:53 +00:00
Richard Kistruck
445b3e6f51 Mps sort out baroque check macros (mainly config.h and check.h)
See job001248.  Should be source-only change.  Details:

  CheckNONE,SHALLOW,DEEP -->> CheckLevelMINIMAL,SHALLOW,DEEP
  [PROD_]CHECK_DEFAULT -->> [PROD_]CHECKLEVEL_INITIAL
  CHECK[_NONE] -->> AVER_AND_CHECK[_NONE]

And add some comments.

Copied from Perforce
 Change: 161210
 ServerID: perforce.ravenbrook.com
2006-12-13 14:45:49 +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
Richard Kistruck
be107db8f6 Mps: gcgenmsg branch: back-out @51937: drj's incomplete poolgenmessage work
(DRJ's changes added PoolGenMessage struct, with text-fields for 
 gen-name and forward-dest name, and condemned Size)
The mps_message_gc_start() Message, with a _why field, remains.

Copied from Perforce
 Change: 160989
 ServerID: perforce.ravenbrook.com
2006-11-23 14:38:19 +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