Gareth Rees
93a79ac8a6
Add -wconversion to the options for gcc. ensure that the mps builds.
...
Copied from Perforce
Change: 185463
ServerID: perforce.ravenbrook.com
2014-04-11 14:25:15 +01:00
Gareth Rees
116021aef0
Complete design.mps.type and design.mps.interface-c and move them to "current" design in the manual.
...
Remove unused enumeration FormatVariety from mpmtypes.
Improve wording of manual entry on MPS_RM_PROT.
Copied from Perforce
Change: 185259
ServerID: perforce.ravenbrook.com
2014-04-06 20:00:31 +01:00
Richard Brooksby
f9051f09f6
Catch-up merge from master, mainly to pick up gcbench fixes.
...
Copied from Perforce
Change: 184504
ServerID: perforce.ravenbrook.com
2014-02-25 01:29:12 +00:00
Richard Brooksby
2efd201955
Declaring result codes using a relational macro, so that tests can print more meaningful output, and to eliminate redundant code.
...
Copied from Perforce
Change: 184382
ServerID: perforce.ravenbrook.com
2014-02-19 11:55:43 +00:00
Richard Brooksby
2151d00c7f
Catch-up merge from master, mainly to pick up spare-ring merge.
...
Copied from Perforce
Change: 184365
ServerID: perforce.ravenbrook.com
2014-02-18 13:47:49 +00:00
Richard Brooksby
d8cb7e9a01
Catch-up merge from master, mainly to pick up chain-zones merge.
...
Copied from Perforce
Change: 184343
ServerID: perforce.ravenbrook.com
2014-02-14 15:23:36 +00:00
Richard Brooksby
9bc635b24d
Further tidying up of the page descriptor and naming.
...
Copied from Perforce
Change: 184323
ServerID: perforce.ravenbrook.com
2014-02-11 14:14:16 +00:00
Richard Brooksby
252383465b
Abolishing vmarenaalloc and its horrible relatives.
...
Removing redundant SegPref structures from pools that only ever used the default.
Abolishing the VMNZ arena class, to be replaced with an option to ArenaCreate.
Copied from Perforce
Change: 184293
ServerID: perforce.ravenbrook.com
2014-02-04 18:10:53 +00:00
Richard Brooksby
ae6362a7ce
Adding arena extension back to the arena allocation policy.
...
Copied from Perforce
Change: 184280
ServerID: perforce.ravenbrook.com
2014-01-31 22:47:29 +00:00
Richard Brooksby
66a05e1f05
Changes from review comments made in < https://info.ravenbrook.com/mail/2014/01/31/13-40-25/0/ >.
...
ArenaSpareCommitExceeded changed to ArenaPurgeSpare so that the arena can properly reduce the amount of spare memory when setting the commit limit etc.
pagesMarkAllocated promptly unmaps page table pages in its error path.
Miscellaneous clarifications and extra checking.
Copied from Perforce
Change: 184267
ServerID: perforce.ravenbrook.com
2014-01-31 15:21:21 +00:00
Richard Brooksby
7a73e98638
Refactored implementation of preferenced allocation policy from vm arena to general purpose arena.
...
Eliminating SegPrefExpress in most places, especially where there wasn’t really any preference.
Eliminating special case knowledge about garbage collection from the arena.
Copied from Perforce
Change: 184279
ServerID: perforce.ravenbrook.com
2014-01-30 18:08:10 +00:00
Richard Brooksby
e27cf4b361
Merging from branch //info.ravenbrook.com/project/mps/branch/2014-01-29/mps-chain-zones/... in order to eliminate generational considerations from the vm arena's placement policy.
...
Copied from Perforce
Change: 184233
ServerID: perforce.ravenbrook.com
2014-01-30 15:29:46 +00:00
Richard Brooksby
f1abe0e30f
Abolishing the redundant generation to zone map in the vm arena, and replacing it with chainalloc, which allocates segments within a generation.
...
Generations from different chains will no longer share the same zone sets, and will not be collected together. To get this behaviour, use the same chain, as documented.
Copied from Perforce
Change: 184213
ServerID: perforce.ravenbrook.com
2014-01-29 12:54:05 +00:00
Richard Brooksby
44de7246e5
Creating and tearing down the arena freecbs that will hold free address ranges.
...
Copied from Perforce
Change: 184049
ServerID: perforce.ravenbrook.com
2014-01-18 16:25:08 +00:00
Gareth Rees
ea9df0b2b7
Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
...
Copied from Perforce
Change: 183926
ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Richard Brooksby
46bc17e2a9
Catch-up merge from custom/cet/main to master, to pick up arena extension callbacks.
...
Copied from Perforce
Change: 182701
ServerID: perforce.ravenbrook.com
2013-06-12 15:33:49 +01:00
Gareth Rees
60a4cb56a1
Improve design docs following review from rb.
...
Copied from Perforce
Change: 182606
ServerID: perforce.ravenbrook.com
2013-06-07 14:50:22 +01:00
Gareth Rees
934ae05ca3
Rename the enumeration cbsfinddelete to finddelete in anticipation of it being shared between cbs and new freelist module.
...
Since ABQDisposition enumeration only has two values, it's better to use Bool.
Copied from Perforce
Change: 182347
ServerID: perforce.ravenbrook.com
2013-05-31 00:09:33 +01:00
Richard Brooksby
93fee75c50
Eliminating unnecessary use of varargs in segment split and merge functions.
...
Copied from Perforce
Change: 181842
ServerID: perforce.ravenbrook.com
2013-05-16 03:02:20 +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
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
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
Nick Barnes
271b4f6e0a
change mps_clock_t to word.
...
Copied from Perforce
Change: 180151
ServerID: perforce.ravenbrook.com
2012-10-30 08:43:39 +00:00
Richard Brooksby
f86ed754a9
Merging recent improvements from custom/cet/main to masters, but carefully excluding inclusion of configura-specific modules in mps.c.
...
Copied from Perforce
Change: 179473
ServerID: perforce.ravenbrook.com
2012-09-13 17:33:36 +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
5a604a2f51
Fixing bugs introduced by type puns passed through scanning methods, discovered by offsetting mps_ss_s from the beginning of scanstatestruct.
...
Adding a pseudo-target "find-puns" which, on FreeBSD mostly, prints useful warnings about strict aliasing rule violations.
Fixing more strict aliasing rule violations found by the above.
Copied from Perforce
Change: 179358
ServerID: perforce.ravenbrook.com
2012-09-07 23:48:14 +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
1569e66770
All tests listed under the "all" target in gc.gmk are now building, and all but sacss do not find defects.
...
Copied from Perforce
Change: 178321
ServerID: perforce.ravenbrook.com
2012-05-24 17:39:13 +01:00
Richard Brooksby
61890da12b
Fixing up occurences of "unsigned long" in the main mps and test code so that we no longer assume that "unsigned long" is large enough for a pointer or size, or that it's the longest available integer type, since these are not true on 64-bit windows.
...
Copied from Perforce
Change: 178021
ServerID: perforce.ravenbrook.com
2012-04-23 16:20:40 +01:00
Richard Brooksby
ecb147b98f
Consistently passing closure sizes as size_t and not casting back and forth to size or anything else.
...
Copied from Perforce
Change: 177817
ServerID: perforce.ravenbrook.com
2012-03-27 18:12:52 +01:00
Richard Brooksby
5225a4be56
Introducing ulongest type. see design/types/#ulongest.
...
Fixing WriteF to take ULongest rather than unsigned long, and fixing intrnal assumption that Word was as big as unsigned long.
Copied from Perforce
Change: 177814
ServerID: perforce.ravenbrook.com
2012-03-27 16:55:31 +01:00
Richard Kistruck
0e6aecdbb8
mps br/vmem: simple-chunk-return:
...
arenavm.c -- move chunk-return into new function "VMCompact".
(also, in VMArenaFinish, null out arena->primary in VMArenaFinish, so it is not left dangling).
arena.c, arenavm.c, mpm.h, mpmst.h, mpmtypes.h:
arena->class->compact: ArenaCompact, ArenaTrivCompact, VMCompact
trace.c -- traceReclaim calls ArenaCompact!
Copied from Perforce
Change: 170095
ServerID: perforce.ravenbrook.com
2010-03-23 01:49:17 +00:00
Richard Kistruck
bf80a3a11d
Mps br/padding: new pooltraceendmethod: do end-of-trace work
...
Tracer calls PoolTraceEnd() when the trace is TraceFINISHED.
AbstractPoolClass uses PoolTrivTraceEnd -- a NOOP. [mpm.h, mpmst.h, mpmtypes.h, pool.c, poolabs.c]
AMC overrides with AMCTraceEnd, to emit diagnostic on how well the trace went! [poolamc.c]
Copied from Perforce
Change: 168478
ServerID: perforce.ravenbrook.com
2009-08-20 17:44:16 +01:00
Richard Kistruck
77ea63625a
Mps br/timing: traceanc.c -- all this ancillary stuff was making
...
trace.c very cluttered. Put it here instead.
Copied from Perforce
Change: 166911
ServerID: perforce.ravenbrook.com
2008-12-09 16:55:22 +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
David Jones
de346ff538
Mps: removing unused traceband stuff introduced by
...
branch/2007-04-18/diag/...
This was merged onto master by change 162839, but I, drj, felt
it was simpler to remove it in a separate change.
Copied from Perforce
Change: 162841
ServerID: perforce.ravenbrook.com
2007-07-10 14:42:11 +01:00
Richard Kistruck
cb7466253b
Mps br/diag: trace: new field in tracestruct: traceband band for
...
current band (eg via-F) of trace. Fix for job001658.
Copied from Perforce
Change: 162696
ServerID: perforce.ravenbrook.com
2007-06-29 17:17:00 +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
3a7d7370ea
Mps mpmtypes.h (comment only) messagetypegcstart matches mps_message_type_gc_start
...
Copied from Perforce
Change: 161205
ServerID: perforce.ravenbrook.com
2006-12-12 10:06:27 +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
b924a4812a
Mps: (comment only) fix typo, and clarify messagetypelimit is not a message type
...
Copied from Perforce
Change: 161191
ServerID: perforce.ravenbrook.com
2006-12-11 15:33:11 +00:00
Richard Kistruck
7e618baaf9
Mps: (comments only) add cross-refs from mpmtypes.h to must-match identifiers in mps.h: eg. mps_message_type_gc
...
Copied from Perforce
Change: 155507
ServerID: perforce.ravenbrook.com
2005-10-21 14:51:26 +01:00