1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-06 14:22:31 -07:00
Commit graph

222 commits

Author SHA1 Message Date
Gareth Rees
6a965b5ff0 Handle partial allocation failure by marking allocated pages spare and purging, as suggested by rb in review.
Copied from Perforce
 Change: 195997
2022-01-17 20:19:08 +00:00
Gareth Rees
71b05de30f Eliminate pagestate and pagepoolunion: spare pages are now represented by the spare page land, and free/allocated pages can be distinguished using the pool pointer.
Copied from Perforce
 Change: 195991
2022-01-17 20:19:08 +00:00
Gareth Rees
49a20700a7 Can't assert that res == reslimit since it may be an injected memory allocation failure from fotest.
Copied from Perforce
 Change: 195988
2022-01-17 20:19:07 +00:00
Gareth Rees
b0a1af5c05 Represent the spare memory as a land. 2022-01-17 20:19:07 +00:00
Gareth Rees
f47c389a52 Fix indentation of second clause of license. 2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda Use https: instead of http: when linking to the ravenbrook web site. 2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846 Publish licence updates in code directory.
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.

Copied from Perforce
 Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
4eda4e85c7 Use tags with dots; regularize design references from code.
Copied from Perforce
 Change: 195761
2018-11-29 17:12:29 +00:00
Gareth Rees
77506b67e7 There's no point keeping the definitions of old events, especially since we have changed the event format. name events consistently with initial capital letters and put them in alphabetical order.
Copied from Perforce
 Change: 195231
2018-10-12 13:01:12 +01:00
Gareth Rees
882d86bac1 Remove call to pause_end from tracedestroy; see <https://info.ravenbrook.com/mail/2018/10/12/10-20-07/0/>
The MPS passes the number of system pools to the monitor via the ArenaCreate events, to avoid the monitor having to know how many this is.

Copied from Perforce
 Change: 195227
2018-10-12 12:35:55 +01:00
Gareth Rees
d2d2895c03 Catch-up merge from master sources at changelevel 194022 to branch/2018-06-20/monitor.
Copied from Perforce
 Change: 195071
2018-09-15 21:29:28 +01:00
Gareth Rees
77ed9d9f4f Address points 1-10, 13-14 from <https://info.ravenbrook.com/mail/2018/08/03/10-09-09/0/>
Copied from Perforce
 Change: 194942
2018-08-13 08:10:55 +01:00
Gareth Rees
bcb24de010 Catch-up merge from master sources at changelevel 194869 to branch/2016-03-04/spare-fraction.
Copied from Perforce
 Change: 194872
2018-08-02 15:14:23 +01:00
Gareth Rees
f482816cea Undo change 194718 (merge branch/2016-03-31/page-sparering-elim into the master sources) because of performance regression <https://info.ravenbrook.com/mail/2018/07/29/16-19-19/0/>
Copied from Perforce
 Change: 194755
2018-07-29 19:37:31 +01:00
Gareth Rees
33f0739638 Correct comment following review by dl <https://info.ravenbrook.com/mail/2018/07/19/09-55-18/0/>
Copied from Perforce
 Change: 194709
2018-07-23 10:58:30 +01:00
Gareth Rees
f8e8c3b35c Catch-up merge from master sources at changelevel 194475 to branch/2016-03-31/page-sparering-elim.
Copied from Perforce
 Change: 194478
2018-07-06 14:45:20 +01:00
Gareth Rees
7a0ffd56fd Fix issues identified in review by gdr <https://info.ravenbrook.com/mail/2018/07/06/09-16-30/0/>
Copied from Perforce
 Change: 194464
2018-07-06 10:40:23 +01:00
Gareth Rees
aea2ed3811 Handle deletion of arenas and pools (they often get recreated at the same addresses so this is vital).
Sort the events in batches so that, for example, we get PoolFinish before ArenaDestroy.
Emit ArenaDestroy event after finishing all its pools.
Add arena parameter to PoolFinish event.
Restore top-down logging of events (no need to order them the telemetry output, since the monitor sorts them).
Add comments for all the events used by the monitor.
Include the arena's name in the pool's name when there are multiple arenas.

Copied from Perforce
 Change: 194112
2018-06-23 15:37:11 +01:00
Gareth Rees
c3a7104eff Label the time series in the monitor.
In telemetry output, distinguish between labelling of (client) addresses and (MPS-internal) pointers, to avoid transgressing the distinction.
Add arena grain size, class, and serial number to ArenaCreate* events.
Add pool class and serial number to PoolInit event.

Copied from Perforce
 Change: 194086
2018-06-22 11:05:46 +01:00
Gareth Rees
17c1449096 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
d8c32f0d3f 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
2065bf5351 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
139c44155b 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
Gareth Rees
10f07e4e0b The computed chunk size is the smallest size with a given number of usable bytes -- the actual chunk may be one grain larger.
Copied from Perforce
 Change: 191574
 ServerID: perforce.ravenbrook.com
2016-04-22 17:04:50 +01:00
Richard Brooksby
71db43d79b Minor comment fix.
Copied from Perforce
 Change: 191481
 ServerID: perforce.ravenbrook.com
2016-04-21 15:27:42 +01:00
Richard Brooksby
f288d65473 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
efb1d94578 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
7e8d63a21c Merge branch/2016-04-11/job003998.
Copied from Perforce
 Change: 191388
 ServerID: perforce.ravenbrook.com
2016-04-20 17:56:59 +01:00
Richard Brooksby
af570f18f9 Eliminating vmarena2arena and arena2vmarena in favour of mustbea.
Copied from Perforce
 Change: 191306
 ServerID: perforce.ravenbrook.com
2016-04-19 23:00:02 +01:00
Richard Brooksby
f1af541a95 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
32250731d7 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
Gareth Rees
6b580943b2 Make it clear where tags are defined and where they are referenced, as suggested by rb in review.
Copied from Perforce
 Change: 191288
 ServerID: perforce.ravenbrook.com
2016-04-19 19:24:46 +01:00
Richard Brooksby
c708f93154 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
Gareth Rees
939263f130 No need to declare or set vmem1 if we are not going to use it. this avoids "variable ‘vmem1’ set but not used" warning from gcc.
Copied from Perforce
 Change: 191199
 ServerID: perforce.ravenbrook.com
2016-04-16 14:14:31 +01:00
Gareth Rees
942bee5823 Compile out statistic declarations in non-statistical varieties (at the cost of some syntax checking).
Add some missing STATISTIC guards where statistics are used.
Add design documentation.
Avoid unnecessary distinction between STATISTIC and STATISTIC_STAT (both result in statements).

Copied from Perforce
 Change: 191178
 ServerID: perforce.ravenbrook.com
2016-04-16 12:07:10 +01:00
Gareth Rees
e00a008b72 When growing an arena: (i) don't create a chunk that's too small for the allocation that's going to follow; (ii) don't create a chunk that's larger than necessary.
Copied from Perforce
 Change: 190952
 ServerID: perforce.ravenbrook.com
2016-04-11 20:33:38 +01:00
Richard Brooksby
12d4dfda16 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
5307650059 Implementing nextmethod and replacing all uses of superclass with it.
Copied from Perforce
 Change: 190935
 ServerID: perforce.ravenbrook.com
2016-04-11 16:54:39 +01:00
Richard Brooksby
a38d6e7178 Making all static next-method calls look similar.
Copied from Perforce
 Change: 190934
 ServerID: perforce.ravenbrook.com
2016-04-11 16:35:43 +01:00
Richard Brooksby
c4ef464d0e 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
43b3f1a5cb Generating a static superclass mapping and eliminating other superclass macros.
Copied from Perforce
 Change: 190827
 ServerID: perforce.ravenbrook.com
2016-04-08 17:51:20 +01:00
Richard Brooksby
1d28eaff07 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
2e191a810e 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
ed1782a479 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
e041841a88 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
c1abe0e9fd 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
282a5eceee Moving the vm arena's spare ring nodes into the spare pages themselves, allowing the size of page descriptors to be reduced.
Copied from Perforce
 Change: 190590
 ServerID: perforce.ravenbrook.com
2016-03-31 19:38:31 +01:00
Richard Brooksby
e3d69095db Catch-up merge from master sources to branch/2016-03-01/closure-size.
Copied from Perforce
 Change: 189728
 ServerID: perforce.ravenbrook.com
2016-03-08 09:13:35 +00:00
Richard Brooksby
7f6ef1e12f Fixing compiler warning on lii6gc.
Copied from Perforce
 Change: 189661
 ServerID: perforce.ravenbrook.com
2016-03-05 15:25:56 +00:00
Richard Brooksby
4d0e518142 Looping until spare commit limit is reached, because we can't know in advance how much page table sparse array will be freed by vmpurgespare, reducing committed memory.
Copied from Perforce
 Change: 189619
 ServerID: perforce.ravenbrook.com
2016-03-04 13:15:31 +00:00