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

74 commits

Author SHA1 Message Date
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
38f79142c2 Adding comment about how a fixme will be resolved by a later branch merge.
Copied from Perforce
 Change: 191012
 ServerID: perforce.ravenbrook.com
2016-04-12 15:44:28 +01:00
Richard Brooksby
14da33f5e9 Moving setclassofpoly to after initialization, to be more like signature setting. partially complete.
Copied from Perforce
 Change: 190992
 ServerID: perforce.ravenbrook.com
2016-04-12 13:15:54 +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
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
62533b8c71 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
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
e99abe1ee2 Using mustbea to reduce boilerplate in amcbuf and sncbuf methods.
Copied from Perforce
 Change: 190905
 ServerID: perforce.ravenbrook.com
2016-04-11 14:27:38 +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
37883c3490 Turning buffer init methods the right way in, so that they each call the next method up the class hierarchy.
Copied from Perforce
 Change: 190888
 ServerID: perforce.ravenbrook.com
2016-04-11 07:10:15 +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
111136891e 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
3154cbed7d 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
d462d4b36d Repairing superclass by taking a kind, which can later be checked.
Copied from Perforce
 Change: 190850
 ServerID: perforce.ravenbrook.com
2016-04-10 12:28:51 +01:00
Richard Brooksby
3bc19084f6 Fixing mustbea to not return a void *.
Copied from Perforce
 Change: 190849
 ServerID: perforce.ravenbrook.com
2016-04-08 20:29:33 +01:00
Richard Brooksby
5a0c818945 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
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
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
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
Gareth Rees
af6e66671e Remove a transgression by using poolalignment(pool) instead of pool->alignment.
Copied from Perforce
 Change: 187444
 ServerID: perforce.ravenbrook.com
2014-11-01 10:22:58 +00:00
Gareth Rees
411e38946d Remove unused pool {fill,empty}{mutator,internal}size statistics.
Copied from Perforce
 Change: 187270
 ServerID: perforce.ravenbrook.com
2014-10-14 22:37:55 +01:00
Gareth Rees
da626d1bc6 Because of the requirement to make popped objects dead in a timely fashion, we can only implement lightweight pops to an address in the buffer. in particular we can't support pending pops, which means that there's no need for the fields in the allocation point that support pending pops.
Copied from Perforce
 Change: 187232
 ServerID: perforce.ravenbrook.com
2014-10-13 12:46:28 +01:00
Gareth Rees
2d0f425428 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
10afd0ee3b Cast all arguments to the writef function to make it easy to check that none of the necessary casts have been omitted.
New macro WriteFYesNo makes it easy to describe a Boolean.
Describe more structure elements for ABQ, Arena, Buffer, Format, MFS, Root, Seg.

Copied from Perforce
 Change: 187063
 ServerID: perforce.ravenbrook.com
2014-09-27 12:49:30 +01:00
Gareth Rees
c71e35f3c1 Catch-up merge from masters sources @186519 to branch/2014-04-17/describe.
Copied from Perforce
 Change: 186526
 ServerID: perforce.ravenbrook.com
2014-06-12 13:45:22 +01:00
Gareth Rees
d6b83892af Remove unused pool class attributes.
Bring method descriptions up to date in pool class design.

Copied from Perforce
 Change: 186446
 ServerID: perforce.ravenbrook.com
2014-06-08 19:54:24 +01:00
Gareth Rees
2b41ec58db Catch-up merge from master sources @185999 to branch/2014-04-17/describe.
Copied from Perforce
 Change: 186003
 ServerID: perforce.ravenbrook.com
2014-05-11 18:33:02 +01:00
Gareth Rees
add3e4bf93 Consistent order stream, depth.
Copied from Perforce
 Change: 186001
 ServerID: perforce.ravenbrook.com
2014-05-11 18:30:23 +01:00
Gareth Rees
c44f2d6a20 Correct indentation of describe output by passing depth parameter to describe functions and to writef.
Call Describe functions from test cases so that we get coverage.

Copied from Perforce
 Change: 186000
 ServerID: perforce.ravenbrook.com
2014-05-11 18:20:38 +01:00
Gareth Rees
4ed8190265 Back out change 185626 (violates the design.mps.writef.snazzy).
Copied from Perforce
 Change: 185941
 ServerID: perforce.ravenbrook.com
2014-05-02 12:44:31 +01:00
Gareth Rees
4c655eba6a Fix rash build on os x by adding the unused attribute to functions declared static that are not called in the rash variety.
Copied from Perforce
 Change: 185915
 ServerID: perforce.ravenbrook.com
2014-05-01 12:18:00 +01:00
David Lovemore
fb7363db2e Rename bool(v) to boolof(v) to fix clash with the windows header file windows.h
Copied from Perforce
 Change: 185841
 ServerID: perforce.ravenbrook.com
2014-04-28 13:14:04 +01:00
Gareth Rees
dffa0bee22 Simpler bufferdescribe.
Update design.mps.writef with indentation feature and updated BufferDescribe.

Copied from Perforce
 Change: 185632
 ServerID: perforce.ravenbrook.com
2014-04-17 14:24:03 +01:00
Gareth Rees
d83fbf6b09 Correct indentation of describe output.
Copied from Perforce
 Change: 185626
 ServerID: perforce.ravenbrook.com
2014-04-17 13:36:42 +01:00
Gareth Rees
ab57c07df5 Turn on -wduplicate-enum and -wmissing-variable-declarations options for clang. ensure the mps compiles with these options.
Copied from Perforce
 Change: 185466
 ServerID: perforce.ravenbrook.com
2014-04-11 15:17:20 +01:00
Gareth Rees
391e7e6c83 Add -wconversion to the options for gcc. ensure that the mps builds.
Copied from Perforce
 Change: 185463
 ServerID: perforce.ravenbrook.com
2014-04-11 14:25:15 +01:00
Gareth Rees
bcea6812fc Improve control over checking:
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).

Copied from Perforce
 Change: 185263
 ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Gareth Rees
fd07236307 Tidy-up of attributes and pool classes:
* Bring design up to date.
* New function PoolHasAttr encapsulates attribute checking.
* Abstract classes are abstract and mustn't be checked.
* The dummy pool class in fotest needs a size.
* Abstract pool classes null out methods that they can't provide a generic implementation for, to force subclasses to provide one.
* New function PoolTrivFramePopPending provides a generic implementation of that method.
* Rename PoolNoFreeWalk to PoolTrivFreeWalk since it has NOOP rather than NOTREACHED.
* Check that AttrMOVINGGC implies AttrGC.
* Remove unimplemented attributes (BUF_RESERVE, BUF_ALLOC, INCR_RB, INCR_WB, PM)
* AMC now inherits from AMCZ instead of the other way round. This is simpler: AMC adds features to AMCZ rather than AMCZ taking features away (and not quite getting it right).
* Similarly, LO inherits from AbstractSegBufPoolClass + PoolClassMixInCollect so that it doesn't have to clear AttrSCAN and the scan methods.
* Fix bug in MFSCheck -- mustn't check unroundedUnitSize >= UNIT_MIN since small unit sizes are rounded up to UNIT_MIN.
* Don't see AttrFREE in MRG (since no free method is supplied).
* Check AttrSCAN systematically (in PoolScan and SegCheck) rather than opportunistically in TraceStart and TraceQuantum.

Copied from Perforce
 Change: 185231
 ServerID: perforce.ravenbrook.com
2014-04-04 17:05:08 +01:00
Gareth Rees
306401504d Check classes after defining them.
Copied from Perforce
 Change: 185228
 ServerID: perforce.ravenbrook.com
2014-04-04 12:51:07 +01:00
Richard Brooksby
414d54d154 Converting some ancient “@@@@“ marked items into todo marked actions.
Copied from Perforce
 Change: 184261
 ServerID: perforce.ravenbrook.com
2014-01-30 19:33:14 +00:00
Gareth Rees
bcfad58d3c Merge custom cet mainline into the master sources. this includes fixes for job003519 (clock values in text telemetry logs on windows have top 32 bits zero), job003536 (cet office can't replicate 100k snowmen in reasonable time), job003651 (stack overflows are not reliably handled).
Copied from Perforce
 Change: 183926
 ServerID: perforce.ravenbrook.com
2014-01-10 14:16:08 +00:00
Gareth Rees
ba3aaeb575 Clarify comment above bufferisreset: by "all pointers into the region" it actually means "the base, init, alloc, and limit pointers".
Copied from Perforce
 Change: 183637
 ServerID: perforce.ravenbrook.com
2013-11-04 15:31:58 +00:00
Gareth Rees
6971ab5691 Document that you can specify mps_key_rank when creating an allocation point on an ams pool. make mps_key_rank default to mps_rank_exact().
Copied from Perforce
 Change: 183515
 ServerID: perforce.ravenbrook.com
2013-10-02 15:44:34 +01:00
Richard Brooksby
6df3381724 Linking tags to mmprevol requests (e.g. request.epcode.12345) to their location on info.ravenbrook.com.
Copied from Perforce
 Change: 182526
 ServerID: perforce.ravenbrook.com
2013-06-05 00:57:04 +01:00
Richard Brooksby
6d81499f35 Replacing duplicate *trivvarargs methods with a single implementation in args.c.
Copied from Perforce
 Change: 181851
 ServerID: perforce.ravenbrook.com
2013-05-16 13:10:01 +01:00