1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-29 02:02:50 -07:00
Commit graph

1863 commits

Author SHA1 Message Date
Gareth Rees
0eaa42ef7a Demote fixme to todo with reference to job003947.
Copied from Perforce
 Change: 188336
 ServerID: perforce.ravenbrook.com
2015-09-16 20:01:22 +01:00
Gareth Rees
085310c68b Documentation improvements after review.
Copied from Perforce
 Change: 187447
 ServerID: perforce.ravenbrook.com
2014-11-01 11:07:55 +00:00
Gareth Rees
bf6b84879f Expose the segment being padded.
Copied from Perforce
 Change: 187237
 ServerID: perforce.ravenbrook.com
2014-10-13 13:57:02 +01:00
Gareth Rees
850c88c152 Remove framestate type.
Copied from Perforce
 Change: 187234
 ServerID: perforce.ravenbrook.com
2014-10-13 13:40:11 +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
f99f963e81 It's neater to pad out free segments instead of adding a field to the segment structure.
Copied from Perforce
 Change: 187231
 ServerID: perforce.ravenbrook.com
2014-10-13 11:07:16 +01:00
Gareth Rees
d06cf2cb13 Make finaltest more strict so that it catches job003884.
Fix mps_pool_free_size for AWL and LO in the hot variety.

Copied from Perforce
 Change: 187230
 ServerID: perforce.ravenbrook.com
2014-10-13 11:04:30 +01:00
Gareth Rees
b06795251e Fix scanning/walking for snc:
Record which segments are free and don't walk them (objects in these segments are dead).
If a buffered segment has a pending pop, don't scan or walk objects beyond the address that's going to be popped to (these objects are also dead).
Don't try to do a lightweight pop to an address that's not in the segment attached to the buffer -- the segment being popped to (and any other segments on the stack in between) are now dead, and the only way to mark them as being dead is to do a heavyweight pop.

Copied from Perforce
 Change: 187224
 ServerID: perforce.ravenbrook.com
2014-10-12 15:20:57 +01:00
Gareth Rees
7622475a16 Add sncss test case to xcode project.
Copied from Perforce
 Change: 187222
 ServerID: perforce.ravenbrook.com
2014-10-12 13:58:26 +01:00
Gareth Rees
49341c0ad5 Don't set a frame pointer at the limit of a segment, as this is ambiguous: is it at the limit of the segment, or at the base of the segment that's adjacent in memory?
Copied from Perforce
 Change: 187220
 ServerID: perforce.ravenbrook.com
2014-10-12 11:58:13 +01:00
Gareth Rees
531e7cf14d Check that the found segment belongs to the right pool.
Copied from Perforce
 Change: 187219
 ServerID: perforce.ravenbrook.com
2014-10-12 11:20:55 +01:00
Gareth Rees
8bffa21ca9 New test case sncss.
Copied from Perforce
 Change: 187217
 ServerID: perforce.ravenbrook.com
2014-10-11 21:07:29 +01:00
Gareth Rees
cbdf8cc7b7 Make walkt0 test case much more stringent: it now checks the size and count of the objects found in the walk.
Add SNC to the walkt0 test case.

Copied from Perforce
 Change: 187216
 ServerID: perforce.ravenbrook.com
2014-10-11 18:06:05 +01:00
Gareth Rees
77fc63dea3 Add totalsize and freesize methods for snc.
Copied from Perforce
 Change: 187215
 ServerID: perforce.ravenbrook.com
2014-10-11 18:04:05 +01:00
Gareth Rees
1c04adf17b New function dylan_ispad determines if an object is a padding object. (this is for use by test cases, to check that pools have accounted correctly for padding objects.)
Copied from Perforce
 Change: 187214
 ServerID: perforce.ravenbrook.com
2014-10-11 17:56:27 +01:00
Gareth Rees
c76b658f04 Link snc in the file-at-a-time builds, so that they match the mps.c builds.
Copied from Perforce
 Change: 187208
 ServerID: perforce.ravenbrook.com
2014-10-11 12:08:24 +01:00
Gareth Rees
3516d037b1 Fix the definition of mps_key_spare_field so that you can set this keyword argument when creating an mvff pool. add test cases that use this feature.
Copied from Perforce
 Change: 187174
 ServerID: perforce.ravenbrook.com
2014-10-10 12:05:23 +01:00
Gareth Rees
cbe81bf0de Remove call to deprecated macro mps_args_done.
Copied from Perforce
 Change: 187171
 ServerID: perforce.ravenbrook.com
2014-10-10 11:21:22 +01:00
Gareth Rees
f7f4e4a7f0 If you try to create a client arena that's too small for the full complement of zones, return mps_res_memory instead of asserting.
If you try to create a virtual memory arena that's too small for the full complement of zones, round up the size to the minimum instead of asserting.

Copied from Perforce
 Change: 187164
 ServerID: perforce.ravenbrook.com
2014-10-08 22:16:56 +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
23dda3d644 New constant rankmin gives the minimum rank. use this (rather than 0 or rankambig) to better express the intention.
Copied from Perforce
 Change: 187156
 ServerID: perforce.ravenbrook.com
2014-10-07 22:31:12 +01:00
Gareth Rees
fd6dc4124d Remove unused(boot) as boot is not unused.
No need for NOOP -- even without the UNUSED statement above it, an empty block would be legal in C.

Copied from Perforce
 Change: 187147
 ServerID: perforce.ravenbrook.com
2014-10-07 10:20:28 +01:00
Gareth Rees
7996f44ede Rename "page" to "grain" in mvffreduce. use unused_size for an unused closure argument.
Copied from Perforce
 Change: 187140
 ServerID: perforce.ravenbrook.com
2014-10-04 16:09:27 +01:00
Gareth Rees
1014fdc24c Use one step period each run (not four) so that the test completes in a reasonable amount of time in the cool variety, but choose the step period randomly so as to get broader coverage.
Copied from Perforce
 Change: 187130
 ServerID: perforce.ravenbrook.com
2014-10-03 09:30:55 +01:00
Gareth Rees
a8d9fcc694 Design.mps.ring.naming: "when one structure parent contains one ring of child structures, the field in parent is usually known as childring, and the field in child is known as parentring". so the field in chunkstruct should be named arenaring.
Copied from Perforce
 Change: 187084
 ServerID: perforce.ravenbrook.com
2014-09-29 20:54:00 +01:00
Gareth Rees
a501ebf997 Remove unused variables remainderbase and remainderlimit.
Copied from Perforce
 Change: 187082
 ServerID: perforce.ravenbrook.com
2014-09-29 09:55:24 +01:00
Gareth Rees
f8cd40212e Fix bug in event_desc macro introduced in change 187071.
Copied from Perforce
 Change: 187081
 ServerID: perforce.ravenbrook.com
2014-09-29 09:48:47 +01:00
Gareth Rees
fec9fa0bf5 Need "www." in the url, otherwise the fragment identifier gets lost as a result of the redirect.
Copied from Perforce
 Change: 187074
 ServerID: perforce.ravenbrook.com
2014-09-27 23:22:25 +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
2a49e2eeaf Bring ring design up to date (excepting figures).
Add links from design documents to mail messages imported from Harlequin.

Copied from Perforce
 Change: 187067
 ServerID: perforce.ravenbrook.com
2014-09-27 16:11:21 +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
456d747b61 Rename segpref to locuspref -- this structure describes preferences for the placement of any kind of address, not just segments.
Add LocusPrefDescribe and use it in MVFFDescribe.

Copied from Perforce
 Change: 187061
 ServerID: perforce.ravenbrook.com
2014-09-27 11:27:00 +01:00
Gareth Rees
c66d260ec1 Don't return resparam from mps_arena_vm_growth if desired < minimum: this is a static programming error (not a dynamic condition) so aver instead.
Copied from Perforce
 Change: 187057
 ServerID: perforce.ravenbrook.com
2014-09-26 21:55:05 +01:00
Gareth Rees
aaadf9816e Use the nelems macro to compute the size of arrays.
Copied from Perforce
 Change: 187055
 ServerID: perforce.ravenbrook.com
2014-09-26 21:35:25 +01:00
Gareth Rees
b2074ec976 Better encapsulation of test state.
Copied from Perforce
 Change: 187054
 ServerID: perforce.ravenbrook.com
2014-09-26 21:34:55 +01:00
Gareth Rees
bd1ef83256 Clarify the comment for arenacollect, following suggestion by bruce mitchener <https://github.com/ravenbrook/mps-temporary/pull/5>
Copied from Perforce
 Change: 186981
 ServerID: perforce.ravenbrook.com
2014-08-25 14:47:12 +01:00
Gareth Rees
2629ed7162 Clarify the comment for arenapark, following suggestion by bruce mitchener <https://github.com/ravenbrook/mps-temporary/pull/5>
Copied from Perforce
 Change: 186966
 ServerID: perforce.ravenbrook.com
2014-08-19 12:01:12 +01:00
Gareth Rees
77f35a9979 Fix problems identified by nb in review <https://info.ravenbrook.com/mail/2014/07/24/12-21-04/0/>.
Copied from Perforce
 Change: 186945
 ServerID: perforce.ravenbrook.com
2014-08-06 16:18:34 +01:00
David Lovemore
8065c94d8c Fix parameter names in prototype of sparsearrayinit().
Copied from Perforce
 Change: 186884
 ServerID: perforce.ravenbrook.com
2014-07-14 16:24:27 +01:00
Gareth Rees
c143714c45 Update version numbers after release 1.114.0.
Copied from Perforce
 Change: 186852
 ServerID: perforce.ravenbrook.com
2014-07-07 15:25:56 +01:00
Gareth Rees
b799f68e8a Can't call funcheck outside of aver because funcheck is not available in the rash variety.
Copied from Perforce
 Change: 186836
 ServerID: perforce.ravenbrook.com
2014-07-04 17:25:33 +01:00
David Lovemore
6b47c948ce set control_extend_by to 32768.
The CONTROL_EXTEND_BY value for the extend by on the control pool was set really small (4096) on the assumption that the control pool was not heavily used. However, since we allocate Seg's in the control pool and recycle them frequently, this assumption is no longer true.

Copied from Perforce
 Change: 186832
 ServerID: perforce.ravenbrook.com
2014-07-04 15:27:48 +01:00
Gareth Rees
77a7bbbf39 Don't repeat generation sizes in the comments (they could get out of sync).
Copied from Perforce
 Change: 186827
 ServerID: perforce.ravenbrook.com
2014-07-04 13:58:34 +01:00
David Lovemore
9beee4a193 Adjust generation sizes for the default chain.
Add release note recommending retuning of generation sizes.

Copied from Perforce
 Change: 186824
 ServerID: perforce.ravenbrook.com
2014-07-04 13:32:45 +01:00
Gareth Rees
1616934c81 Fix event clock output on windows.
Copied from Perforce
 Change: 186822
 ServerID: perforce.ravenbrook.com
2014-07-04 11:31:13 +01:00
Gareth Rees
8df66de674 Parse and print 64-bit clock values even on 32-bit platforms.
Copied from Perforce
 Change: 186814
 ServerID: perforce.ravenbrook.com
2014-07-03 22:40:25 +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