Gareth Rees
f8c90b565e
Changes from review < https://info.ravenbrook.com/mail/2013/07/10/14-38-35/0/ >.
...
Copied from Perforce
Change: 182986
ServerID: perforce.ravenbrook.com
2013-07-10 15:37:27 +01:00
Richard Brooksby
01d17882e6
Reducing unnecessary copying of thread states by passing a pointer to the state in the mutator fault context.
...
Copied from Perforce
Change: 182980
ServerID: perforce.ravenbrook.com
2013-07-05 17:43:14 +01:00
Richard Brooksby
96448d34a9
Initial implementation of mac os x protection exception handling using mach.
...
Some threading tests get quite a long way.
Copied from Perforce
Change: 182872
ServerID: perforce.ravenbrook.com
2013-06-29 01:22:42 +01:00
David Lovemore
1ad79c5caa
Switched mac os x threading to use thix.c and pthreadext.c.
...
Also switched to using platform specific Mutator Context code
so that we can read out the registers for instruction emulation
and stack scanning.
Builds on 64-bit but doesn't work because sem_init is unimplemented on
Mac OS X.
Not finished on 32-bit.
Copied from Perforce
Change: 182791
ServerID: perforce.ravenbrook.com
2013-06-18 16:29:31 +01:00
Richard Brooksby
56645cdc0c
Merging branch/2013-05-17/emergency with major rework of mvt, mvff, and cbs.
...
Some parts of this are still ragged, and would not normally pass review, but this is a massive improvement to the existing code.
Copied from Perforce
Change: 182614
ServerID: perforce.ravenbrook.com
2013-06-08 10:57:57 +01:00
Gareth Rees
da3afade7b
Mvt takes configurable alignment via a keyword argument.
...
Copied from Perforce
Change: 182605
ServerID: perforce.ravenbrook.com
2013-06-07 14:45:14 +01:00
Richard Brooksby
982dc78f06
Merging branch/2013-06-05/diag to eliminate the "diag" system. hurrah!
...
Copied from Perforce
Change: 182575
ServerID: perforce.ravenbrook.com
2013-06-06 14:56:47 +01:00
Richard Brooksby
d14b8bbc81
Merging branch/2013-05-01/keyword-arguments to pick up keyword arguments for object formats.
...
Copied from Perforce
Change: 182562
ServerID: perforce.ravenbrook.com
2013-06-06 12:55:04 +01:00
Gareth Rees
1c4ff669ac
Remove diag facility.
...
Copied from Perforce
Change: 182553
ServerID: perforce.ravenbrook.com
2013-06-05 18:35:40 +01:00
Richard Brooksby
3b37d681c2
Linking tags to mmprevol requests (e.g. request.epcode.12345) to their location on info.ravenbrook.com.
...
Copied from Perforce
Change: 182526
ServerID: perforce.ravenbrook.com
2013-06-05 00:57:04 +01:00
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
Gareth Rees
aaf6e8b13b
New public function mps_fmt_create_k creates an object format using the keyword argument interface.
...
Deprecate the format variant structures (mps_fmt_A_s, mps_fmt_B_s, mps_fmt_auto_header_s, mps_fmt_fixed_s) and the old interface (mps_fmt_create_A, mps_fmt_create_B, mps_fmt_create_auto_header, mps_fmt_create_fixed).
Copied from Perforce
Change: 182277
ServerID: perforce.ravenbrook.com
2013-05-28 16:10:08 +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