Gareth Rees
60b4e0639b
Force stackhot not to be inlined, avoiding the problem described in < https://info.ravenbrook.com/mail/2018/07/11/09-48-49/0/ >
...
Copied from Perforce
Change: 194577
2018-07-11 10:57:28 +01:00
Richard Brooksby
f14c66ed54
Removing incorrect assertion the stack pointers are word aligned.
...
Updating comments to refer to tags within design documents.
Copied from Perforce
Change: 189639
ServerID: perforce.ravenbrook.com
2016-03-04 13:58:53 +00:00
Richard Brooksby
57cec90d6a
Renaming design.mps.ss to design.mps.stack-scan.
...
Copied from Perforce
Change: 189607
ServerID: perforce.ravenbrook.com
2016-03-04 11:54:19 +00:00
Richard Brooksby
f2593def0a
Really removing unnecessary stack alignment assumption from stackscan.
...
Copied from Perforce
Change: 189601
ServerID: perforce.ravenbrook.com
2016-03-04 11:25:59 +00:00
Richard Brooksby
275adfe651
Storing the pointer to the stack frame where setjmp was invoked, rather than the address of the jump buffer, as the hot end of the mutator state, because callee-save registered might be stored on either side of the jump buffer by the compiler.
...
Removing the unnecessary assumption that the stack ends are word-aligned.
Copied from Perforce
Change: 189582
ServerID: perforce.ravenbrook.com
2016-03-03 17:12:43 +00:00
Richard Brooksby
883f73fc04
Scanning the whole stack context on every platform using portable code, because on no platform can we assume that any registers never contain references.
...
Copied from Perforce
Change: 189570
ServerID: perforce.ravenbrook.com
2016-03-03 02:10:58 +00:00
Richard Brooksby
f11eb2ef8c
Catch-up merge from master sources to branch/2014-10-26/sc.
...
Includes hairy merging of stack manipulation code and may need further work on each platform.
Copied from Perforce
Change: 189545
ServerID: perforce.ravenbrook.com
2016-03-02 17:55:25 +00:00
Richard Brooksby
3c6ee3d589
Fixing location of assumptions about descending stack that had gone astray.
...
Copied from Perforce
Change: 189534
ServerID: perforce.ravenbrook.com
2016-03-02 10:32:46 +00:00
Richard Brooksby
07a1290f3e
Eliminating closure_size from area scanners and root registration functions, as it isn't all that useful.
...
Copied from Perforce
Change: 189491
ServerID: perforce.ravenbrook.com
2016-03-01 15:59:06 +00:00
Richard Brooksby
266228be7c
Renaming "bottom" and "top" of stack to "cold" and "hot" end, to prevent confusion about descending stacks.
...
Correcting design documentation relating to stacks.
Referencing hot and cold end concepts from glossary entry for control stacks.
Copied from Perforce
Change: 189320
ServerID: perforce.ravenbrook.com
2016-02-18 23:49:58 +00:00
Richard Brooksby
0f8bee3762
Detabifying code and restructuredtext files.
...
Copied from Perforce
Change: 189309
ServerID: perforce.ravenbrook.com
2016-02-18 19:58:13 +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
c8fed5bb8d
Renaming tracescanareamasked to tracescanareatagged
...
Copied from Perforce
Change: 189133
ServerID: perforce.ravenbrook.com
2016-02-11 20:39:57 +00: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
04ab8c96c0
Fix tags.
...
Copied from Perforce
Change: 188117
ServerID: perforce.ravenbrook.com
2015-08-10 20:01:37 +01:00
Gareth Rees
b1b3863e8a
Address review comments from rb in < https://info.ravenbrook.com/mail/2015/08/07/14-48-14/0/ >
...
Copied from Perforce
Change: 188112
ServerID: perforce.ravenbrook.com
2015-08-10 17:22:31 +01:00
Gareth Rees
ba98e611a4
Fix typo; document the assumptions used by stackscan.
...
Copied from Perforce
Change: 187428
ServerID: perforce.ravenbrook.com
2014-10-31 15:19:49 +00:00
Gareth Rees
45db0ef1bf
Better cross-reference.
...
Copied from Perforce
Change: 187426
ServerID: perforce.ravenbrook.com
2014-10-31 15:10:00 +00:00
Gareth Rees
87eeceac03
Avoid copying out design into the code -- keep things in one place.
...
No need for a prototype for StackScanInner.
Explain the fragility of the analysis and how we cope with it.
Copied from Perforce
Change: 187425
ServerID: perforce.ravenbrook.com
2014-10-31 15:07:36 +00:00
Gareth Rees
4126fe1d73
Save mutator context on entry to the mps.
...
Copied from Perforce
Change: 187412
ServerID: perforce.ravenbrook.com
2014-10-26 22:18:57 +00:00
Gareth Rees
8b012960dc
Some assertions with && crept back in. split them up so that we get as much information as possible from an assertion failure.
...
Copied from Perforce
Change: 186577
ServerID: perforce.ravenbrook.com
2014-06-13 15:52:50 +01:00
Richard Brooksby
858e4ac0ac
Partial merge of branch/2012-07-23/cet-transform, excluding cet-specific parts.
...
Copied from Perforce
Change: 179309
ServerID: perforce.ravenbrook.com
2012-09-06 17:17:18 +01:00