MPS issue job004158

TitleRegister scanning approach is not reliable
Statusopen
Priorityessential
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionFilip Strömbäck reports [1] that setjmp is not a reliable method of spilling registers onto the stack.
AnalysisThe analysis we gave in design.mps.sol.setjmp.justify [2] is not correct. A compiler can arrange for longjmp to reconstruct the registers using (for example) debug information, and so avoid the need to spill all the registers to the jump buffer.
How foundcustomer
Evidence[1] https://info.ravenbrook.com/mail/2019/05/20/13-08-23/0/
[2] https://www.ravenbrook.com/project/mps...r/design/stack-scan#.sol.setjmp.justify
Created byGareth Rees
Created on2019-06-04 11:43:26
Last modified byGareth Rees
Last modified on2019-06-04 11:43:26
History2019-06-04 GDR Created.