Gareth Rees
9e042f8580
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
f1fc0a8e6e
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
1f66a0df6c
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
0b934dbe69
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
d0ae2f62ae
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
d5ea0fb20b
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
2efed004c6
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
cc07c81ffc
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
658d82053d
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
c3daf74967
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
fb83e75c0b
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
7be8c5067b
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
c314edabfd
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
0f0435b710
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
169aaf972f
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
8a094c1bf7
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
1b010bdd9d
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
72a38afb68
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
d4b8907389
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
0c42e3aa23
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
7db46bbb3f
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
5afa5a492b
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
bef2871a1a
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
0ff9acf5ff
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
4348937862
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
7b8e8aa4e1
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
8c3e1f4d6c
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
ae4328ad5a
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
6959f52a97
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
05ac242c57
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
51a264446a
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
00229b0479
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
f3cf67c792
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
88ca7174e7
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
3e5e2f2595
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
e6ce992ef2
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
83a93881a2
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
b1dd12faaa
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
ae41e87726
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
044a130da2
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
c968255f1e
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
655e78f3be
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
21f6addf6c
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
1f517274f3
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
7c2e271e60
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
64625eee6e
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
716bb331b9
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
7f970f93ed
Better encapsulation of test state.
...
Copied from Perforce
Change: 187054
ServerID: perforce.ravenbrook.com
2014-09-26 21:34:55 +01:00
Gareth Rees
6a5047ffe3
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
a12938b874
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