Gareth Rees
391e7e6c83
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
f6901a9e23
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
6e46485dce
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
ba1a4f78cb
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
4dff43a172
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
199a1261ed
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
2b5e126c48
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
142063f059
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
35ccb414a2
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
d206bd35b9
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
070f7784dd
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
d0a93e6caf
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
d8e81ae3c3
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
7b54fc9926
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
bcfad58d3c
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
f9724af3e0
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
4753e1ba3a
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
e7559cf22f
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
1ab2cfe210
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
a9ed62e39a
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
8b430778b6
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
5751150183
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
e67939cabb
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
a8afd8e6f4
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
098bf44a5e
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
292d0108a5
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
6a71263677
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
eeef8ade97
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
9f3c6c49bb
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
1a103e0a5a
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
dd039bfbdc
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
f748ad2b28
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
4c51d72b56
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
eb9e12cacb
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
82c29cfd3e
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
98f3e3bdd2
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
49c6d6b2f9
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
33d05b4195
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
beb476fd52
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
2b4cf6ca29
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
e48dcde8fe
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
16ddbe30bc
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
b44832b7f6
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
06d906a04b
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
6e7b73614b
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
1999a785c5
Mps gcgenmsg: 2006 copyrights
...
Copied from Perforce
Change: 161202
ServerID: perforce.ravenbrook.com
2006-12-12 08:47:10 +00:00
Richard Kistruck
908c81804f
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
17c26e4657
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
4b5383fbc4
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
David Jones
eb7fb7e384
Mps: added (untested) internals for messagetypegcstart
...
Copied from Perforce
Change: 39768
ServerID: perforce.ravenbrook.com
2003-02-19 13:27:16 +00:00