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

1889 commits

Author SHA1 Message Date
Gareth Rees
e2d03a9b0e Vmarenagrow now passes on the result code from vmchunkcreate, instead of substituting resresource under the circumstances described in job003899.
Copied from Perforce
 Change: 187489
 ServerID: perforce.ravenbrook.com
2014-11-07 14:04:35 +00:00
Gareth Rees
052f53e367 Use gc_start messages to count collections.
Copied from Perforce
 Change: 187487
 ServerID: perforce.ravenbrook.com
2014-11-07 13:20:49 +00:00
Gareth Rees
3ec4eef485 Use gc_start messages to robustly determine whether a collection started (rather than the unreliable mps_collections).
Copied from Perforce
 Change: 187485
 ServerID: perforce.ravenbrook.com
2014-11-07 10:41:51 +00:00
Gareth Rees
c96e8f0325 Remove redundant pfmdefs from windows makefiles.
Explain how to write a Windows makefile when porting the MPS.

Copied from Perforce
 Change: 187473
 ServerID: perforce.ravenbrook.com
2014-11-06 15:28:40 +00:00
Gareth Rees
497aaf7141 The "remember" parameters to arenaexposeremember is a boolean, not an integer.
Copied from Perforce
 Change: 187467
 ServerID: perforce.ravenbrook.com
2014-11-06 12:03:18 +00:00
Gareth Rees
1a45f8ed9a Rename "testpoll" to "testpollnone" (because the old name was misleading: this tests the configuration *without* polling).
Copied from Perforce
 Change: 187449
 ServerID: perforce.ravenbrook.com
2014-11-02 16:52:52 +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
33367f961c Ssw3i6.asm was deleted in change 179213.
Copied from Perforce
 Change: 187402
 ServerID: perforce.ravenbrook.com
2014-10-26 00:53:45 +01:00
Gareth Rees
31795d3b7b In mpmcheck, assert that stackprobedepth words will fit into a page, so that we find out if design.mps.sp.sol.depth.constraint is ever violated.
Format methods must have bounded stack usage for stack probing to be effective, so document this in the manual (picking the arbitrary value 64 for the bound, which should be more than enough).

Copied from Perforce
 Change: 187382
 ServerID: perforce.ravenbrook.com
2014-10-24 10:54:27 +01:00
Gareth Rees
0975646ca3 Analysis justifying the value of stackprobedepth.
Copied from Perforce
 Change: 187380
 ServerID: perforce.ravenbrook.com
2014-10-24 10:16:28 +01:00
Gareth Rees
3f7593f7bd Complete design.mps.thread-manager and move it from old to current.
Better description of protection mutator context module in the "porting" chapter.
The generic thread manager mustn't assert that there is only one thread -- this would break design.mps.thread-manager.req.register.multi.

Copied from Perforce
 Change: 187354
 ServerID: perforce.ravenbrook.com
2014-10-22 20:42:56 +01:00
Gareth Rees
6c68b07a3d Fix comment and add reference to design.
Copied from Perforce
 Change: 187352
 ServerID: perforce.ravenbrook.com
2014-10-22 20:16:14 +01:00
Gareth Rees
d2ae52e4b8 Use aver(testt) when the arena lock is not held.
Copied from Perforce
 Change: 187351
 ServerID: perforce.ravenbrook.com
2014-10-22 20:14:01 +01:00
Gareth Rees
868ad390e7 Simplify platform makefile for xci6ll.
Copied from Perforce
 Change: 187347
 ServerID: perforce.ravenbrook.com
2014-10-22 13:46:11 +01:00
Gareth Rees
e8b4afc6af Simplify the platform makefile for lii3gc.gmk.
Copied from Perforce
 Change: 187346
 ServerID: perforce.ravenbrook.com
2014-10-22 13:45:20 +01:00
Gareth Rees
dd3fde5342 Simplify the platform makefile on fri3gc. no need for -wno-strict-aliasing any more -- the mps is type-pun clean.
Copied from Perforce
 Change: 187344
 ServerID: perforce.ravenbrook.com
2014-10-22 13:26:53 +01:00
Gareth Rees
feb6427a57 Bring ananmv.nmk up to date.
Copied from Perforce
 Change: 187343
 ServerID: perforce.ravenbrook.com
2014-10-22 13:16:57 +01:00
Gareth Rees
b939dd00bf Simply platform makefiles for lii6gc and lii6ll.
Copied from Perforce
 Change: 187342
 ServerID: perforce.ravenbrook.com
2014-10-22 13:11:29 +01:00
Gareth Rees
0635fa1a05 Bring lock module design up to date.
Copied from Perforce
 Change: 187326
 ServerID: perforce.ravenbrook.com
2014-10-21 23:32:57 +01:00
Gareth Rees
e6fb28764c Rename lockreleasempm to lockrelease. this name was changed because of a clash with a symbol in scriptworks, and that's no longer a concern. see <https://info.ravenbrook.com/project/mps/import/2001-09-27/mminfo/doc/meeting/general/1997-02-19>. if we get symbol name clashes in future, we can try the .name.single strategy, or maybe objcopy --prefix.
Copied from Perforce
 Change: 187322
 ServerID: perforce.ravenbrook.com
2014-10-21 22:35:30 +01:00
Gareth Rees
4a9f32347f Put the protection interface in prot.h, and the stack probe interface into sp.h, to make it easier to write the "porting" chapter of the manual.
Copied from Perforce
 Change: 187316
 ServerID: perforce.ravenbrook.com
2014-10-21 16:44:19 +01:00
Gareth Rees
467f87ff38 Fix comments in the protection implementations (it looks as if these were copied and then not modified) and bring discussion of supported platforms up to date. add file guards where missing.
Copied from Perforce
 Change: 187313
 ServerID: perforce.ravenbrook.com
2014-10-21 15:10:42 +01:00
Gareth Rees
864885397b Fix comment: "mac os x on x86_64 with clang" is xci6ll, not w3i6ll.
Copied from Perforce
 Change: 187311
 ServerID: perforce.ravenbrook.com
2014-10-21 14:24:55 +01:00
Gareth Rees
833a385f0b Remove link to documentation for time facilites on system 8. link was long dead, but available via the internet archive here: <https://web.archive.org/web/20000309161634/http://developer.apple.com/techpubs/mac/osutilities/osutilities-94.html#marker-9-32>
Copied from Perforce
 Change: 187301
 ServerID: perforce.ravenbrook.com
2014-10-20 22:27:09 +01:00
Gareth Rees
3aab86f947 Simplify platform makefiles on windows, using a temporary makefile to work around nmake's lack of variable expansion in string replacement. this means that when adding a new part you no longer need to edit the platform makefiles, just commpre.nmk and commpost.nmk.
Copied from Perforce
 Change: 187299
 ServerID: perforce.ravenbrook.com
2014-10-20 19:15:57 +01: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
00aeff2d49 Call the "contracted" callback before destroying the chunk, as the arena is (briefly) invalid afterwards.
Copied from Perforce
 Change: 187294
 ServerID: perforce.ravenbrook.com
2014-10-20 16:40:32 +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
423bb95e4c Add constant mps_rm_prot_inner and document it.
Copied from Perforce
 Change: 187271
 ServerID: perforce.ravenbrook.com
2014-10-14 22:59:32 +01: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
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
66dfd1a69a Improved assertion messages when a required keyword argument is not found. instead of "unreachable code", the assertion message is the name of the missing key.
Copied from Perforce
 Change: 187267
 ServerID: perforce.ravenbrook.com
2014-10-14 22:05:30 +01:00
Gareth Rees
e185863a15 Check alignment of address given to poolfree.
Copied from Perforce
 Change: 187265
 ServerID: perforce.ravenbrook.com
2014-10-14 16:54:10 +01:00
Gareth Rees
2d27354d20 Use pointeradd to express the condition in mps_commit -- it expands to the same code, and better conveys the intention.
Copied from Perforce
 Change: 187242
 ServerID: perforce.ravenbrook.com
2014-10-13 17:36:44 +01:00
Gareth Rees
bcb1f01827 Check that unitsize and extendby are greater than zero. (zero is a likely argument to pass by accident if you get your varargs wrong.)
Copied from Perforce
 Change: 187241
 ServerID: perforce.ravenbrook.com
2014-10-13 17:35:57 +01:00
Gareth Rees
a56d8411d9 Check arena argument in ldadd, ldmerge and ldisstaleany.
Copied from Perforce
 Change: 187240
 ServerID: perforce.ravenbrook.com
2014-10-13 17:31:50 +01:00
Gareth Rees
e3f6b44cc2 Don't use avert unless the arena lock is held (it's not thread-safe in all varieties). add design explaining this.
Copied from Perforce
 Change: 187238
 ServerID: perforce.ravenbrook.com
2014-10-13 14:36:15 +01:00
Gareth Rees
44df7f7c50 No need to keep mps_ap_s in sync any more: the definition is shared (mpmst.h includes mpslib.h which includes mps.h).
Copied from Perforce
 Change: 187221
 ServerID: perforce.ravenbrook.com
2014-10-12 13:57:31 +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