Richard Brooksby
9da5d74f1c
Fixing build for windows.
...
Copied from Perforce
Change: 189215
ServerID: perforce.ravenbrook.com
2016-02-16 11:40:17 +00:00
Richard Brooksby
7e04c0f137
Fixing build for os x.
...
Copied from Perforce
Change: 189210
ServerID: perforce.ravenbrook.com
2016-02-16 00:55:23 +00:00
Richard Brooksby
553093f3ed
Documenting thread root registration functions.
...
Copied from Perforce
Change: 189207
ServerID: perforce.ravenbrook.com
2016-02-16 00:34:10 +00:00
Richard Brooksby
525e7dc95b
Making mps_root_create_thread a convenience function for the common case.
...
Copied from Perforce
Change: 189205
ServerID: perforce.ravenbrook.com
2016-02-15 23:30:12 +00:00
Richard Brooksby
6da9d98d98
Using an array rather than a stack for tagtest to get reliable results.
...
Copied from Perforce
Change: 189204
ServerID: perforce.ravenbrook.com
2016-02-15 19:42:44 +00:00
Richard Brooksby
8140fab4dd
Creating general mps_root_create_thread and renaming mps_root_create_stack as a specialised version of it, mps_root_create_thread_tagged.
...
Copied from Perforce
Change: 189198
ServerID: perforce.ravenbrook.com
2016-02-15 19:12:59 +00:00
Richard Brooksby
a759889048
Reimplementing mps_root_create_reg in terms of rootcreatethreadtagged and abolishing rootreg. yay!
...
Copied from Perforce
Change: 189197
ServerID: perforce.ravenbrook.com
2016-02-15 18:19:30 +00:00
Richard Brooksby
53ce574bfe
Renaming rootreg_masked to rootthread_tagged with corresponding changes to other identifiers.
...
Copied from Perforce
Change: 189196
ServerID: perforce.ravenbrook.com
2016-02-15 17:57:06 +00:00
Richard Brooksby
2ad27f73b1
Lifting stack and register area scanner into mps interface to allow generalisation of stack format.
...
Copied from Perforce
Change: 189195
ServerID: perforce.ravenbrook.com
2016-02-15 17:46:45 +00:00
Richard Brooksby
9d0ae49fc9
Fixing case label indents.
...
Copied from Perforce
Change: 189194
ServerID: perforce.ravenbrook.com
2016-02-15 17:32:12 +00:00
Richard Brooksby
b04dbd8677
Generalising roottable to rootarea and using it to implement mps_root_create_table_* and mps_root_create_area.
...
Copied from Perforce
Change: 189193
ServerID: perforce.ravenbrook.com
2016-02-15 17:30:45 +00:00
Richard Brooksby
3b33c0808b
Generalising roottable_masked to rootarea_tagged and lifting scanner assumption.
...
Copied from Perforce
Change: 189192
ServerID: perforce.ravenbrook.com
2016-02-15 16:56:42 +00:00
Richard Brooksby
6b7c5f3d74
Lifting assumptions about area scanners closer to interface.
...
Copied from Perforce
Change: 189191
ServerID: perforce.ravenbrook.com
2016-02-15 16:46:09 +00:00
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