MPS issue job003523

TitleAccessing to weak tables on 64-bit causes them to be scanned.
Statusopen
Priorityoptional
Assigned userDavid Lovemore
OrganizationRavenbrook
DescriptionThere is no instruction emulation on 64-bit so accessing weak tables causes them to be scanned.
AnalysisTesting instruction stepping is a tricky subject, and so I have avoided putting in instruction emulation into 64-bit.

Observing access exceptions in 64-bit code shows that the instructions are often 'cmp' or 'inc', where even on 32-bit we only cope with simple forms of mov instruction. This was OK for the dylan compiler where the forms of instruction were tightly limited by the compiler, but might not be good enough in general.

It is possible we ought to be using soft write and read barriers for weak table access anyway, because of the cost of causing an exception.

See also job003352 (duplicate).
How foundunknown
EvidenceTo be investigated.
Observed in1.111.0
Created byDavid Lovemore
Created on2013-06-18 13:44:43
Last modified byGareth Rees
Last modified on2013-09-07 18:47:41
History2013-06-18 DL Created.