1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

33 commits

Author SHA1 Message Date
Gareth Rees
d3d2795fce 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
9bb6b2f8be 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
673eea41a0 Check classes after defining them.
Copied from Perforce
 Change: 185228
 ServerID: perforce.ravenbrook.com
2014-04-04 12:51:07 +01:00
Richard Brooksby
9cec005f66 Fixing awl and lo to actually allocate in the generation requested.
Copied from Perforce
 Change: 184269
 ServerID: perforce.ravenbrook.com
2014-01-31 15:27:51 +00:00
Richard Brooksby
4b50f3688b Adding mps_key_gen generation keyword to pools that take a chain (except amc), so that you can specify which generation to allocate in by default. this allows some flexibility when the client can predict the lifetimes of objects.
The AWL and LO pools allocate into generation 1 of the arena default chain if neither MPS_KEY_CHAIN or MPS_KEY_GEN is specified, simulating the default setup before the chain-zones branch.

Copied from Perforce
 Change: 184231
 ServerID: perforce.ravenbrook.com
2014-01-30 14:27:09 +00:00
Richard Brooksby
f30fd7ef84 The chain parameter to amc is now optional, defaulting to the arena’s default chain.
AWL and LO accept a chain parameter, and also default to the arena’s default chain, rather than creating their own dummy chains.

Copied from Perforce
 Change: 184227
 ServerID: perforce.ravenbrook.com
2014-01-30 13:00:46 +00:00
Richard Brooksby
e02a69f88b The awl and lo pools were allocating their segments along with other pool’s generation 1, while accounting sizes into generation 0. in fact, this “generation 1” was really a kind of placement “clump” and the segments really lived in generation 0. however, this confused the new chainalloc because there are no longer any “clumps” maintained by the arena, causing awlut to fail. fixed awl and lo to be truthful about the generation they’re allocating in. placement concerns have been removed.
Copied from Perforce
 Change: 184220
 ServerID: perforce.ravenbrook.com
2014-01-29 17:15:31 +00:00
Richard Brooksby
f1abe0e30f Abolishing the redundant generation to zone map in the vm arena, and replacing it with chainalloc, which allocates segments within a generation.
Generations from different chains will no longer share the same zone sets, and will not be collected together.  To get this behaviour, use the same chain, as documented.

Copied from Perforce
 Change: 184213
 ServerID: perforce.ravenbrook.com
2014-01-29 12:54:05 +00:00
Richard Brooksby
bb02f55b62 Making clear the size of the array of args passed to varargs conversion methods.
Copied from Perforce
 Change: 181845
 ServerID: perforce.ravenbrook.com
2013-05-16 03:12:11 +01:00
Richard Brooksby
af44d1241f Replacing varargs passed to seginit with keyword argument list.
Copied from Perforce
 Change: 181679
 ServerID: perforce.ravenbrook.com
2013-05-09 17:34:01 +01:00
Richard Brooksby
f4416c7efc Changing required keyword arguments to cause an assertion rather than return a status code, and removing repetition in how this is expressed.
Copied from Perforce
 Change: 181674
 ServerID: perforce.ravenbrook.com
2013-05-09 15:15:40 +01:00
Richard Brooksby
71b7e4f70a Pushing varargs decoding into a pool class method. much simpler.
Copied from Perforce
 Change: 181642
 ServerID: perforce.ravenbrook.com
2013-05-08 22:43:51 +01:00
Richard Brooksby
8504a81cf3 Eliminating mps_key_varargs and instead decoding deprecated varargs in one place in mpsi.c, so that each pool or other class doesn't have to deal with them.
Copied from Perforce
 Change: 181638
 ServerID: perforce.ravenbrook.com
2013-05-08 17:24:11 +01:00
Richard Brooksby
07f446a450 Converting pools to use keyword arguments, mostly, and so far inconsistently, but at least it compiles.
Copied from Perforce
 Change: 181635
 ServerID: perforce.ravenbrook.com
2013-05-08 16:21:12 +01:00
Richard Brooksby
4009b8a559 Abolishing eventgen.pl. event structures are now expanded by the preprocessor.
Abolishing event formats.  Each event now has its own structure.
Event parameters are now written directly into the event buffer, rather than being copied twice.

Copied from Perforce
 Change: 179010
 ServerID: perforce.ravenbrook.com
2012-08-21 22:48:11 +01:00
David Lovemore
2f11fd7b65 Tidy up code from unused variable warnings.
Copied from Perforce
 Change: 178787
 ServerID: perforce.ravenbrook.com
2012-07-31 14:19:26 +01:00
David Lovemore
9bf482ea08 Fixed up long constants and shifts that needed to be cast to correct type.
Copied from Perforce
 Change: 178095
 ServerID: perforce.ravenbrook.com
2012-05-03 16:38:47 +01:00
Richard Brooksby
61890da12b Fixing up occurences of "unsigned long" in the main mps and test code so that we no longer assume that "unsigned long" is large enough for a pointer or size, or that it's the longest available integer type, since these are not true on 64-bit windows.
Copied from Perforce
 Change: 178021
 ServerID: perforce.ravenbrook.com
2012-04-23 16:20:40 +01:00
Richard Kistruck
c62168f5c8 Mps lo pool: correct lowalk loop increment calculation. should fix
AVER(i < j) on line 465 when you call mps_arena_formatted_objects_walk 
when you have objects in an LO pool.

Copied from Perforce
 Change: 159440
 ServerID: perforce.ravenbrook.com
2006-06-28 14:55:51 +01:00
Richard Kistruck
09cf54c122 Split-asserts: where an aver or checkl has two failure modes combined
with &&, split it into two AVERs or CHECKLs.  

Copied from Perforce
 Change: 155170
 ServerID: perforce.ravenbrook.com
2005-09-30 10:50:48 +01:00
Richard Brooksby
32f1a93a6a Fixed various tagging and cross-referencing errors.
Copied from Perforce
 Change: 30455
 ServerID: perforce.ravenbrook.com
2002-06-24 13:16:30 +01:00
Richard Brooksby
78ef580722 Eliminating "impl" type tags and replacing them with uri-style file references.
Copied from Perforce
 Change: 29900
 ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
97075f7053 Updating cross references to design documents to html style, to go with master/design document tree.
Copied from Perforce
 Change: 29897
 ServerID: perforce.ravenbrook.com
2002-06-07 16:47:14 +01:00
Richard Brooksby
a0f676c8e1 Adding forward reference to licenses from copyright notices.
Adding licenses to a couple of files I missed.

Copied from Perforce
 Change: 29837
 ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00
Richard Brooksby
4301a6db0a Adding licenses to source code files.
Copied from Perforce
 Change: 29836
 ServerID: perforce.ravenbrook.com
2002-06-06 11:44:23 +01:00
Nick Barnes
c3a928aa1e Make awl (and lo) work with auto-header formats.
New test awluthe, based on awlut, using auto-header format in AWL
and LO.  Seems to work.  Not the greatest test ever.

Copied from Perforce
 Change: 28076
 ServerID: perforce.ravenbrook.com
2002-04-11 15:10:37 +01:00
Nick Barnes
db4b3a6fa5 Remove trailing whitespace.
Copied from Perforce
 Change: 25309
 ServerID: perforce.ravenbrook.com
2001-12-17 15:18:17 +00:00
Richard Brooksby
c0bb4cd3cd Removing hopenames from the master sources.
This change will be integrated but ignored (-ay) to the gg-epcore/union sources, so that they retain HopeNames.

Copied from Perforce
 Change: 24911
 ServerID: perforce.ravenbrook.com
2001-12-07 13:19:25 +00:00
Richard Brooksby
3d5e2ca85f Adding hopenames back into the master sources, so that they can be included in the union sources along with the id keywords.
This was achieved by partially undoing changelist 24817, including an accidental corruption of eventgen.pl.

Copied from Perforce
 Change: 24877
 ServerID: perforce.ravenbrook.com
2001-12-06 18:14:02 +00:00
Richard Brooksby
b824e1c406 Updating copyright messages to say copyright 2001 ravenbrook throughout.
Adding some missing copyright messages.

Copied from Perforce
 Change: 24818
 ServerID: perforce.ravenbrook.com
2001-12-05 16:18:43 +00:00
Richard Brooksby
2589307099 Changing hopename keywords to id keywords throughout, to work with perforce.
Copied from Perforce
 Change: 24817
 ServerID: perforce.ravenbrook.com
2001-12-05 16:05:52 +00:00
Richard Brooksby
492dd3c684 Merging changes from union to masters. this incorporates pekka's updates: tuning and a type in amcsshe.c and some adding some missing checks in arenavm.c. it also brings our cope of their hopenames up to date.
Copied from Perforce
 Change: 24815
 ServerID: perforce.ravenbrook.com
2001-12-05 15:48:24 +00:00
Nick Barnes
7acfca905d Branch imports for masters.
Copied from Perforce
 Change: 23678
 ServerID: perforce.ravenbrook.com
2001-10-31 14:40:56 +00:00
Renamed from mps/src/poollo.c (Browse further)