Gareth Rees
967b61398d
Replace mv debug with mvff debug.
...
Remove some remaining occurrences of mpscvm.h.
Copied from Perforce
Change: 194865
2018-08-02 14:20:23 +01:00
Gareth Rees
faaa5287b7
Remove the mv compatibility shim and update the manual.
...
Copied from Perforce
Change: 194844
2018-08-01 13:26:33 +01:00
Gareth Rees
51e582b4a2
Merge branch/2016-03-30/tract-p-elim into the master sources.
...
Copied from Perforce
Change: 194716
2018-07-23 11:31:47 +01:00
Gareth Rees
6d30dca56b
Fix issues identified in review by gdr < https://info.ravenbrook.com/mail/2018/07/16/13-54-48/0/ >
...
Copied from Perforce
Change: 194674
2018-07-16 15:00:30 +01:00
Gareth Rees
164f0b1214
catch-up merge from master sources at changelevel 194605 to branch/2016-03-30/tract-p-elim.
...
Copied from Perforce
Change: 194617
2018-07-11 21:52:22 +01:00
Gareth Rees
d2e619b743
New bufferfill and bufferempty methods on segments.
...
Copied from Perforce
Change: 194568
2018-07-10 15:02:18 +01:00
Gareth Rees
a4bbb4ddc2
Merge branch/2016-03-01/mvff-control into the master sources.
...
Copied from Perforce
Change: 194442
2018-07-05 13:37:01 +01:00
Gareth Rees
04ea9a0ebe
Avoid "dereferencing type-punned pointer might break strict-aliasing rules" warning from gcc.
...
Copied from Perforce
Change: 194403
2018-07-04 15:56:51 +01:00
Gareth Rees
683c79008c
Improve performance of mvff in hot builds by:
...
1. Using macros to bypass PoolFree and Land* generic functions.
2. Compiling out assertions on functions on the critical paths for manual allocation and freeing.
3. Taking advantage of the fact that splay->updateNode does not change during a splay operation.
Copied from Perforce
Change: 194397
2018-07-04 14:30:22 +01:00
Gareth Rees
ac65a856ac
Fix issues identified in review by gdr.
...
Copied from Perforce
Change: 194339
2018-07-02 09:05:03 +01:00
Gareth Rees
1c80c8f387
Catch-up merge from master sources at changelevel 194314 to branch/2016-03-01/mvff-control.
...
Copied from Perforce
Change: 194323
2018-06-29 14:28:33 +01:00
Gareth Rees
178c269987
Move alignshift to pool structure allows us to eliminate duplicate code between awl and lo.
...
Copied from Perforce
Change: 193071
ServerID: perforce.ravenbrook.com
2017-03-31 08:41:14 +01:00
Gareth Rees
d02a8f277e
Check that segment classes override sets of related methods.
...
Add missing finish functions amcSegFinish, mrgLinkSegFinish, mrgRefSegFinish, sncSegFinish.
Check all class constructor results.
Copied from Perforce
Change: 193055
ServerID: perforce.ravenbrook.com
2017-03-30 11:37:41 +01:00
Gareth Rees
8019558576
Use nextmethod to call the superclass init method, instead of calling poolabsinit directly. regularize the error handling.
...
Copied from Perforce
Change: 192631
ServerID: perforce.ravenbrook.com
2016-10-19 11:34:04 +01:00
Gareth Rees
c898410a63
Catch-up merge from the master sources to branch/2016-04-23/inst-methods.
...
Copied from Perforce
Change: 192176
ServerID: perforce.ravenbrook.com
2016-09-05 15:31:34 +01:00
Gareth Rees
e3951fca1e
Add _critical to assertions on the critical path for manual-allocation-bound programs using mvff. this brings the hot/rash ratio for "djbench mvff" down from over 150% to about 130%.
...
Copied from Perforce
Change: 192148
ServerID: perforce.ravenbrook.com
2016-09-04 19:20:05 +01:00
Gareth Rees
bf65b1e622
Patch the mfs pool's alloc method instead of rewriting its class -- the latter violates the class invariants and so asserts when deep checking is turned on.
...
Copied from Perforce
Change: 191779
ServerID: perforce.ravenbrook.com
2016-05-02 13:49:43 +01:00
Richard Brooksby
bda168dfb8
Renaming class fields called "protocol" to "instclassstruct" in line with usual mps convention.
...
Copied from Perforce
Change: 191685
ServerID: perforce.ravenbrook.com
2016-04-27 14:25:54 +01:00
Richard Brooksby
de1f3907cc
Converting pool finish methods to specialize instfinish, and fixing up quite a few calls to use nextmethod.
...
Copied from Perforce
Change: 191605
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
6217b5b3a5
Converting pool describe methods to specialise instdescribe.
...
Copied from Perforce
Change: 191604
ServerID: perforce.ravenbrook.com
2016-04-23 15:37:12 +01:00
Richard Brooksby
b765128003
Turning pool describe methods the right way in, so that they call next-method.
...
Copied from Perforce
Change: 191587
ServerID: perforce.ravenbrook.com
2016-04-23 00:22:46 +01:00
Richard Brooksby
af037d483c
Squelching bogus type pun warnings from gcc 4.7 to get a clean build in travis ci.
...
Adding platform XCI6GC to allow faster debugging of CI builds on Mac OS X with MacPorts GCC 4.7 installed. Not otherwise supported.
Copied from Perforce
Change: 191357
ServerID: perforce.ravenbrook.com
2016-04-20 13:59:23 +01:00
Richard Brooksby
65a770e91f
Avoid using "class" as an identifier, since tools like lldb parse expressions as c++, and it can't be named.
...
Copied from Perforce
Change: 191304
ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
6e21f091a4
Eliminating classdef.h by defining the class level when declaring a class.
...
Copied from Perforce
Change: 191235
ServerID: perforce.ravenbrook.com
2016-04-19 14:59:30 +01:00
Richard Brooksby
2ba7c52b61
Moving setclassofpoly to after initialization, to be more like signature setting.
...
Copied from Perforce
Change: 190994
ServerID: perforce.ravenbrook.com
2016-04-12 13:40:13 +01:00
Richard Brooksby
87aed22778
Clearing up various fixmes by making the type naming inconsistency clearly visible and intentional.
...
Copied from Perforce
Change: 190980
ServerID: perforce.ravenbrook.com
2016-04-12 10:51:41 +01:00
Richard Brooksby
ef6e2970ca
Eliminating generated classof* and setclassof* functions in favour of checked poly macros.
...
Copied from Perforce
Change: 190938
ServerID: perforce.ravenbrook.com
2016-04-11 18:06:47 +01:00
Richard Brooksby
d303ed0aeb
Turning pool init methods the right way in, so that they each call the next method up the class hierarchy.
...
Copied from Perforce
Change: 190858
ServerID: perforce.ravenbrook.com
2016-04-10 17:49:08 +01:00
Richard Brooksby
dad08f0000
Eliminating issubclasspoly and replacing with compile-time constant test.
...
Copied from Perforce
Change: 190829
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:21 +01:00
Richard Brooksby
aab7cc0a18
Implementing isa, mustbea, couldbea, and reshaping the land classes to put the init, finish, and describe methods the right way in.
...
Copied from Perforce
Change: 190826
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
4207b9ebf8
Eliminating the concept of "alias classes" in favour of "kinds".
...
Copied from Perforce
Change: 190825
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
e5efe2849f
Referring to classes by their base identifiers.
...
Copied from Perforce
Change: 190823
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
484d3b77bf
Removing always-zero offset from pool class structure.
...
Copied from Perforce
Change: 190819
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
590c23a935
Moving common fields into the base class, starting with the class name.
...
Copied from Perforce
Change: 190816
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
3e978abde6
Abstracting class declarations and references to classes.
...
Copied from Perforce
Change: 190812
ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +01:00
Richard Brooksby
5c98fb1b92
Catch-up merge from master sources to branch/2016-03-01/mvff-control.
...
Copied from Perforce
Change: 190549
ServerID: perforce.ravenbrook.com
2016-03-30 16:17:37 +01:00
Richard Brooksby
6edbc6b977
Removing mv pool class and substituting mvff.
...
Disabling MV Debug test, since that doesn't work now that it's really MVFF Debug.
Copied from Perforce
Change: 190494
ServerID: perforce.ravenbrook.com
2016-03-27 22:24:57 +01:00
Richard Brooksby
b85a3e5c76
Catch-up merge from master sources to branch/2016-03-15/sunrise.
...
Copied from Perforce
Change: 190480
ServerID: perforce.ravenbrook.com
2016-03-27 21:25:55 +01:00
Richard Brooksby
bcc567710b
Documenting and checking constraints on mps_key_align on manual pools.
...
Copied from Perforce
Change: 190472
ServerID: perforce.ravenbrook.com
2016-03-27 20:48:38 +01:00
Richard Brooksby
6b8cf12878
Merging branch/2016-03-13/without-reservation into branch/2016-03-15/sunrise in order to remove dependency on tractp.
...
Copied from Perforce
Change: 190099
ServerID: perforce.ravenbrook.com
2016-03-15 11:48:16 +00:00
Richard Brooksby
e4aeed5ff9
Merging branch/2016-03-01/mvff-control into branch/2016-03-15/sunrise to remove dependency on tractp.
...
Copied from Perforce
Change: 190095
ServerID: perforce.ravenbrook.com
2016-03-15 11:35:33 +00:00
Richard Brooksby
07987ab579
Eliminating withreservoirpermit and all its variants.
...
Copied from Perforce
Change: 190005
ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00
Richard Brooksby
aa0412e071
Removing the mostly unused size component of the closure convention.
...
Copied from Perforce
Change: 189503
ServerID: perforce.ravenbrook.com
2016-03-01 17:20:50 +00:00
Richard Brooksby
fbe3ddcbb6
Removing poolmv.h and redundant code now that mv has no internal clients.
...
Copied from Perforce
Change: 189465
ServerID: perforce.ravenbrook.com
2016-03-01 01:55:39 +00:00
Richard Brooksby
f0b5e7d44a
Replacing mv with mvff as the arena control pool.
...
Copied from Perforce
Change: 189459
ServerID: perforce.ravenbrook.com
2016-03-01 01:38:28 +00:00
Gareth Rees
169aaf972f
Rename locusprefhigh to locusprefhigh and so on, to follow < http://www.ravenbrook.com/project/mps/master/design/guide.impl.c.naming#capital-constant >
...
Copied from Perforce
Change: 187283
ServerID: perforce.ravenbrook.com
2014-10-19 09:19:43 +01:00
Gareth Rees
0c42e3aa23
Improved assertion messages when a required keyword argument is not found. instead of "unreachable code", the assertion message is the name of the missing key.
...
Copied from Perforce
Change: 187267
ServerID: perforce.ravenbrook.com
2014-10-14 22:05:30 +01:00
Gareth Rees
3e5e2f2595
Rename "page" to "grain" in mvffreduce. use unused_size for an unused closure argument.
...
Copied from Perforce
Change: 187140
ServerID: perforce.ravenbrook.com
2014-10-04 16:09:27 +01:00
Gareth Rees
c968255f1e
Ensure that code of the form if (condition) statement; is split over two lines, so that it is possible to set a breakpoint on the statement in a debugger.
...
This change was agreed in 1997 (see <https://info.ravenbrook.com/project/mps/mail/1997/08/19/13-44/0.txt >), so it's about time it was implemented.
Copied from Perforce
Change: 187071
ServerID: perforce.ravenbrook.com
2014-09-27 22:57:02 +01:00
Gareth Rees
21f6addf6c
Rename mps_class_t to mps_pool_class_t for clarity.
...
Retain a typedef for mps_class_t for backwards compatibility.
Copied from Perforce
Change: 187065
ServerID: perforce.ravenbrook.com
2014-09-27 13:37:38 +01:00