1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-03 10:31:37 -08:00
Commit graph

237 commits

Author SHA1 Message Date
Gareth Rees
817f014bd3 Clean up function definitions: no need for "extern"; opening brace goes on new line.
Copied from Perforce
 Change: 194654
2018-07-15 19:05:39 +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
2b469ef694 Merge branch/2018-07-04/mvff-perf into the master sources.
Copied from Perforce
 Change: 194439
2018-07-05 12:54:16 +01:00
Gareth Rees
9dadfb7444 Mfsextend now takes (base, limit) instead of (base, size) for consistency with the rest of the mps.
Copied from Perforce
 Change: 194408
2018-07-04 16:31:45 +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
af7669275c Integrate branch/2016-03-15/sunrise/...@190086,190087 to pick up elimination of tractp from mfs.
Copied from Perforce
 Change: 194372
2018-07-03 10:34:46 +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
5077e27813 Check that arena, buffer, land classes override sets of related methods.
Copied from Perforce
 Change: 193060
 ServerID: perforce.ravenbrook.com
2017-03-30 20:43:43 +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
577b32d481 Cherry-pick change 192595 from custom/cet/main, removing mps_addr_object. this function failed to solve the problem of decoding the stack on 64-bit windows, because the stack may need to be decoded after an mps assertion failure, in which case the arena lock is held and mps_addr_object cannot be called. we eventually solved the problem in a different way (using mps_arena_postmortem) and mps_addr_object is no longer used.
Copied from Perforce
 Change: 192637
 ServerID: perforce.ravenbrook.com
2016-10-19 14:13:38 +01:00
Gareth Rees
d83934de69 Remove return statements that have no effect.
Copied from Perforce
 Change: 192529
 ServerID: perforce.ravenbrook.com
2016-10-13 15:17:50 +01:00
Gareth Rees
01c13bf1b5 New functions mps_arena_busy and mps_arena_postmortem, plus test coverage.
Copied from Perforce
 Change: 192247
 ServerID: perforce.ravenbrook.com
2016-09-08 13:55: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
771f6defda Converting arena finish and describe methods to specialize instfinish and instdescribe.
Copied from Perforce
 Change: 191614
 ServerID: perforce.ravenbrook.com
2016-04-23 16:31:26 +01:00
Richard Brooksby
546e082125 Removing bogus arenatrivdescribe and turning arenadescribe the right way in.
Copied from Perforce
 Change: 191480
 ServerID: perforce.ravenbrook.com
2016-04-21 15:27:41 +01:00
Richard Brooksby
4be15a5b0b Catch-up merge from master sources to branch/2016-04-08/protidying.
Copied from Perforce
 Change: 191471
 ServerID: perforce.ravenbrook.com
2016-04-21 14:46:10 +01:00
Gareth Rees
ffcd3f0b7b Merge branch/2016-04-11/job003998.
Copied from Perforce
 Change: 191388
 ServerID: perforce.ravenbrook.com
2016-04-20 17:56:59 +01:00
Gareth Rees
8a19bd5e8c Initialize arena->zoneshift to zoneshiftunset (which is not a valid shift) and modify the arena checking to spot this value. previously a default shift value (namely 20) was used, but this value was bogus as the zone shift is not determined until the class initialization runs.
Copied from Perforce
 Change: 191370
 ServerID: perforce.ravenbrook.com
2016-04-20 15:51:16 +01:00
Richard Brooksby
cb620cf755 Removing a note about initialization order that no longer applies.
Copied from Perforce
 Change: 191305
 ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +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
1c0704e3c8 Catch-up merge from master sources to branch/2016-04-08/protidying.
Copied from Perforce
 Change: 191251
 ServerID: perforce.ravenbrook.com
2016-04-19 16:37:51 +01:00
Richard Brooksby
8f56466017 Converting a low priority fixme into a todo for later.
Copied from Perforce
 Change: 191013
 ServerID: perforce.ravenbrook.com
2016-04-12 17:48:29 +01:00
Richard Brooksby
b4fbe7ba92 Making classes into instances of kinds, allowing subclass tests to be used to validate classes as well.
Copied from Perforce
 Change: 190958
 ServerID: perforce.ravenbrook.com
2016-04-11 20:58:39 +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
8d776db4f2 Converting many uses of classof* to method macros.
Copied from Perforce
 Change: 190937
 ServerID: perforce.ravenbrook.com
2016-04-11 17:59:36 +01:00
Gareth Rees
86c96d8455 Assert that the range passed to landinsert is not empty.
Assert that the range passed to ArenaFreeLandInsert is not empty.
Assert that there's address space left over in a chunk after the overheads have been accounted for.

Copied from Perforce
 Change: 190920
 ServerID: perforce.ravenbrook.com
2016-04-11 16:09:51 +01:00
Richard Brooksby
690df6974a Using mustbea and couldbea when calling inst functions.
Copied from Perforce
 Change: 190924
 ServerID: perforce.ravenbrook.com
2016-04-11 15:17:24 +01:00
Gareth Rees
b8ea44a99f Catch-up merge from master sources to branch/2015-08-11/compact.
Copied from Perforce
 Change: 190901
 ServerID: perforce.ravenbrook.com
2016-04-11 14:40:44 +01:00
Richard Brooksby
a148490cfa Adding classname for use in describe methods.
Fixing error path to use class destroy in ArenaCreate.
Using MustBeA to reduce boiler plate in land classes.

Copied from Perforce
 Change: 190904
 ServerID: perforce.ravenbrook.com
2016-04-11 14:06:28 +01:00
Richard Brooksby
538b18430f Using superclass init and finish in the arena bootstrap and teardown.
Copied from Perforce
 Change: 190895
 ServerID: perforce.ravenbrook.com
2016-04-11 13:35:16 +01:00
Richard Brooksby
907494aa56 Adding instinit and instfinish and using them as next methods in seginit, segfinish, etc.
Copied from Perforce
 Change: 190857
 ServerID: perforce.ravenbrook.com
2016-04-10 15:33:17 +01:00
Richard Brooksby
cf29dcc98d Making arenas properly inherit from instances, and converting remaining method calls to use the method macro, while noting uses which are inside-out.
Copied from Perforce
 Change: 190856
 ServerID: perforce.ravenbrook.com
2016-04-10 14:00:55 +01:00
Richard Brooksby
24a1aaa4d8 Generating type-safe functions for getting and setting the class of instances.
Fixing warning revealed by GCC that I wasn't actually checking classes after init.
Fixing abstract classes so that they pass their own checks!

Copied from Perforce
 Change: 190837
 ServerID: perforce.ravenbrook.com
2016-04-08 19:50:12 +01:00
Richard Brooksby
c92bf9505a Explicitly making inststruct the prefix of instances, eliminating pointer punning of class pointers, and reducing likelihood of editing errors.
Copied from Perforce
 Change: 190830
 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
d3d57e828d Renaming protocolinst to inst and protocolclass to instclass to make naming consistent with other classes.
Copied from Perforce
 Change: 190822
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
313fd5d5da Removing unused offset field in arena classes.
Copied from Perforce
 Change: 190818
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:19 +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
9583c0f68a Merging branch mps/branch/2016-03-13/without-reservation into master sources.
Copied from Perforce
 Change: 190106
 ServerID: perforce.ravenbrook.com
2016-03-15 13:19:27 +00:00
Richard Brooksby
440fe0ec2c Abstracting mfs visitor names from "tract" to "extent".
Copied from Perforce
 Change: 190087
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:08 +00:00
Richard Brooksby
42e76b8d9f Implementing segofaddr with a splay tree of segments as a step to eliminating tracts.
Copied from Perforce
 Change: 190076
 ServerID: perforce.ravenbrook.com
2016-03-15 11:16:07 +00:00
Richard Brooksby
d4a055f70b Merging branch/2016-03-12/pause into the master sources.
Copied from Perforce
 Change: 190053
 ServerID: perforce.ravenbrook.com
2016-03-15 06:31:08 +00:00
Gareth Rees
e034e7aeea Address points made by rb in review <https://info.ravenbrook.com/mail/2016/03/14/18-48-19/0/>
Copied from Perforce
 Change: 190031
 ServerID: perforce.ravenbrook.com
2016-03-14 20:10:14 +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
ca7dcd913e Basic removal of the reservoir pool from code and design.
Copied from Perforce
 Change: 190000
 ServerID: perforce.ravenbrook.com
2016-03-13 20:32:24 +00:00
Gareth Rees
31de518300 Catch-up merge from branch/2015-08-25/tradeoff to branch/2016-03-12/pause (to pick up the morework value in arenapoll).
Copied from Perforce
 Change: 189918
 ServerID: perforce.ravenbrook.com
2016-03-12 20:32:41 +00:00