Gareth Rees
1cee8f6bb0
Typo fixes and updates.
...
Copied from Perforce
Change: 187328
ServerID: perforce.ravenbrook.com
2014-10-21 23:42:05 +01:00
Gareth Rees
b77e0d87dd
Add "contributing" section to the manual.
...
Copied from Perforce
Change: 187327
ServerID: perforce.ravenbrook.com
2014-10-21 23:41:02 +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
b4b937a417
Design for the multi-threaded testing module.
...
Copied from Perforce
Change: 187323
ServerID: perforce.ravenbrook.com
2014-10-21 22:45:40 +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
2d6578f527
Fix typo.
...
Copied from Perforce
Change: 187319
ServerID: perforce.ravenbrook.com
2014-10-21 17:10:53 +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
b03655b1a8
Correct the error handling in the mps_fix_call example and in the mps_fix implementation.
...
Copied from Perforce
Change: 187308
ServerID: perforce.ravenbrook.com
2014-10-21 00:27:36 +01:00
Gareth Rees
5d5742d49f
Remove note about mps_ap_create_v since this function is deprecated.
...
Correct the claims about the reserve and commit instruction sequences.
Copied from Perforce
Change: 187307
ServerID: perforce.ravenbrook.com
2014-10-21 00:05:27 +01:00
Gareth Rees
6142dc135b
Correct the example code for creating a virtual memory arena.
...
Copied from Perforce
Change: 187305
ServerID: perforce.ravenbrook.com
2014-10-20 23:39:49 +01:00
Gareth Rees
d37c72bf56
Correct the number of keyword arguments.
...
Copied from Perforce
Change: 187304
ServerID: perforce.ravenbrook.com
2014-10-20 23:34:50 +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
9d0a70b228
Ignore .test directory.
...
Copied from Perforce
Change: 187289
ServerID: perforce.ravenbrook.com
2014-10-19 19:17:45 +01:00
Gareth Rees
fde047753c
Fix intra-design links.
...
Copied from Perforce
Change: 187288
ServerID: perforce.ravenbrook.com
2014-10-19 19:16:31 +01:00
Gareth Rees
80d9a77c05
Fix rest syntax.
...
Copied from Perforce
Change: 187286
ServerID: perforce.ravenbrook.com
2014-10-19 09:39:41 +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
9fff9289af
Bring the discussion of avert up to date (it's not type-safe in the cool variety).
...
Copied from Perforce
Change: 187263
ServerID: perforce.ravenbrook.com
2014-10-14 10:59:58 +01:00
Gareth Rees
c5f2c467df
Oops, revert 187238.
...
Copied from Perforce
Change: 187257
ServerID: perforce.ravenbrook.com
2014-10-13 23:24:38 +01:00
Gareth Rees
c89ce2ba0b
Get the mmqa conerr tests working:
...
* Make sure all the test build and run.
* Add output specifications to the passing tests.
* New testset/conerr runs them all.
Copied from Perforce
Change: 187248
ServerID: perforce.ravenbrook.com
2014-10-13 21:34:12 +01:00
Gareth Rees
4a13898542
Move <stdlib.h> from testlib.c to testlib.h, for the benefit of test cases that need to use malloc.
...
Copied from Perforce
Change: 187247
ServerID: perforce.ravenbrook.com
2014-10-13 21:33:42 +01:00
Gareth Rees
6367f5c299
Get the mmqa argerr tests working:
...
* Make sure all the test build and run.
* Add output specifications to the passing tests.
* New testset/argerr runs them all.
Copied from Perforce
Change: 187245
ServerID: perforce.ravenbrook.com
2014-10-13 18:35:11 +01:00
Gareth Rees
47110d4316
Mmqa test harness improvements:
...
* Don't compile for profiling (not needed at the moment)
* Compile with -Wno-unused -Wno-missing-prototypes on OS X (so that argerr/146.c and similar test cases will build).
* Output conclusion for the first failing result (in alphabetical order), rather than whatever comes out of the hash table first.
* Don't gather symbols from block comments, otherwise we can't specify results like "assertcond = mps_pool_o != NULL" as MMQA will think that mps_pool_o is a missing symbol.
Copied from Perforce
Change: 187244
ServerID: perforce.ravenbrook.com
2014-10-13 18:33:37 +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
b672550acf
Add links to the lisp machine manual.
...
Copied from Perforce
Change: 187227
ServerID: perforce.ravenbrook.com
2014-10-12 23:40:13 +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
42633ca624
Turn off the spare memory on the mvff pool so that it returns freed memory to the arena immediately.
...
Free the initial allocations so that the result determination is accurate.
Copied from Perforce
Change: 187206
ServerID: perforce.ravenbrook.com
2014-10-11 00:57:28 +01:00
Gareth Rees
34c8efce22
Specifying assertcond rather than assertline is likely to be more robust against code changes.
...
Copied from Perforce
Change: 187203
ServerID: perforce.ravenbrook.com
2014-10-10 22:55:48 +01:00
Gareth Rees
18a618cfe1
Need to take spare committed memory into account when checking that memory usage hasn't gone up after a collection.
...
Copied from Perforce
Change: 187202
ServerID: perforce.ravenbrook.com
2014-10-10 22:43:07 +01:00
Gareth Rees
f49ea829b9
In function/45.c, read from ambig[i] to prevent the compiler from optimizing away the array and so allowing p[i] to die.
...
In function/12.c, add a garbage collection to check that the allocation point protocol is being followed. Ensure there's an ambiguous reference to reserved objects before committin them.
Copied from Perforce
Change: 187200
ServerID: perforce.ravenbrook.com
2014-10-10 22:14:22 +01:00
Gareth Rees
90b8c2128f
Use .function for the tag here, because docutils doesn't turn .f into a link.
...
Copied from Perforce
Change: 187198
ServerID: perforce.ravenbrook.com
2014-10-10 19:37:35 +01:00
Gareth Rees
28ceede8dc
Job003495 is fixed, so mmqa test function/171.c now passes.
...
Reduce workload in function/171.c by a factor of 10 so that it completes in a reasonable amount of time.
Copied from Perforce
Change: 187194
ServerID: perforce.ravenbrook.com
2014-10-10 17:35:59 +01:00
Gareth Rees
92fceb127f
Job003739 is fixed, so mmqa test function/51.c passes.
...
Copied from Perforce
Change: 187192
ServerID: perforce.ravenbrook.com
2014-10-10 17:21:36 +01:00
Gareth Rees
8a529f4ba5
There's no such type as mps_count_t, so don't refer to it in the documentation!
...
Copied from Perforce
Change: 187191
ServerID: perforce.ravenbrook.com
2014-10-10 17:17:38 +01:00