Gareth Rees
5cf97c8aba
Explain why ldadd and ldisstale don't check that the address belongs to the arena, and don't check the alignment of the address.
...
Copied from Perforce
Change: 187945
ServerID: perforce.ravenbrook.com
2015-06-15 22:10:19 +01:00
Gareth Rees
3cf8519b72
If mvinit fails, ensure that its block pool is finished.
...
Copied from Perforce
Change: 187940
ServerID: perforce.ravenbrook.com
2015-06-15 18:11:32 +01:00
Gareth Rees
3f28170688
Use testrun -s suite when running from xcode.
...
Copied from Perforce
Change: 187938
ServerID: perforce.ravenbrook.com
2015-06-15 17:20:27 +01:00
Gareth Rees
09c5c1031f
Fix cross-references.
...
Copied from Perforce
Change: 187791
ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
8a16ef48eb
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187788
ServerID: perforce.ravenbrook.com
2015-03-18 20:54:28 +00:00
Gareth Rees
a6ca2d9e52
Todo was done: replace it with cross-reference to design.
...
Copied from Perforce
Change: 187787
ServerID: perforce.ravenbrook.com
2015-03-18 20:49:59 +00:00
Gareth Rees
ca8c2ae824
Merge commpre.nmk and commpost.nmk into comm.nmk.
...
Copied from Perforce
Change: 187528
ServerID: perforce.ravenbrook.com
2014-11-29 16:43:45 +00:00
Gareth Rees
1ba6b0814d
Testrun.sh now takes the suite via the -s option. this means that you can run a single test case.
...
testrun.sh now takes a "runner" via the -r option. You can pass something like "noaslr" to run all the test cases with ASLR turned off.
Copied from Perforce
Change: 187496
ServerID: perforce.ravenbrook.com
2014-11-08 10:05:05 +00:00
Gareth Rees
0b1bec15f8
Count the number of calls to make, for help with setting watchpoints.
...
Copied from Perforce
Change: 187491
ServerID: perforce.ravenbrook.com
2014-11-07 14:52:26 +00:00
Gareth Rees
9b452d00cc
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
a7b32f4efc
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
adb6631e7e
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
c3ca6e36d1
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
5315baa846
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
70f065f187
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
df5f53ba08
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
c1fe4521a2
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
e00ab0e31b
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
a960f642f1
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
0d75f05cd3
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
3c634eb2fa
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
7de068c21b
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
72ddb8ec6e
Simplify platform makefile for xci6ll.
...
Copied from Perforce
Change: 187347
ServerID: perforce.ravenbrook.com
2014-10-22 13:46:11 +01:00
Gareth Rees
f07fbd9c15
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
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