1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
Commit graph

23 commits

Author SHA1 Message Date
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