Richard Brooksby
16bde84a68
Generalising tracescanarea to be a checking wrapper for all area scanners.
...
Copied from Perforce
Change: 189190
ServerID: perforce.ravenbrook.com
2016-02-15 15:44:57 +00:00
Richard Brooksby
a3fdda4678
Lifting and generalising area scanners to allow flexible tagging schemes.
...
Copied from Perforce
Change: 189189
ServerID: perforce.ravenbrook.com
2016-02-15 15:30:08 +00:00
Richard Brooksby
b6be181e15
Lifting area scanners into client-side code.
...
These versions also produce tighter loops under Clang.
Copied from Perforce
Change: 189188
ServerID: perforce.ravenbrook.com
2016-02-14 00:57:28 +00:00
Richard Brooksby
ff6d89c6f9
Fixing undeclared extern warning that caused travis build failure < https://travis-ci.org/ravenbrook/mps/jobs/108651659 >.
...
Adding missing warning flags in Xcode to bring into line with strictness of makefiles and catch the above sooner.
Copied from Perforce
Change: 189143
ServerID: perforce.ravenbrook.com
2016-02-11 23:51:21 +00:00
Richard Brooksby
65c32e5965
Fixing misuse of format header offset to decode tagging. see < https://info.ravenbrook.com/mail/2016/02/11/17-20-12/0/ > point 5.
...
Copied from Perforce
Change: 189134
ServerID: perforce.ravenbrook.com
2016-02-11 21:32:41 +00:00
Richard Brooksby
c8fed5bb8d
Renaming tracescanareamasked to tracescanareatagged
...
Copied from Perforce
Change: 189133
ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00:00
Richard Brooksby
48c5cac4be
Adding tagtest to the list of xcode targets so that it is build for testing.
...
Copied from Perforce
Change: 189132
ServerID: perforce.ravenbrook.com
2016-02-11 20:34:16 +00:00
Richard Brooksby
9c0c184728
Adding mps_root_create_table_tagged as an interface to more generally tagged roots.
...
Deprecating the less general mps_root_create_table_masked.
Copied from Perforce
Change: 189131
ServerID: perforce.ravenbrook.com
2016-02-11 20:28:39 +00:00
Richard Brooksby
a0e001c000
Catch up merge from master sources.
...
Copied from Perforce
Change: 189130
ServerID: perforce.ravenbrook.com
2016-02-10 21:10:25 +00:00
Richard Brooksby
9820e020c2
Improving test output.
...
Copied from Perforce
Change: 189129
ServerID: perforce.ravenbrook.com
2016-02-10 20:42:21 +00:00
Richard Brooksby
f6d3a4f6af
Adding xcode target for tagtest.
...
Copied from Perforce
Change: 189128
ServerID: perforce.ravenbrook.com
2016-02-10 15:42:40 +00:00
Richard Brooksby
8ace24237d
Ensuring landfinish doesn't try treecheck on unmapped memory. see < https://info.ravenbrook.com/mail/2016/02/10/14-42-20/0/ >.
...
Copied from Perforce
Change: 189121
ServerID: perforce.ravenbrook.com
2016-02-10 15:14:21 +00:00
Richard Brooksby
989d78b1f4
Adding description code for rootreg_masked to rootdescribe.
...
Copied from Perforce
Change: 189105
ServerID: perforce.ravenbrook.com
2016-02-04 23:16:17 +00:00
Richard Brooksby
673d651aba
Fixing uninitialised variable warning from gcc 5.2.1.
...
Copied from Perforce
Change: 189069
ServerID: perforce.ravenbrook.com
2016-01-30 19:58:10 +00:00
Richard Brooksby
7203f2f03a
Adding reference to job for improving definalization. see < https://info.ravenbrook.com/mail/2016/01/19/17-09-22/0/ >.
...
Copied from Perforce
Change: 188929
ServerID: perforce.ravenbrook.com
2016-01-20 11:44:28 +00:00
Richard Brooksby
5dccd2e006
Catch-up merge from masters.
...
Copied from Perforce
Change: 188928
ServerID: perforce.ravenbrook.com
2016-01-20 11:04:09 +00:00
Richard Brooksby
0141cc951a
Resolving review issues in < https://info.ravenbrook.com/mail/2016/01/19/11-51-10/0/ >.
...
Improving documentation.
Fixing minor type misuse.
Copied from Perforce
Change: 188922
ServerID: perforce.ravenbrook.com
2016-01-19 16:23:39 +00:00
Richard Brooksby
eac348d664
Catch-up merge from masters.
...
Copied from Perforce
Change: 188921
ServerID: perforce.ravenbrook.com
2016-01-19 16:22:39 +00:00
Gareth Rees
0bebdf5ad1
Need to pass sizeof(mps_word_t) - 1 for the mask argument to get the old behaviour.
...
Copied from Perforce
Change: 188317
ServerID: perforce.ravenbrook.com
2015-09-14 21:17:19 +01:00
Gareth Rees
400c2ab8d1
Test the stack scanning more thoroughly, as suggested by nb in point 4 of < https://info.ravenbrook.com/mail/2015/09/09/16-18-10/0/ >
...
Copied from Perforce
Change: 188315
ServerID: perforce.ravenbrook.com
2015-09-14 20:40:49 +01:00
Gareth Rees
7d43cfa380
Rename mps_root_create_reg_masked to mps_root_create_stack, and deprecate mps_root_create_reg, as suggested in review by nb < https://info.ravenbrook.com/mail/2015/09/09/16-18-10/0/ >.
...
Copied from Perforce
Change: 188312
ServerID: perforce.ravenbrook.com
2015-09-14 20:16:14 +01:00
Nick Barnes
3623e32059
Minor review fixes.
...
Copied from Perforce
Change: 188293
ServerID: perforce.ravenbrook.com
2015-09-09 17:13:00 +01:00
Gareth Rees
394e052f92
Avoid char_bit by using sizeof.
...
Copied from Perforce
Change: 188279
ServerID: perforce.ravenbrook.com
2015-09-07 21:47:49 +01:00
Gareth Rees
0af0dc11ba
Number of tag bits has to depend on the word size.
...
Copied from Perforce
Change: 188270
ServerID: perforce.ravenbrook.com
2015-09-07 15:00:28 +01:00
Gareth Rees
ee40fbe034
Prevent compiler inlining which defeats the test.
...
Copied from Perforce
Change: 188268
ServerID: perforce.ravenbrook.com
2015-09-07 14:23:55 +01:00
Gareth Rees
48465209a2
Complete test case.
...
Copied from Perforce
Change: 188264
ServerID: perforce.ravenbrook.com
2015-09-07 12:40:10 +01:00
Gareth Rees
9b247d33ce
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
bf57e7bc11
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
2255eabfda
Fix compilation on lii6.
...
Copied from Perforce
Change: 188235
ServerID: perforce.ravenbrook.com
2015-09-04 12:35:34 +01:00
Gareth Rees
881c594458
Correct type for rootcreateregmasked.
...
Copied from Perforce
Change: 188233
ServerID: perforce.ravenbrook.com
2015-09-04 12:28:49 +01:00
Gareth Rees
edf30c06b4
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
38f07daa3d
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
1710a3bb97
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
365acce878
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
5f578c7d8a
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
117f50417c
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
66c2645e03
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
afb5ff33c1
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
6359b0ed98
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
b3e8eb2280
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
1a730f9e83
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
0394f40751
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
3c5be3b3a9
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
55b13ab5b5
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
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