1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

153 commits

Author SHA1 Message Date
Gareth Rees
60bf7320e2 Document the event parameters.
Split event ArenaAccess into ArenaAccessBegin and ArenaAccessEnd to avoid the need for the count field.
New events SegReclaim and SegScan.
Delete some redundant events: AMCFinish (PoolFinish), AMCFix, AMCFixForward, AMCFixInPlace (TraceFix), AMCGenCreate (GenInit), AMCGenDestroy (GenFinish), AMCInit (PoolInitAMC), AMCReclaim (SegReclaim), AMCScanBegin, AMCScanEnd (SegScan), ArenaWriteFaults (ArenaAccessBegin), PoolInitMV, TraceScanSeg (SegScan).
Add result code field to events ArenaAllocFail, CommitLimitSet, SegAllocFail.
Remove arena field from events PoolInitAMS, PoolInitMFS, PoolInitMVFF (already appeared in generic PoolInit event).

Copied from Perforce
 Change: 195247
2018-10-14 14:04:40 +01:00
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