1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-25 08:12:11 -07:00
Commit graph

185 commits

Author SHA1 Message Date
Gareth Rees
4623be4a03 Rename chain.h to locus.h, for consistency with other modules, where the interface has the same name as the implemention.
Copied from Perforce
 Change: 189682
 ServerID: perforce.ravenbrook.com
2016-03-06 18:56:32 +00:00
Richard Brooksby
3804af1803 Catch-up merge from master sources to branch/2015-09-04/stack.
Copied from Perforce
 Change: 189370
 ServerID: perforce.ravenbrook.com
2016-02-27 00:54:00 +00:00
Richard Brooksby
2333afe92a Merging branch/2015-08-11/policy into master sources.
Copied from Perforce
 Change: 189330
 ServerID: perforce.ravenbrook.com
2016-02-25 21:46:11 +00:00
Richard Brooksby
b929dbbe4c Moving scanning accounting to tracescanarea and creating analogous formatscan.
Copied from Perforce
 Change: 189325
 ServerID: perforce.ravenbrook.com
2016-02-19 12:11:50 +00:00
Gareth Rees
19744dfaec Remove unused variable p1 (broke the build on gcc).
Copied from Perforce
 Change: 187296
 ServerID: perforce.ravenbrook.com
2014-10-20 16:50:02 +01:00
Gareth Rees
c2d6f32919 Remove unused variable obj1pip -- broke the compilation in gcc.
Copied from Perforce
 Change: 187295
 ServerID: perforce.ravenbrook.com
2014-10-20 16:45:45 +01:00
Gareth Rees
00f4c7068d Remove duplicate function amcfix (and rename amcheaderfix to amcfix) so that we don't have the burden of maintaining two copies of this function.
Copied from Perforce
 Change: 187293
 ServerID: perforce.ravenbrook.com
2014-10-20 16:38:54 +01:00
Gareth Rees
7870122c9d Rename locusprefhigh to locusprefhigh and so on, to follow <http://www.ravenbrook.com/project/mps/master/design/guide.impl.c.naming#capital-constant>
Copied from Perforce
 Change: 187283
 ServerID: perforce.ravenbrook.com
2014-10-19 09:19:43 +01:00
Gareth Rees
db203fb12b Amc no longer keeps statistics about pages condemned and retained. if we need this kind of analysis, it would be better to add more telemetry until we can do the analysis offline.
Copied from Perforce
 Change: 187274
 ServerID: perforce.ravenbrook.com
2014-10-14 23:05:56 +01:00
Gareth Rees
e38d608024 Assert if you try to create a pool using a format from another arena, a pool using a chain from another arena, or a root using a thread from another arena.
Copied from Perforce
 Change: 187268
 ServerID: perforce.ravenbrook.com
2014-10-14 22:21:43 +01:00
Gareth Rees
fa29a3a5e0 Amc now asserts that references (unless ambiguous) are aligned to the pool alignment.
Copied from Perforce
 Change: 187162
 ServerID: perforce.ravenbrook.com
2014-10-08 21:13:34 +01:00
Gareth Rees
5f35b7f792 Use the method suffix only for methods in classes; use visitor or function for other kinds of functions.
New document guide.impl.c.naming sets out the rules for naming.

Copied from Perforce
 Change: 187159
 ServerID: perforce.ravenbrook.com
2014-10-07 23:48:55 +01:00
Gareth Rees
39e8b866cf Rename mps_class_t to mps_pool_class_t for clarity.
Retain a typedef for mps_class_t for backwards compatibility.

Copied from Perforce
 Change: 187065
 ServerID: perforce.ravenbrook.com
2014-09-27 13:37:38 +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
e50fdb0f73 Instead of creating one padding object for each reclaimed object in a nailed amc segment, create a padding object for each contiguous run of reclaimed objects, speeding up any future traversals of the segment.
Copied from Perforce
 Change: 186812
 ServerID: perforce.ravenbrook.com
2014-07-03 20:56:18 +01:00
Gareth Rees
36eff1fb48 Emit the amcfixforward event after forwarding the object, so that the newref parameter is in fact the new location (rather than constantly 0, as before).
Copied from Perforce
 Change: 186809
 ServerID: perforce.ravenbrook.com
2014-07-03 19:18:22 +01:00
Gareth Rees
78507d9df6 Ensure that the amcss test case uses a wide range of arena grain sizes (by scaling up the whole allocation).
Remove hack from rnd_grain -- this was covering up a bug.
Base the AMC "large" segment determination on the requested object size, not the (rounded up) segment size.
Assert in the case where largeSize < extendBy: this has bad space performance.

Copied from Perforce
 Change: 186755
 ServerID: perforce.ravenbrook.com
2014-06-30 16:07:09 +01:00
David Lovemore
3b97cae580 Catch up merge from master/...@186577
Copied from Perforce
 Change: 186582
 ServerID: perforce.ravenbrook.com
2014-06-13 16:38:20 +01:00
Gareth Rees
1b7de24015 Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
Copied from Perforce
 Change: 186577
 ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Gareth Rees
bf97a59af1 Catch-up merge from master sources @186564 to branch/2014-06-11/grain.
Copied from Perforce
 Change: 186572
 ServerID: perforce.ravenbrook.com
2014-06-13 15:30:46 +01:00
David Lovemore
bd05f7d321 Updated due to gdr's review comments in mail <https://info.ravenbrook.com/mail/2014/06/13/12-46-29/0/>
Copied from Perforce
 Change: 186569
 ServerID: perforce.ravenbrook.com
2014-06-13 15:09:49 +01:00
David Lovemore
be87f69167 Remove requirement that mps_key_extend_by argument to amc is aligned to arena alignment.
Copied from Perforce
 Change: 186557
 ServerID: perforce.ravenbrook.com
2014-06-13 12:19:26 +01:00
Gareth Rees
266a75b639 Catch-up merge from master sources @186536 to branch/2014-05-15/size.
Copied from Perforce
 Change: 186539
 ServerID: perforce.ravenbrook.com
2014-06-12 16:46:36 +01:00
Gareth Rees
bb44aa1f51 Catch-up merge from master sources @186528 to branch/2014-04-15/mvffnoseg.
Copied from Perforce
 Change: 186534
 ServerID: perforce.ravenbrook.com
2014-06-12 15:59:39 +01:00
Gareth Rees
181fe2d26a Use xyzpool macros systematically as suggested by nb in <https://info.ravenbrook.com/mail/2014/06/11/20-47-37/0/>
Copied from Perforce
 Change: 186529
 ServerID: perforce.ravenbrook.com
2014-06-12 14:25:00 +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
41e2d84377 Rename "arena alignment" to "arena grain size" to avoid confusion with ordinary structure alignment.
Copied from Perforce
 Change: 186503
 ServerID: perforce.ravenbrook.com
2014-06-11 17:13:03 +01:00
Gareth Rees
dbc6f9cd32 Catch-up merge from branch/2014-04-15/mvffnoseg @186485 to branch/2014-05-15/size.
Copied from Perforce
 Change: 186487
 ServerID: perforce.ravenbrook.com
2014-06-11 13:17:14 +01:00
David Lovemore
c14a0e5e3e Amc now respects mps_key_extend_by keyword argument.
AMC also uses MPS_KEY_LARGE_SIZE keyword argument to specify what size objects need to be to live on their own segment.

Copied from Perforce
 Change: 186480
 ServerID: perforce.ravenbrook.com
2014-06-11 12:12:44 +01:00
Gareth Rees
2aa32f236a Remove unneeded variable arena (obsoleted by removal of check on totalsize).
Copied from Perforce
 Change: 186453
 ServerID: perforce.ravenbrook.com
2014-06-09 08:22:12 +01:00
Gareth Rees
f2447e74fd Fix the build on fri3gc.
Copied from Perforce
 Change: 186436
 ServerID: perforce.ravenbrook.com
2014-06-08 15:20:50 +01:00
Gareth Rees
e8bb8ecedb Encapsulate the artifical ageing and reclaiming that's need to ensure that all the memory in a segment is accounted as free. addresses point made by rb in <https://info.ravenbrook.com/mail/2014/06/02/15-43-00/0/>
Copied from Perforce
 Change: 186428
 ServerID: perforce.ravenbrook.com
2014-06-08 13:12:12 +01:00
Gareth Rees
9fb9c2f319 Rename poolgen functions to make it clear that they only handle accounting.
Copied from Perforce
 Change: 186368
 ServerID: perforce.ravenbrook.com
2014-05-30 12:29:42 +01:00
Gareth Rees
d59108f214 Fix problems noted by rb in review <https://info.ravenbrook.com/mail/2014/05/29/16-29-44/0/>.
Copied from Perforce
 Change: 186361
 ServerID: perforce.ravenbrook.com
2014-05-30 10:56:12 +01:00
Gareth Rees
7e345e486f Better fix for the off-by-one error (chaingen already has the topgen logic).
Copied from Perforce
 Change: 186358
 ServerID: perforce.ravenbrook.com
2014-05-29 17:21:51 +01:00
Gareth Rees
2828487364 Fix off-by-one error.
Copied from Perforce
 Change: 186357
 ServerID: perforce.ravenbrook.com
2014-05-29 17:14:32 +01:00
Gareth Rees
6a71a7c730 Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
Copied from Perforce
 Change: 186354
 ServerID: perforce.ravenbrook.com
2014-05-29 15:38:42 +01:00
Gareth Rees
f25bd5b496 Catch-up merge from master sources @186257 to branch/2014-04-23/awl.
Copied from Perforce
 Change: 186263
 ServerID: perforce.ravenbrook.com
2014-05-23 14:13:44 +01:00
Gareth Rees
b2f8c11ebb Catch-up merge from master sources @186174 to branch/2014-04-30/poolgen.
Copied from Perforce
 Change: 186185
 ServerID: perforce.ravenbrook.com
2014-05-19 14:59:19 +01:00
Gareth Rees
16ccef5e2d New public functions mps_pool_total_size and mps_pool_free_size.
Old (undocumented) functions mps_{mv,mvff,mvt}_size and mps_{mv,mvff,mvt}_free_size are now macros for the new public functions.
New pool methods PoolTotalSize and PoolFreeSize, with implementations for public pool classes except SNC.
Coverage of the new functions in apss and mpmss for the manual pool classes, and in finaltest for the automatic pool classes.

Copied from Perforce
 Change: 186118
 ServerID: perforce.ravenbrook.com
2014-05-15 17:01:59 +01:00
Gareth Rees
a4611cb411 Catch-up merge from master sources @186077 to branch/2014-04-23/awl.
Copied from Perforce
 Change: 186110
 ServerID: perforce.ravenbrook.com
2014-05-15 10:17:41 +01:00
Gareth Rees
35985c3587 Catch-up merge from master sources @186035 to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 186040
 ServerID: perforce.ravenbrook.com
2014-05-12 18:42:33 +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
7b9e9ab0d9 Store flags as bitfields to save space in segment structure.
Copied from Perforce
 Change: 185932
 ServerID: perforce.ravenbrook.com
2014-05-01 22:06:47 +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
Gareth Rees
b9ccc0af7a Fix problems identified by dl in <https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/>.
Copied from Perforce
 Change: 185897
 ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00
Gareth Rees
cd099a2aae Better names for poolgen functions.
Accounting for segment splitting and merging.
Accounting for allocation and freeing in segsmss.

Copied from Perforce
 Change: 185894
 ServerID: perforce.ravenbrook.com
2014-04-30 13:49:26 +01:00