MPS issue job003668

TitleStack scanner assumes all references are word-aligned
Assigned userGareth Rees
DescriptionAmbiguous interior references that aren't word-aligned don't result in nails being added to the nailboard.

(Originally reported by NB [2]. Also reported by Christian Schafmeister [3].)
AnalysisThe reason for this is that references on the stack are ignored if they are not word-aligned.

In detail: mps_stack_scan_ambig calls ThreadScan, which calls TraceScanAreaTagged [1] (either directly, or via StackScan and StackScanInner), which sets:

    mask = sizeof(Word) - 1;

and calls TraceScanAreaMasked. RB says that this is legacy behaviour from Dylan.

First, we need to document this behaviour. Second, we need to provide another way to scan the stack that doesn't use this mask, otherwise we'll never be able to support unaligned ambiguous references.
How foundmanual_test
Created byGareth Rees
Created on2014-01-17 16:23:45
Last modified byGareth Rees
Last modified on2016-03-13 00:24:14
History2014-01-17 GDR Created.


Change Effect Date User Description
189541 closed 2016-03-02 16:44:16 Richard Brooksby Merging branch/2015-09-04/stack into master sources.