Gareth Rees
866efe7c51
Avoid "declaration of 'cons' shadows a global declaration" error from gcc.
...
Copied from Perforce
Change: 188248
ServerID: perforce.ravenbrook.com
2015-09-04 18:47:16 +01:00
Gareth Rees
fec62a3e2c
First draft of tagged pointer test case (runs, but doesn't test anything yet).
...
Copied from Perforce
Change: 188244
ServerID: perforce.ravenbrook.com
2015-09-04 16:51:59 +01:00
Gareth Rees
89f6a017bc
Fix compilation on lii6.
...
Copied from Perforce
Change: 188235
ServerID: perforce.ravenbrook.com
2015-09-04 12:35:34 +01:00
Gareth Rees
5af0bf9f01
Correct type for rootcreateregmasked.
...
Copied from Perforce
Change: 188233
ServerID: perforce.ravenbrook.com
2015-09-04 12:28:49 +01:00
Gareth Rees
ea6250898a
New function mps_root_create_reg_masked applies a mask and pattern test to all words in registers and on the stack when scanning them. this supports tagged references in these locations.
...
Consistently use the type "Word *" for pointers into the stack or into saved registers.
Remove TraceScanAreaTagged.
Copied from Perforce
Change: 188231
ServerID: perforce.ravenbrook.com
2015-09-04 12:22:03 +01:00
Gareth Rees
b7cf9d1ba9
Fix broken link to design/thread-safety
...
Copied from Perforce
Change: 188158
ServerID: perforce.ravenbrook.com
2015-08-21 11:20:20 +01:00
Gareth Rees
a4beea6f11
Prefer avert(type, value) to aver(typecheck(value)).
...
Copied from Perforce
Change: 188157
ServerID: perforce.ravenbrook.com
2015-08-21 11:14:27 +01:00
Gareth Rees
c8644421da
Merge branch/2015-08-10/arena-create into the master sources.
...
Copied from Perforce
Change: 188144
ServerID: perforce.ravenbrook.com
2015-08-14 10:57:06 +01:00
Gareth Rees
008ac14cdb
Improve organization and naming of arena's free land initialization and finish code, following review by nb < https://info.ravenbrook.com/mail/2015/08/11/15-52-34/0/ >.
...
Copied from Perforce
Change: 188143
ServerID: perforce.ravenbrook.com
2015-08-14 10:30:16 +01:00
Gareth Rees
2b0baf899a
Address review comments from nb in < https://info.ravenbrook.com/mail/2015/08/10/15-57-46/0/ >
...
Copied from Perforce
Change: 188115
ServerID: perforce.ravenbrook.com
2015-08-10 18:55:16 +01:00
Gareth Rees
a834298be6
Tear down arena correctly if controlinit fails.
...
Copied from Perforce
Change: 188100
ServerID: perforce.ravenbrook.com
2015-08-10 11:43:17 +01:00
Gareth Rees
c966e6c33e
Correct the test for too-small client arena sizes.
...
Add automated test case for client arenas with small sizes.
Copied from Perforce
Change: 188099
ServerID: perforce.ravenbrook.com
2015-08-10 11:41:58 +01:00
Gareth Rees
84347b9bbe
Merge branch/2014-09-29/reserved into the master sources.
...
Copied from Perforce
Change: 188090
ServerID: perforce.ravenbrook.com
2015-08-07 16:33:43 +01:00
Gareth Rees
9863533bfc
The primary chunk is always the last chunk to be removed, so assert that. review suggestion from rb; see < https://info.ravenbrook.com/mail/2015/08/07/13-56-51/0/ >
...
Copied from Perforce
Change: 188089
ServerID: perforce.ravenbrook.com
2015-08-07 16:14:50 +01:00
Richard Brooksby
a555f2d348
Clarifying situations in which arenaaccess might find the barrier already down. see < https://info.ravenbrook.com/mail/2015/07/14/15-08-55/0/ >.
...
Copied from Perforce
Change: 188033
ServerID: perforce.ravenbrook.com
2015-07-14 17:18:00 +01:00
Gareth Rees
413a36fbcf
Fix comment (function is named vmarenamap, not vmarenamap).
...
Copied from Perforce
Change: 187965
ServerID: perforce.ravenbrook.com
2015-06-19 12:01:01 +01:00
Gareth Rees
7aa39ee1b7
The table of references passed to mps_root_create_table must be word-aligned.
...
Explain why mps_root_create_fmt doesn't check the alignment of base and limit.
Copied from Perforce
Change: 187947
ServerID: perforce.ravenbrook.com
2015-06-15 22:12:42 +01:00
Gareth Rees
b964293c36
The stack pointer passed to mps_root_create_reg must be word-aligned.
...
Copied from Perforce
Change: 187946
ServerID: perforce.ravenbrook.com
2015-06-15 22:11:48 +01:00
Gareth Rees
7cc3d6c9db
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
9c79d09d0c
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
8e721094a4
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
7ff6169818
Fix cross-references.
...
Copied from Perforce
Change: 187791
ServerID: perforce.ravenbrook.com
2015-03-19 10:59:38 +00:00
Gareth Rees
aba1b6befd
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
04b5c3db4e
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
acd89ab578
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
60fc29f4b5
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
f1030073d4
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
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
2dc79898eb
Check that sparsearraymap makes some (or no) progress.
...
Copied from Perforce
Change: 187465
ServerID: perforce.ravenbrook.com
2014-11-06 10:56:45 +00:00
Gareth Rees
e2e51376f9
Assert that sparsearrayunmap made some (or no) progress.
...
Copied from Perforce
Change: 187464
ServerID: perforce.ravenbrook.com
2014-11-06 10:51: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