1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-24 07:41:54 -07:00
Commit graph

93 commits

Author SHA1 Message Date
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
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
f3f941284f New bufferfill and bufferempty methods on segments.
Copied from Perforce
 Change: 194568
2018-07-10 15:02:18 +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
52d6325133 New pool method poolsegpoolgen gets the pool generation for a segment. (this allows the segment whiten and reclaim methods not to need to know the pool class.)
Copied from Perforce
 Change: 193084
 ServerID: perforce.ravenbrook.com
2017-03-31 13:28:25 +01:00
Gareth Rees
a697ef913f 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
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
79c2263d53 No need for poolclassmixinscan and abstractscanpool.
Copied from Perforce
 Change: 193045
 ServerID: perforce.ravenbrook.com
2017-03-30 10:23:15 +01:00
Gareth Rees
d4a68602ff Changing segnowalk to segtrivwalk avoids the need for attrfmt (now we can walk all segments).
Copied from Perforce
 Change: 193044
 ServerID: perforce.ravenbrook.com
2017-03-30 10:18:22 +01:00
Gareth Rees
2ffd832103 Move access method from pool class to segment class.
Copied from Perforce
 Change: 193039
 ServerID: perforce.ravenbrook.com
2017-03-30 09:55:37 +01:00
Gareth Rees
a400239f7e Move walk method from pool class to segment class.
Copied from Perforce
 Change: 193028
 ServerID: perforce.ravenbrook.com
2017-03-30 08:54:35 +01:00
Gareth Rees
b7a490ae32 Move fix and fixemergency methods from pool class to segment class.
Copied from Perforce
 Change: 193023
 ServerID: perforce.ravenbrook.com
2017-03-30 08:09:14 +01:00
Gareth Rees
00a4ade456 Move scan method from pool class to segment class.
Copied from Perforce
 Change: 193012
 ServerID: perforce.ravenbrook.com
2017-03-29 19:17:17 +01:00
Gareth Rees
db5db0a9f3 Move reclaim method from pool class to segment class.
Copied from Perforce
 Change: 193007
 ServerID: perforce.ravenbrook.com
2017-03-29 17:13:45 +01:00
Gareth Rees
07adf64ebb Move whiten method from pool class to segment class.
Copied from Perforce
 Change: 193002
 ServerID: perforce.ravenbrook.com
2017-03-29 16:22:14 +01:00
Gareth Rees
47a1715c2d Move greyen method from pool class to segment class.
Copied from Perforce
 Change: 192997
 ServerID: perforce.ravenbrook.com
2017-03-29 15:58:32 +01:00
Gareth Rees
1dc5ac742a Move the blacken method from the pool class to the segment class.
Copied from Perforce
 Change: 192994
 ServerID: perforce.ravenbrook.com
2017-03-29 15:32:17 +01:00
Gareth Rees
79d301f528 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
587a3efb20 Remove unused pool class methods tracebegin and traceend.
Remove unused event AMCTraceEnd.
The fixEmergency method must have the same type as the fix method because of how they are used.

Copied from Perforce
 Change: 192636
 ServerID: perforce.ravenbrook.com
2016-10-19 14:07:20 +01:00
Gareth Rees
d38c74a0b2 New modulefile prmcw3.c avoids duplication of code between prmcw3i3.c and prmcw3i6.c.
Implement MutatorContextCheck on Windows. Add AVERT(MutatorContext, context) in PoolAccess and other functions.
Document initialization functions MutatorContextInitFault and MutatorContextInitThread and implement them on Windows.
Add a union discriminator to MutatorContextStruct on Windows so that we don't accidentally try to get the stack pointer from a fault context, or the exception address from a thread context.

Copied from Perforce
 Change: 192567
 ServerID: perforce.ravenbrook.com
2016-10-14 11:53:26 +01:00
Gareth Rees
5c31ca3cab Rename the "protection mutator context" module to "mutator context" (this module handles mutator context decoding for both the protection module and the thread module).
Rename functions Prot{Can,}StepInstruction to MutatorContext{Can,}StepInstruction so that they follow the naming convention in guide.implc.naming.prefix.program.
Move mutator context declarations out of prot.h into new header prmc.h.
Correct .assume.null in a couple of places -- it's not safe for MutatorContextStepInstruction to return ResUNIMPL, instead MutatorContextCanStepInstruction should return FALSE.

Copied from Perforce
 Change: 192528
 ServerID: perforce.ravenbrook.com
2016-10-13 15:06:14 +01:00
Gareth Rees
c35e544d73 Rename mutatorfaultcontext to mutatorcontext because this data structure is not only used to store the context of a fault, but also to store the context of a thread that has been suspended.
Copied from Perforce
 Change: 192523
 ServerID: perforce.ravenbrook.com
2016-10-13 14:23:39 +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
9a2f29e3b2 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
1f8eb75895 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
a8e91f0ac8 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
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
Richard Brooksby
06ef28892a 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
Gareth Rees
c97f77e5ab Catch-up merge from master sources to branch/2014-10-11/snc.
Copied from Perforce
 Change: 191065
 ServerID: perforce.ravenbrook.com
2016-04-13 13:07:19 +01:00
Richard Brooksby
fed0dd6142 Interning strings for all classes to the event system, not just the hacky one for pool classes.
Copied from Perforce
 Change: 191071
 ServerID: perforce.ravenbrook.com
2016-04-12 18:44:05 +01:00
Richard Brooksby
2e2cfa9bae Moving pool format argument picking into abstract pool initialization, so that code is shared.
Copied from Perforce
 Change: 191004
 ServerID: perforce.ravenbrook.com
2016-04-12 15:07:26 +01:00
Richard Brooksby
e7d5490d11 Automatically setting pool->fix on first fix, to avoid tricky initialization.
Copied from Perforce
 Change: 190986
 ServerID: perforce.ravenbrook.com
2016-04-12 12:44:54 +01:00
Richard Brooksby
fd1ff6f863 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
d31995246d 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
a724e16626 Removing various fixed fixmes.
Copied from Perforce
 Change: 190957
 ServerID: perforce.ravenbrook.com
2016-04-11 18:58:36 +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
78ad983c55 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
b57dabdb49 Class init functions get called before the arena is initialized, so make sure they initialize the event logger before logging anything.
Copied from Perforce
 Change: 190883
 ServerID: perforce.ravenbrook.com
2016-04-10 23:35:34 +01:00
Richard Brooksby
3dd201bf47 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
a15e1139c1 Fixing nulls in class methods revealed by more thoroughly applying class checking functions.
Copied from Perforce
 Change: 190842
 ServerID: perforce.ravenbrook.com
2016-04-08 20:00:23 +01:00
Richard Brooksby
a56de59509 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
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
09e73dd1da 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
32de0701e0 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
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
1025b28674 Eliminating withreservoirpermit and all its variants.
Copied from Perforce
 Change: 190005
 ServerID: perforce.ravenbrook.com
2016-03-13 21:04:01 +00:00